cmake变量定义的方式有两种:隐式定义和显式定义。 隐式定义 前面举了一个隐式定义的例子,就是PROJECT指令,他会隐式的定义_BINARY_DIR和_SOURCE_DIR两个变量。 显示定义 显式定义的例子我们前面也提到了,使用 SET 指令,就可以构建一个自定义变量了。 比如: SET(HELLO_SRC main.c) 就可以通过${HELLO_SRC}来...
在CMake中,变量是存储数据的容器,它们用于传递信息、控制流程,以及配置构建过程。定义变量可以提高代码的可读性和可维护性,同时也方便在不同的地方共享相同的信息。通过变量,我们可以轻松地调整配置选项、文件路径等,从而适应不同的开发环境和需求。 1.2 set的使用 # SET 指令的语法是:# [] 中的参数为可选项, 如...
Cache 变量 CMAKE_INSTALL_PREFIX 默认值是 /usr/local (可以在生成的 CMakeCache.txt 文件中查看),这时候如果我们 在某个 CMakeLists.txt 中,仍然使用 set(CMAKE_INSTALL_PREFIX "/usr"),那么此时我们 install 的时候,CMake 以后面的 /usr 作为 CMAKE_INSTALL_PREFIX 的值,这是因为 CMake 规定,有一个...
父模块里定义的变量,会传递给子模块。 变量的传播规则:子不传给父 但是子模块里定义的变量,不会传递给父模块。 如果父模块里本来就定义了同名变量,则离开子模块后仍保持父模块原来设置的值。 子模块向父模块里传变量 用set 的 PARENT_SCOPE 选项 通过set 的 PARENT_SCOPE 选项,把一个变量传递到上一层作用域...
CMake 预定义变量 CMake 中的预定义变量有很多,用于引用各种项目信息、目录路径、操作系统信息等。以下是一些常用的预定义变量: 1. **目录路径变量**: - `CMAKE_CURRENT_SOURCE_DIR`:当前处理的 CMakeLists.txt 文件所在的源代码目录路径。 - `CMAKE_CURRENT_BINARY_DIR`:当前处理的 CMakeLists.txt 文件...
CMake是一种跨平台的编译工具,用于自动化构建软件项目。CMake使用名为CMakeLists.txt的脚本文件来定义构建过程,这些脚本文件中可以设置各种变量来控制构建的行为。以下是关于CMake变...
CMakeLists.txt中只有字串和字串数组两种变量。定义变量通过set命令 # 定义变量 set(name "LinuxZn") # 使用变量 message("My name is ${name}!") 1. 2. 3. 4. 5. ① 注释使用符号#。 ② 命令不区分大小写,即set也可以替换为SET。 3、数学运算 ...
unset(variable_name) #取消变量的定义 变量名区分大小写,且值始终是string类型的。cmake中 ON、YES、TRUE、非0数字、非空字符串代表真;OFF、NO、FALSE、0、空字符串("")代表假 变量引用的形式为${variable_name},在IF语句和foreach(IN LISTS)中却是IF(variable_name)和foreach(var IN LISTS variable_name...
一、变量的引用方式是使用“${}”,在IF中,不需要使用这种方式,直接使用变量名即可 二、自定义变量使用SET(OBJ_NAME xxxx),使用时${OBJ_NAME} 三、cmake的常用变量: CMAKE_BINARY_DIR,PROJECT_BINARY_DIR:这两个变量内容一致,如果是内部编译,就指的是工程的顶级目录,如果是外部编译,指的就是工程编译发生的目...
set_target_properties重新定义了库的输出名称,如果不使用set_target_properties也可以,那么库的名称就是add_library里定义的名称。具体可以参考官方文档。 LIBRARY_OUTPUT_PATH 是cmake系统变量,项目生成的库文件都放在这个目录下。这里我指定库生成...