include_directories(${CMAKE_CURRENT_SOURCE_DIR}${CMAKE_CURRENT_BINARY_DIR}${CMAKE_CURRENT_SOURCE_DIR}/include) Linux下还可以通过如下方式设置包含的目录 set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -I${CMAKE_CURRENT_SOURCE_DIR}") 7. 设置链接库搜索目录 link_directories(${CMAKE_CURRENT_SOURCE_D...
执行cmake命令的目录, 通常是${PROJECT_SOURCE_DIR}/build (3) CMAKE_CURRENT_SOURCE_DIR 当前处理的CMakeLists.txt所在路径 (4) CMAKE_CURRENT_BINARY_DIR target编译目录, 使用ADD_SUBDIRECTORY(src bin)可以更改此变量的值, SET(EXECUTABLE_OUTPUT_PATH <新路径 > ) 并不会对此变量有影响, 只是改变了最终...
set(CMAKE_CXX_FLAGS "$ENV{CFLAGS} -O2 -Wall -pthread -std=c++11 -std=gnu++11") #CMAKE_CURRENT_SOURCE_DIR:CMakeLists.txt所在目录的绝对路径 #设置头文件路径 编译时会自动到这些路径下去找头文件 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) include_directories(${GEN_DEST}/include...
这个指令隐式的定义了两个 cmake 变量:<projectname>_BINARY_DIR以及<projectname>_SOURCE_DIR,如果采用的是内部编译,两个变量指的将是工程所在的路径,如果是外部编译,两者所指代的内容会有所不同。同时 cmake 系统也预定义了PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR变量,它们的值分别跟<projectname>_BINARY_DIR...
set(include_dir ${CMAKE_CURRENT_SOURCE_DIR}/include) //"MESSAGE"用来打印信息,包括变量的值 MESSAGE(STATUS "include folder: " ${include_dir}) //"option"用来定义宏,"ON"表示打开,"OFF"表示关闭 option (USE_MYMATH "Use tutorial provided math implementation" ON) ...
add_executable(main ${CMAKE_CURRENT_SOURCE_DIR}/samples/sample_add.cpp) target_link_libraries(main add) # add库在build/source目录下,此add库由source目录下的CMakeLists.txt生成 1. 2. 3. 4. 5. source目录下的CMakeLists.txt文件内容如下: ...
TARGET_LINK_LIBARRIES(hello ${CAMKE_CURRENT_CURRENT_SOURCE_DIR}/lib/libhello_shared.so) 例子:hello_world (1)编写hello_world.cpp源文件和CMakeLists.txt文件 (2)在当前路径下执行cmake . 命令,可以发现生成了CMakeFiles文件夹和CMakeCache.txt, cmake_install.cmake, Makefile文件 ...
CMAKE_CURRENT_SOURCE_DIR 指的是当前处理的 CMakeLists.txt 所在的路径,比如上面我们提到的 src 子目录。 CMAKE_CURRRENT_BINARY_DIR 如果是 in-source 编译,它跟 CMAKE_CURRENT_SOURCE_DIR 一致,如果是 out-of-source 编译,他指的是 target 编译目录。
if (${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) message (FATAL_ERROR "CMake generation is not allowed within the source directory! Remove the CMakeCache.txt file and try again from another folder, e.g.: rm CMakeCache.txt mkdir cmake-make cd cmake-make ...
本文将详细解析CMakeLists.txt文件的编写语法规则,帮助读者轻松搞定CMake。 一、基本结构 CMakeLists.txt文件通常包含以下几个部分: cmake_minimum_required:指定所需的CMake最低版本。 cmake_minimum_required (VERSION 3.10) project:定义项目名称和可选的语言。 project (MyProject VERSION 1.0 LANGUAGES CXX) ...