cmake常用命令解释及例子
其他
2020-01-25 11:33:46
阅读次数: 0
cmake常用命令解释
cmake命令不分大小写
cmake_minimum_required()
- 含义:指定需要的cmake的最低版本
- 例子:cmake_minimum_required(VERSION 2.6)
project()
- 含义:指定项目名称
- 例子:project(hello)
INCLUDE_DIRECTORIES()
- 含义:指定头文件目录
- 例子:INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include),
- ${PROJECT_SOURCE_DIR}是cmake的内置变量,代表项目目录
AUX_SOURCE_DIRECTORY()
- 含义:添加源文件所在目录,即.cpp或.c所在目录
- 例子:AUX_SOURCE_DIRECTORY(${PROJECT_SOURCE_DIR}/src SRC_LIST)
- 使用时要指定赋值的变量,即把SEC_LIST赋值为所有源文件的值(a.cpp b.cpp …)
add_executable()
- 含义:添加可执行目标
- 例子:add_executable(cmake_test ${SRC_LIST}),注意后面需要加上依赖的.cpp或.c文件列表
INSTALL()
- 含义:指定添加可执行目标要安装的目录
- 例子:INSTALL(TARGETS main DESTINATION /home/xxx/Desktop),将可执行文件安装在桌面
target_link_libraries()
- 含义:为可执行目标链接库文件
- 例子:target_link_libraries(main PRIVATE pthread)
- 配合find_package()使用味道更佳
find_package()
- 含义:找到所需库的package
- 例子:find_package(unofficial-concurrentqueue CONFIG REQUIRED)
- 有CONFIG MODULE模式(细节可以去官网查找)
LINK_LIBRARIES()
- 含义:链接可执行目标文件需要的库
- 例子:LINK_LIBRARIES("/opt/MATLAB/R2012a/bin/glnxa64/libeng.so")
- 需要使用绝对路径
link_directories()
- 含义:指定链接库目录
- 例子:link_directories(/home/ubuntu/xxx/Hell0)
add_subdirectory()
- 含义:添加子目录,注意这里的子目录指的是项目的一个需要独立编译的模块(应该包含CMakeLists.txt)
- 例子:add_subdirectory(unit_test)
ENABLE_TESTING()
- 含义:添加测试命令
- 例子:ENABLE_TESTING() ADD_TEST(NAME SimpleTest COMMAND main)
- make test,测试程序是否正常执行
ADD_CUSTOM_TARGET()
- 含义:增加客制化命令make
- 例子:ADD_CUSTOM_TARGET(run COMMAND main)
- make run运行main
message
- 含义:打印消息
- 例子:message([] “message to display” …),mode要自己指定,比如INFO,WARNING等
发布了80 篇原创文章 ·
获赞 68 ·
访问量 7548
转载自blog.csdn.net/weixin_44048823/article/details/103093331