美文网首页
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
    

    相关文章

      网友评论

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

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