美文网首页
cmake - 版本号

cmake - 版本号

作者: 木木木君 | 来源:发表于2017-09-20 16:53 被阅读0次

    cmake为工程和程序添加版本号,可以直接在CMakeLists文件中指定

    cmake_minimum_required (VERSION 2.6)
    project (HELLO_WORLD)
    set(SRC_LIST main.c)
    set(Hello_world_version_major 1)
    set(Hello_world_version_minor 0)
    
    configure_file(
        "${HELLO_WORLD_SOURCE_DIR}/helloConfig.h.in"
        "${HELLO_WORLD_BINARY_DIR}/helloConfig.h"
    )
    
    include_directories("${HELLO_WORLD_BINARY_DIR}")
    
    add_executable(hello ${SRC_LIST})
    

    1 .set(Hello_world_version_major 1)set(Hello_world_version_minor 0) 自定义设定的两个变量表示工程的最大版本号和最小版本号。

    2 .configure_file:将其他文件修改成cmake中的变量;

    3 .configure_file(<input> <output> [COPYONLY] [ESCAPE_QUOTES] [@ONLY])

    将文件<input>拷贝到<output>然后替换文件内容中引用到的变量值。

    4 .HELLO_WORLD_SOURCE_DIRHELLO_WORLD_BINARY_DIR
    是由项目名加上"_SOURCE_DIR"或"_BINARY_DIR"构成,表示项目源目录和二进制目录(即cmake生成的文件下的目录,可以同源目录一致或者不一致);

    具体区别参考PROJECT_BINARY_DIR和PROJECT_SOURCE_DIR

    5 .接下来,新建helloConfig.h.in文件,而helloConfig.h文件是生成的,不需要我们创建。

    //helloConfig.h.in
    #define Hello_world_version_major @Hello_world_version_major@
    #define Hello_world_version_minor @Hello_world_version_minor@
    

    6 .修改下main.c,打印我们的版本号

    #include <stdio.h>
    #include "helloConfig.h"
    
    int main()
    {
        printf("Hello World\n");
        printf("%d\n",Hello_world_version_minor );
        printf("%d\n",Hello_world_version_major );
        return 0;
    }
    

    7 .最后一步,重新构建cmake和make,运行hello.exe。

    image.png

    相关文章

      网友评论

          本文标题:cmake - 版本号

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