在进行软件开发时,cmake是一款非常好的工具,因为它可以帮我们生成MakeFiles文件,MakeFiles是一个可以帮我们指定编译规则的文件,但是MakeFiles编写起来往往十分复杂。因此我们可以借助cmake来帮我们生成MakeFiles文件。
下面是CMakeLists.txt的基本模板
# 指定cmake的最低版本
cmake_minimum_required(VERSION 3.0)
# 设定工程名称
project(MYPROJECT)
# 设定编译参数 打印警告信息 进行代码优化 编译出来的可执行文件为debug版本 使用的是c++11
add_compile_options(-Wall -std=c++11 -g -O2)
# 设定所有源码列表,可以简化add_executable指令的编写
# 下面这条指令相当于将当前路径下src文件夹中的所有源文件写进SRC_DIR变量中,
# 在后面的指令中如果想要选择src文件夹中的所有源文件,直接填写SRC_DIR变量即可
aux_source_directory(./src SRC_DIR)
# 设定头文件路径 include_directories("路径1" "路径1" ……)
include_directories(../include ./include)
# 设定链接库路径(一般是用于链接第三方库) link_directories("路径1" “路径2”...)
link_directories(../lib)
# 生成动/静链接库
add_library(动/静链接库名称 [STATIC/SHARED](可选参数默认为STATIC) source1 source2 source3……)
# 生成可执行文件
add_executable(mysoftwarename.exe main.cpp ${SRC_DIR})
# 将target添加需要链接的共享库 第三方库 相当于g++ 命令中的-l参数
target_link_libraries(mysoftwarename.exe pthread boost_thread boost_system)