首页 > 其他分享 >CMake项目,将CMakeList.txt中的变量传递到代码中。

CMake项目,将CMakeList.txt中的变量传递到代码中。

时间:2023-09-25 14:45:33浏览次数:25  
标签:CMakeList CMAKE 变量 代码 VAR CMake txt

有些时候,代码中可能需要获取CMakeList中的变量。常见的就是路径之类的。
在CMake项目中,有一个参数可以将变量传递到代码中:

CMakeList.txt中:

# 1.声明定义变量
set(CMAKE_VAR "CMAKE MESSAGE 123123")

# 2.传递变量
#使用target_compile_definitions
#将CMAKE_VAR变量赋值给MY_VAR_NAME,并且传递给目标
target_compile_definitions(my_target PRIVATE MY_VAR_NAME="${CMAKE_VAR}")

代码中:

#相当于已经存在了宏定义,可以直接使用
std::cout << MY_VAR_NAME << std::endl;
#控制台输出:CMAKE MESSAGE 123123

标签:CMakeList,CMAKE,变量,代码,VAR,CMake,txt
From: https://www.cnblogs.com/tutuleilife/p/17727914.html

相关文章

  • Python txt文本内容转换
    #读取原始文本内容withopen("input.txt","r")asfile:lines=file.readlines()output_lines=[]#处理每一行数据forlineinlines:values=line.strip().split("\t")#判断第一个值是否已存在于结果列表中ifvalues[0]in[line.split(&qu......
  • CMake
    目录CMakeBuildtheSmallestProjectOptimizetheCMakeLists.txtSettheProjectVersionConfiguretheheaderFileAddtheCompileTimestampSpecifytheC++StandardAddtheLibraryMaketheLibraryOptionalAddtheRequirementsfortheUseoftheLibraryOriginalLi......
  • cmake添加 版本到代码中
    CMakeLists.txt:add_definitions(-DSYSMONITER_VER="${VER}")c++代码:voiddisplayVersion(){#ifdefSYSMONITER_VERstd::cout<<SYSMONITER_VER<<std::endl;#endif}编译命令:cmake..-DVER=$(date"+%Y%m%d%H%M%S")这里的date用......
  • cmake命令
    CMake是一个跨平台的开源构建工具,用于管理C++项目的构建过程。注意CMake命令语法不区分大小写cmake_minimum_required:指定项目所需的CMake的最低版本。cmake_minimum_required(VERSION<version>)project:定义项目的名称、版本和描述信息。project(<project_name>VERSIO......
  • cmake之解析宏或者函数参数
    本文将介绍cmake如何解析函数或者宏对应的参数列表语法查询打开cmake手册,查询cmake_parse_arguments关键字即可,如下图语法cmake_parse_arguments(<prefix><options><one_value_keywords><multi_value_keywords><args>...)cmake_parse_argum......
  • [20230919]黄金分隔法0.618.txt
    [20230919]黄金分隔法0.618.txt--//许多人都知道黄金分隔点=0.618,如何计算得来估计许多人不知道,我大约记得读初中时提到五边形有关,至于如何算我自己也也忘记了.--//实际上计算公式如下:(sqrt(5)-1)/2$echo(sqrt(5)-1)/2|bc-l.61803398874989484820--//尝试使用dc看看.$dc......
  • [20230908]Oracle Index Range Scan with LIKE Condition on Wildcard '_'.txt
    [20230908]OracleIndexRangeScanwithLIKEConditiononWildcard'_'.txt--//昨天看链接:http://ksun-oracle.blogspot.com/2023/09/oracle-index-range-scan-with-like.html,当时一下子没有反应过来,--//作者这样查询怎么会有这么大区别呢?仔细看题目才明显原来查询的字符串里面......
  • OpenGL with GLFW GLAD and CMAKE
    0.前言首先,无论是在youtube还是网站上,许多OpenGL的环境配置都是在VSstudio里配置的,个人比较喜欢使用VScode,以及Cmake.下文给出了一个Cmake版本关于GLFWGLAD的编译环境。另外,感谢分享知识的人。具体的代码已放入github中,代码地址https://github.com/Alex-gift-hit/O......
  • CommonTK框架之Qt5配置cmake脚本
    源码获取CommonTKCMake配置打开下图的CMake脚本文件添加下面的代码SET(CTK_QT_VERSION5)SET(CMAKE_PREFIX_PATH${CMAKE_PREFIX_PATH}"C:/major/development/tools/qt/5.14/install/5.14./msvc2015_64")添加的脚本代码位置如下图C:/major/development/tools/q......
  • Cmake减少输出可执行文件的大小
    1、使用Release模式set(CMAKE_C_FLAGS_RELEASE"${CMAKE_C_FLAGS_RELEASE}-s")set(CMAKE_BUILD_TYPE"RELEASE") 2、使用strip命令删除调试信息等set(CMAKE_STRIP"strip")add_custom_command(TARGET${PROJECT_NAME}POST_BUILDCOMMAND${C......