cmakelist文件命令含义大全

本文详细介绍了CMakeLists.txt的使用,包括设置源码目录、生成可执行文件、添加静态库的步骤。重点讲解了如何指定库路径及链接库,以及CMake常用变量的含义,如PROJECT_SOURCE_DIR和CMAKE_BUILD_TYPE等。
摘要由CSDN通过智能技术生成

#项目名字
project(HELLOWORLD)

#包含原程序,即把给定目录下的源程序复制给变量DIR_SRC,但是这里一般都把生成的可执行文件放在bin目录中,这块有空在填坑。
aux_source_directory(DIR_SRC ./)

#生成程序
add_executable(helloworld ${DIR_SRC})
添加静态库或者动态库

而假设我们程序用到了在/usr/lib下的一个静态库libmy.a,那就需要添加如下两个命令
#库所在位置
link_directories(/usr/lib)

#程序编译时候链接库
target_link_libraries(helloworld my)

在CMakeList.txt 中会自动生成以下若干变量:

1.PROJECT_SOURCE_DIR : CMakeList.txt 所在的文件夹路径
2.PROJECT_BINARY_DIR:运行 cmake 命令的目录,通常是 ${PROJECT_SOURCE_DIR}/build
3.PROJECT_NAME: 本CMakeLists.txt的project名称,由project 参数决定
4.CMAKE_BUILD_TYPE: CMAKE_BUILD_TYPE 构建类型(Debug & Release)
5.CMAKE_CURRENT_SOURCE_DIR:这是当前处理的CMakeLists.txt所在的目录
6.CMAKE_CURRENT_BINARY_DIR:target 编译目录
7.CMAKE_CURRENT_LIST_DIR:CMakeLists.txt 的完整路径
8.CMAKE_ARCHIVE_OUTPUT_DIRECTORY:默认存放静态库的文件夹位置;
9.CMAKE_LIBRARY_OUTPUT_DIRECTORY: 默认存放动态库的文件夹位置;
10.LIBRARY_OUTPUT_PATH: 重新定义目标链接库文件的存放位置,如果产生的是静态库并且没有指定 CMAKE_ARCHIVE_OUTPUT_DIRECTORY 则存放在该目录下,动态库也类似;
11.CMAKE_RUNTIME_OUTPUT_DIRECTORY: 存放可执行软件的目录;
12.CMAKE_MODULE_PATH:定义自己的 cmake 模块所在的路径,SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake),然后可以用INCLUDE命令来调用自己的模块
13.EXECUTABLE_OUTPUT_PATH:重新定义目标二进制可执行文件的存放位置
****  可以通过 $ 符号使用这两个变量。(列如:${PROJECT_SOURCE_DIR} 、 ${PROJECT_NAME})。
原文链接:https://blog.csdn.net/Aliven888/article/details/118301886

附上卸载旧的版本并且安装新版本的教程:https://blog.csdn.net/CVAIDL/article/details/100866374
cmake安装包下载地址:https://cmake.org/files/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值