CMakeLists使用总结
CMakeLists.txt的编写
cmake_minimum_required(VERSION 3.0)
# 本CMakeLists.txt的project名称
# 会自动创建两个变量,PROJECT_SOURCE_DIR和PROJECT_NAME
# ${PROJECT_SOURCE_DIR}:本CMakeLists.txt所在的文件夹路径
# ${PROJECT_NAME}:本CMakeLists.txt的project名称
project(Test_demo)
# 配置编译选项
add_definitions("-Wall -g")
# 指定编程语言版本
add_definitions(-std=c++11)
# 配置编译类型
set(CMAKE_CXX_FLAGS_RELEASE "-DNDEBUG -Wall -O2")
# 给文件名/路径名或其他字符串起别名,用${变量}获取变量内容
set(变量 文件名/路径/...)
# 打印消息
message(消息)
find_package(OPENCV REQUIRED opencv)
# 添加include目录 -- 头文件的搜索目录
include_directories(include)
include_directories(third_party/func_1/include)
# 编译可执行文件
add_executable(${PROJECT_NAME} src/main.cpp
src/func_1.cpp
src/func_2.cpp
)
target_link_libraries(${PROJECT_NAME}
${OPENCV_LIBRARIES}
third_party/func_1/lib/lib*.so
third_party/func_2/lib/lib*.a
pthread
)
# 安装
install(TARGETS ${PROJECT_NAME})
CMakeLists.txt的编译
在最顶层创建build文件夹,然后编译。即:
mkdir build && cd build
cmake ..
make
最终生成可执行文件:Test_demo
可以通过以下命令来运行该可执行文件:
./Test_demo
参考:
https://blog.csdn.net/qq_38410730/article/details/102477162