CMakeLists.txt文件内容: cmake_minimum_required(VERSION3.5)project(Tutorial)message(STATUS"PROJECT_SOURCE_DIR "${PROJECT_SOURCE_DIR})message(STATUS"PROJECT_BINARY_DIR "${PROJECT_BINARY_DIR})set(CMAKEDEFINE_VAR11)set(CMAKEDEFINE_VAR20)set(DEFINE_VAR11)set(DEFINE_VAR20)configure_file("${PROJECT...
在上一篇文章的基础上我们为可执行文件通过CMake添加版本号。首先用project命令设定项目的版本号。 project(Hello VERSION 1.0) 然后用configure_file命令把版本号传递到源代码中。该命令的作用是复制一个文件到另一个目录并替换@VAR@或者${VAR}为CMake中设定的值。我们为项目新增一个头文件叫Hello.h其内容为: ...
1 .set(Hello_world_version_major 1)和set(Hello_world_version_minor 0)自定义设定的两个变量表示工程的最大版本号和最小版本号。 2 .configure_file:将其他文件修改成cmake中的变量; 3 .configure_file( [COPYONLY] [ESCAPE_QUOTES] [@ONLY]) 将文件拷贝到然后替换文件内容中引用到的变量值。 4 .HEL...
在CMake中处理文件 使用CMake的configure_file命令可以将上面的.rc模板文件中的CMake变量都替换为当前CMake解析过程中的变量值: 1 2 3 4 5 if(MSVC) set(MY_VERSIONINFO_RC"${CMAKE_BINARY_DIR}/VersionInfo.rc") configure_file("${CMAKE_SOURCE_DIR}/VersionInfo.rc.in" "${MY_VERSIONINFO_RC }")...
configure_file( "Version.h.in" "Version.h" ) 1. 2. 3. 4. Version.h.in如下: #include <string> const std::string VERSION_MAJOY("1"); const std::string VERSION_MINOR("0"); const std::string VERSION_REVISION("@VERSION_REVISION@"); ...
本文是现代CMake构建项目的第二篇,主要会介绍configure_file导入版本字符串,以及可与程序代码进行交互的变量控制,通常使用#define宏命令来控制编译选项。 1.Project命令设置版本 project命令可以设置项目的版本号与使用语言信息。 project(<PROJECT-NAME>[VERSION<major>[.<minor>[.<patch>[.<tweak>]]][DESCRIPTION...
configure_file(config.h.cmake config.h) POOL_SIZE是在运行cmake的时候传进来的参数,在cmake中,要传一个参数可以使用-D选项,比如: cmake ../src -DPOOL_SIZE=100 我们判断POOL_SIZE是否设置,如果设置了,那就设置WORKER_POOL_SIZE变量。 然后运行configure_file命令,在config.h.cmake文件中,我们使用cmakede...
同时为了保证程序的兼容性,往往需要在程序中判断当前程序的版本。所以如果在编译过程中将版本号自动的...
# CMake 最低版本号要求 cmake_minimum_required (VERSION 2.8) # 项目信息 project (Demo) # 加入一个配置头文件,用于处理 CMake 对源码的设置 configure_file ( "${PROJECT_SOURCE_DIR}/config.h.in" "${PROJECT_BINARY_DIR}/config.h" )