其他相关变量 子模块里也可以用 project 命令,将当前目录作为一个独立的子项目 project 的初始化:LANGUAGES 字段 project 的初始化:VERSION 字段 项目名的另一大作用:会自动设置 <项目名>_SOURCE_DIR 等变量 小技巧:CMake 的 ${} 表达式可以嵌套 设置C++ 标准:CMAKE_CXX_STANDARD 变量 常见误区:手动添加 -std...
cmake_minimum_required(VERSION3.20)project(testprj)find_package(CUDAToolkit)get_property(_variableNamesDIRECTORY${CMAKE_CURRENT_SOURCE_DIR}PROPERTYVARIABLES)list(SORT_variableNames)foreach(_variableName${_variableNames})string(TOUPPER${_variableName}upperVarName)string(FIND${upperVarName}"CUDA"myloc)if(...
加上这句:project(hello) 命令:project(<PROJECT-NAME> [LANGUAGES] [<language-name>...]) 作用:定义工程名称, 设置几个变量的名字:PROJECT_NAME, PROJECT_SOURCE_DIR, <PROJECT-NAME>_SOURCE_DIR, PROJECT_BINARY_DIR, <PROJECT-NAME>_BINARY_DIR, 高级用法请见参考链接2:CMake命令 告诉CMake我的构建目标...
message("Set F2 value is${F2}") # 设置版本号 set(MAJOR"1") set(MINOR"2") set(PATCH"3") set(VERSION"${MAJOR}.${MINOR}.${PATCH}") message("version is${VERSION}")# 设置版本号 # 设置双重变量 set(PLATFORM"WIN")# 手动选择的平台 set(H_MSG_WIN"WINDOWS")# 名字是手动的,信息随意 ...
CMAKE_BUILD_TOOL: 执行构建过程的工具。该变量设置为CMake构建时输出所需的程序。对于VS 6, CMAKE_BUILD_TOOL设置为msdev, 对于Unix,它被设置为make 或 gmake。 对于 VS 7, 它被设置为devenv. 对于Nmake构建文件,它的值为nmake。 CMAKE_CACHEFILE_DIR: 该变量设置为包含CMakeCache.txt文件的目录的全路径。
Linux 下还可以通过如下方式设置包含的目录: set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${CMAKE_CURRENT_SOURCE_DIR}/libs") 8. 设置 target 需要链接的库 target_link_libraries( # 目标库 demo # 目标库需要链接的库 # log-lib 是上面 find_library 指定的变量名 ...
设置项目要求的CMake最低版本号 和 设置项目名称 # 设置cmake 版本信息 cmake_minimum_required(VERSION 3.16) # 设置 项目名称 project(demo) add_library 添加一个库文件 add_library(<name>[STATIC|SHARED|MODULE][EXCLUDE_FROM_ALL][source1][source2...])<name>:表示库文件的名字[STATIC|SHARED|MODULE]...
USE_MYMATHcmake 预定义的名字,可以理解成为变量名字 USE_MYMATH:变量名自己解释 ON/OFF:值,也就是 0 和 1 设置好之后就可以自己的配置文件了 为了方便,就直接在当前的 CMakeList.txt 当前目录下创建 config.h.in 文件,然后写入一下内容: #cmakedefine USE_MYMATH ...
add_compile_options命令添加的编译选项是针对所有编译器的(包括c和c++编译器), 而set命令设置CMAKE_C_FLAGS或CMAKE_CXX_FLAGS变量则是分别只针对c和c++编译器的。例子#判断编译器类型,如果是gcc编译器,则在编译选项中加入c++11支持 if(CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_CXX_FLAGS "-std=c++11 ${C...
2.2.1 定义变量 在上面的例子中一共提供了5个源文件,假设这五个源文件需要反复被使用,每次都直接将它们的名字写出来确实是很麻烦,此时我们就需要定义一个变量,将文件名对应的字符串存储起来,在cmake里定义变量需要使用set。 # SET 指令的语法是:# [] 中的参数为可选项, 如不需要可以不写SET(VAR [VALUE] ...