为了更细致地控制包含路径,推荐使用target_include_directories而不是include_directories。target_include_directories允许你为每个目标单独指定包含路径,这样可以避免不同目标之间的包含路径冲突。 # 错误的做法 add_executable(my_app main.cpp) include_directories(/path/to/include) # 正确的做法 include_directories(/...
file(GLOB <variable> [LIST_DIRECTORIES true[false]] [RELATIVE <path> ] [CONFIGURE_DEPENDS] [<globbing-expression> ...]) LIST_DIRECTORIES true[false]: 如果为false,目录将会被省略,默认情况下返回是带目录 RELATIVE <path>: 相对路径<path> 返回的结果将不是绝对路径,而是将绝对路径中的<path>部分去...
# Possibly, this is subdirectory 'SDL2' of a "normal" include directory. find_path(SDL2_INCLUDE_DIR_1 "begin_code.h" PATH_SUFFIXES "SDL2") 将用包含头begin_code.h的目录填充变量SDL2_INCLUDE_DIR_1。 如果用CMAKE_PREFIX_PATH变量提示CMake安装SDL2,这种方法在本地安装的情况下非常有效。为了...
cmake_minimum_required (VERSION2.6) INCLUDE_DIRECTORIES(../../thirdparty/comm) FIND_LIBRARY(COMM_LIB comm ../../thirdparty/comm/lib NO_DEFAULT_PATH) FIND_LIBRARY(RUNTIME_LIB rt /usr/lib /usr/local/lib NO_DEFAULT_PATH) link_libraries(${COMM_LIB} ${RUNTIME_LIB}) ADD_DEFINITIONS( -O3...
include_directories(../../../thirdparty/comm/include) 添加需要链接的库文件目录LINK_DIRECTORIES 语法: link_directories(directory1 directory2 ...) 它相当于 g++ 命令的 - L 选项的作用,也相当于环境变量中增加 LD_LIBRARY_PATH 的路径的作用。
如果有多个头文件文件夹路径需要添加,可以多次调用include_directories命令,每次指定一个路径。 如果头文件文件夹路径是相对于CMakeLists.txt文件的相对路径,可以使用CMAKE_CURRENT_SOURCE_DIR变量来获取当前CMakeLists.txt文件所在的目录,并与相对路径拼接。例如:include_directories(${CMAKE_CURRENT_SOURCE_DIR}/pat...
对于只处理语法方面的路径操作,查看cmake_path()命令。 按照其功能可共分为以下几类: 读: 命令结构: file(READ<filename><out-var>[...])file(STRINGS<filename><out-var>[...])file(<HASH><filename><out-var>)file(TIMESTAMP<filename><out-var>[...])file(GET_RUNTIME_DEPENDENCIES[...]) ...
1. 添加头文件目录INCLUDE_DIRECTORIES 语法: include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...]) 它相当于g++选项中的-I参数的作用,也相当于环境变量中增加路径到CPLUS_INCLUDE_PATH变量的作用。 include_directories(../../../thirdparty/comm/include) ...
未指定NO_DEFAULT_PATH选项的情况下,find_file会以CMAKE_FIND_ROOT_PATH、CMAKE_SYSROOT等CMake变量(默认值为空)指定的路径为根路径,与PATHS或HINTS指定路径拼接成全路径的进行查找;若指定了NO_DEFAULT_PATH选项,查找路径会稍微复杂一些,具体查找过程会在四、查找过程进行详细介绍。
1.CMAKE_MODULE_PATH 用分号分隔的目录列表,用于在检查CMake附带的默认模块之前,由include或find_package命令加载的CMake模块的搜索路径。默认情况下,它为空。 2.include include指令一般用于语句的复用,也就是说,如果有一些语句需要在很多CMakeLists.txt文件中使用,为避免重复编写,可以将其写在.cmake文件中,然后在...