• CMake重要指令&常用变量


    什么是CMake?

    在这里插入图片描述

    没有使用CMake和使用CMake构建的区别?

    在这里插入图片描述

    CMake的基本语法

    语法格式:

    指令(参数1 参数2...)
    
    • 1

    赋值操作

    如 把hello.cpp 赋值给变量HELLO

    set(HELLO hello.cpp)
    
    • 1

    取变量的值:

    ${HELLO}
    
    • 1

    但在if控制语句中是直接使用变量名。

    if(HELLO) 正确
    if($(HELLO)) 错误
    
    • 1
    • 2

    指令是大小写无关的,参数和变量是大小写相关的。

    add_executable(hello main.cpp ${HELLO})
    
    • 1

    等同于:

    ADD_EXECUTABLE(hello main.cpp hello.cpp)
    
    • 1

    重要指令

    指定CMake的最小版本要求

    在这里插入图片描述

    cmake_minimum_required(VERSION 2.8.3)
    
    • 1

    project: 定义工程名称,并可指定工程支持的语言

    在这里插入图片描述

    set 显式的定义变量

    在这里插入图片描述
    想要使用 sayhello.cpp hello.cpp直接用SRC变量替代即可。

    include_directories 向工程添加多个特定的头文件搜索路径

    在这里插入图片描述

    link_directories 向工程添加多个特定的库文件搜索路径

    在这里插入图片描述

    add_library 生成库文件

    在这里插入图片描述

    在c++中生成库文件:

    # 汇编,生成swap.o文件
    g++ swap.cpp -c -I../include
    # 生成静态库libswap.a
    ar rs libswap.a swap.o
    
    • 1
    • 2
    • 3
    • 4

    add_compile_options 添加编译参数

    在这里插入图片描述

    add_executable 生成可执行文件

    在这里插入图片描述

    target_link_libraries 为target添加需要链接的共享库

    在这里插入图片描述

    add_subdirectory 向当前工程添加存放源文件的子目录

    在这里插入图片描述

    aux_source_directory 发现一个目录下的所有源码文件并将列表存储在一个变量中

    在这里插入图片描述

    CMake常用变量

    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    HJ5 进制转换
    FineBI产品简介
    实践案例:平安健康的 Dubbo3 迁移历程总结
    猿创征文|date-fns 天助手函数
    Go 必知的10个命令
    Vue基础实例
    VuePress + GitHub 搭建个人博客踩坑记录
    软件设计模式系列之二十——备忘录模式
    Linux Shell :正则表达式
    手写签名到背景上合为1张图
  • 原文地址:https://blog.csdn.net/qq_42864343/article/details/134246780