美文网首页
CMake获取全局GLOBAL属性命令get_cmake_pro

CMake获取全局GLOBAL属性命令get_cmake_pro

作者: Domibaba | 来源:发表于2023-09-12 10:55 被阅读0次

可以通过get_cmake_property命令来获取CMake的全局范围属性。

命令格式

get_cmake_property(<var> <property>)

其中<var>是属性获取的结果,<property>是属性名称,如果属性未找到,那么变量<var>被设置成NOTFOUND

简单示例

下面演示全局属性的获取方法,以CMAKE_ROLE属性为例,它表示当前CMake脚本的运行模式,例如是通过处理CMakeLists.txt文件运行(PROJECT模式),或者通过命令行使用-P参数指定脚本(SCRIPT模式)等。更多的CMake内置全局属性可以参考这里

CMakeLists.txt文件内容:

cmake_minimum_required(VERSION 3.22.1)
project(test)

get_cmake_property(role CMAKE_ROLE)
message("# Run CMake in mode: ${role}")

get_cmake_property(not_found_property CMAKE_NOT_EXIST_PROPERTY)
message("# Get one non exist property: ${not_found_property}")

当运行cmake .得到的输出如下:

# Run CMake in mode: PROJECT
# Get one non exist property: NOTFOUND

新建文件PrintCMakeMode.cmake,内容如下:

get_cmake_property(role CMAKE_ROLE)
message("# Run CMake in mode: ${role}")

运行cmake -P PrintCMakeMode.cmak时,得到的输出如下:

# Run CMake in mode: SCRIPT

相关文章

  • Yarn 常用命令

    全局命令 yarn global 全局安装 yarn global dir 查看 yarn 全局安装目录 ...

  • xLua学习笔记(二) C#调用Lua代码

    获取全局变量 只需要调用LuaEnv对象Global属性的Get方法即可 描述:代表lua全局环境的LuaTabl...

  • Node.js global全局对象

    一.global全局对象 global是全局对象,使用它里面的属性或方法或子对象,可以不用global for循环...

  • html全局属性

    --- HTML全局属性(global attribute) 参考资料:MDN: html global attr...

  • 【HTML】全局属性:accesskey

    accesskey是html标签里的全局属性。 全局属性(global attribute)用来配置所有元素共有的...

  • Node.js 核心模块--全局对象

    nodejs中有一个全局对象 global,所有的全局变量都是global对象的属性,glabal最根本的作用是作...

  • eyoucms global 全局配置变量标签

    【基础用法】 名称:global 功能:获取系统全局配置变量内容 语法: {eyou:global name='w...

  • 原型与原型链

    1.全局属性window ECMAScript规定全局对象叫做global,但是浏览器把window作为全局对象(...

  • 原型与原型链

    全局对象window 在标准里面全局对象叫glabol(浏览器windos) 属性举例global.parseIn...

  • 关于js的全局对象

    全局对象(global object)在javascript中有着重要的用途:全局对象的属性是全局定义的符号,ja...

网友评论

      本文标题:CMake获取全局GLOBAL属性命令get_cmake_pro

      本文链接:https://www.haomeiwen.com/subject/phycvdtx.html