首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于CMake中不同变量的用法与总结

CMake中的变量CMake变量的类型有多种:通过set设置的普通变量和缓存变量、环境变量、数组变量等等,由于CMake在生成的过程中会加载缓存的关系,因此用法不一样。...普通变量定义方式如下:set(var "value")设置一个普通变量var,值为value,引号的作用可以详见我的另一篇文章。...和编程语言中局部变量的用法类似,这个变量会屏蔽CMake缓存中的同名变量,(类似局部变量屏蔽全局变量)。但是这条语句不会改变缓存中的var变量。...缓存变量cache variable用于缓存变量定义如下:set(var "value" CACHE STRING "" FORCE) |这条语句设置了一个CACHE语句,类型是STRING,说明信息为空字符串...还有一种方法能够设置CACHE变量,就是通过cmake命令的-D选项,可以添加一个CACHE变量

32400
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CMake入门实战——自定义编译选项

    定义编译选项 CMake 允许为项目增加编译选项,从而可以根据用户的环境和需求选择最合适的编译方案。...例如,可以将 MathFunctions 库设为一个可选的库,如果该选项为 ON ,就使用该库定义的数学函数来进行运算。否则就调用标准库中的数学函数库。...第9行的 configure_file 命令用于加入一个配置头文件 config.h ,这个文件由 CMake 从 config.h.in 生成,通过这样的机制,将可以通过预定义一些参数和变量来控制代码的生成...第14行根据 USE_MYMATH 变量的值来决定是否使用我们自己编写的 MathFunctions 库。...编译项目 现在编译一下这个项目,为了便于交互式的选择该变量的值,可以使用 ccmake . 命令 ?

    2.2K10

    cmake:在各级子项目(目录)之间共享变量

    ,opencl文件夹下的CMakeLists.txt能定义类似INCLUDE_OPENCL_1_2,INCLUDE_OPENCL_2_0,INCLUDE_OPENCL_2_1,这样的变量,以保存不同版本的...,但opencl与facedetect和facefeature在同级目录,所以用set定义变量无法共享,要用set(variable value CACHE INTERNAL docstring )这种方式定义变量会把变量加入到...CMakeCache.txt然后各级目录共享会访问到这个变量 比如: 在opencl下的CMakeLists.txt中定义一个变量 set(ICD_LIBRARY "${PROJECT_BINARY_DIR...在facedetect下的CMakeLists.txt中读取这个一个变量 MESSAGE(STATUS "ICD_LIBRARY :${ICD_LIBRARY}") 每次运行cmake都会更新这个变量...当用set_property定义的property时,第一个指定作用域(scope)的参数设为GLOBAL,这个property在cmake运行期间作用域就是全局的。

    1.8K40

    Python中如何定义变量定义变量的规则是什么?

    上一篇文章讲述了变量的概念和作用,下面讲解的是变量的第二个知识点 - 定义变量定义变量名的规则,下一篇在讲解变量的使用。...一、定义变量 语法规则: 变量名 = 值 定义变量的语法规则中间的‘=’,并不是数学中等于号的意思,在编程语言中而是赋值的意思。...赋值:其实程序在执行的时候,先计算等号(‘=’)右边的值,然后把右边的值赋值给等号左边的变量名中。 注意点:变量名自定义,要满足标识符的命名规则。...二、定义变量的规则 标识符: 变量命名规范 - 标识符命名规则是Python中定义各种名字的时候的统一规范,具体规范如下: 由数字、字母、下划线组成 不能以数字开头 不能使用Python内置关键字 严格区分大小写

    3.2K30

    C++定义指针变量 | 使用指针变量

    C++指针变量定义 C++规定所有变量在使用前必须先定义,即指定其类型,在编译时按变量类型分配存储空间,对指针 变量必须将它定义为指针类型。...//定义整型变量 int i,j; //定义指针变量 int *point_num; 上述定义的指针变量point_num是指向整型数据的指针变量,也就是说,指针变量pointer_num只能用来指向整型数据...即*不是指针变量名的一部分,在定义变量时在变量名前加一个*表示该变量是指针变量。 在C++中怎样使一个指针变量指向另一个变量呢?...在定义指针变量时必须指定基类型。 经典案例:C++定义指针变量。...C++定义指针变量 | 使用指针变量 更多案例可以go公众号:C语言入门到精通

    2.6K2420

    【Shell】环境变量定义变量 特殊变量

    Shell变量:自定义变量 目标 理解自定义变量的分类 能够自定义变量进行增\删\改\查 自定义变量介绍 就是自己定义变量 分类 自定义局部变量定义常量 自定义全局变量定义局部变量...介绍 就是定义在一个脚本文件中的变量, 只能在这个脚本文件中使用的变量, 就是局部变量 定义与使用 定义语法 var_name=value 变量定义规则 变量名称可以有字母,数字和下划线组成, 但是不能以数字开头...A.sh就是父Shell环境, B.sh就是子Shell环境 自定义全局变量介绍 就是在当前脚本文件中定义全局变量, 这个全局变量可以在当前Shell环境与子Shell环境中都可以使用 自定义全局变量语法..., readonly var_name 自定义全局变量: 设置变量在当前脚本文件中与子Shell环境可以使用的变量, export var_name 自定义变量进行增\删\改\查 定义和修改:..., 就可以定义在这个文件中 案例演示 需求 /etc/profile定义存储自定义系统级环境变量数据 创建环境变量步骤 编辑/etc/profile全局配置文件 # 增加命令: 定义变量VAR1=VAR1

    58731

    跨平台编译工具-CMake的语法特性与常用变量

    (hello main.cpp ${HELLO}) cmake指令的变量使用 ${变量} 的形式读取变量,但在 IF 逻辑判断中,直接输入变量名称即可,如上面示例代码中的 HELLO 2.2. cmake...的重要指令和常用变量 cmake_minimum_required : 指定cmake最小版本要求 # 指定cmake最小版本要求为 2.8.3 cmake_minimum_required(VERSION...: 显示定义变量 # 定义SRC 变量值为:hello.cpp main.cpp set(SRC hello.cpp main.cpp) include_directories : 向工程中添加多个头文件搜索路径...# 定义 SRC 变量,其值为当前目录下所有的源代码文件 aux_source_directory(....Cmake 常用变量 CMAKE_FLAGS : gcc 编译选项 CMAKE_CXX_FLAGS : g++ 编译选项 # 在 CMAKE_CXX_FLAGS 编译选项后追加 -std=c++11 set

    1.2K10
    领券