cmake基础用法

对于少数量的源文件:

cmake_minimum_required (VERSION 3.0)    //指定cmake最小版本
project (main)      //工程名字
add_executable(main a.cpp b.cpp c.cpp)      //用a.cpp b.cpp c.cpp生成.elf的文件名字为main

对于多数量的源文件:

  • 使用 aux_source_directory(dir name) 把dir目录下的所有源文件保存在 name变量里

cmake_minimum_required (VERSION 3.0)    //指定cmake最小版本
project (main)      //工程名字
aux_source_directory(. SRC_LIST)    //把当前目录下的所有源文件保存在 SRC_LIST变量里
add_executable(main ${SRC_LIST})
  • 使用set( name dir1 dir2 ...) 把指定文件保存在name里

    cmake_minimum_required (VERSION 3.0)    //指定cmake最小版本
    project (main)      //工程名字
    set( SRC_LIST ./a.cpp ./b.cpp ./c.cpp)  
    add_executable(main ${SRC_LIST})

对于不同目录下的源文件:

  • 使用 include_directories (dir1 dir2) 头文件搜索路径

cmake_minimum_required (VERSION 3.0)    //指定cmake最小版本
project (main)      //工程名字
include_directories(test1)  //在test1目录下搜索头文件
aux_source_directory(test1 SRC_LIST)    //把test1目录下的所有源文件保存在 SRC_LIST变量里
add_executable(main ${SRC_LIST})

对于多个目录下的多个CMakeLists.txt文件

根目录下的CMakeLists.txt文件

cmake_minimum_required (VERSION 3.0)    //指定cmake最小版本
project (main)      //工程名字
add_subdirectory (son)  //在son目录下搜索CMakeLists.txt文件

son目录下的CMakeLists.txt文件

aux_source_directory (. SRC_LIST)   //把当前目录下的所有源文件保存在SRC_LIST变量里
include_directories (../include)    //头文件搜索路径
add_executable (main ${SRC_LIST})   //生成elf文件
set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)  //把elf文件保存在指定目录

其中:

  • EXECUTABLE_OUTPUT_PATH :目标二进制可执行文件的存放位置

  • PROJECT_SOURCE_DIR:工程的根目录

    则 set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)是把elf文件保存在根目录下的bin文件中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值