CMake 总结
通过命令直接编译生成可执行程序 g++ *.coo -o app
cmake的使用
注释:
注释行:“ # ”
注释块: #[[ 注释的内容 ]]
camke_minimum_required(VERSION 3.0) # 指定使用的cmake的最低版本 可选,如果不加可能会有警告
project(CALC) #定义工程的名称,并可以指定工程的版本、工程描述、web主页地址、支持的语言(默认情况支持所有语言),如不需要,只需要制定出工程名字即可
project:
# PROJECT 指令的语法是:
project(<PROJECT-NAME> [<language-name>...])
project(<PROJECT-NAME> [VERSION <major>[.<minor>[.<patch>[.<tweak>]]]][DESCRIPTION <project-description-string>][HOMEPAGE_URL <url-string>][LANGUAGES <languagfe-name>])
add_executable:定义工程会生成一个可执行程序
add_executable(可执行程序名 源文件名称)
# 这里的可执行程序名和project中的工程名没有关系
# 源文件名称可以有多个,多个文件名可用空格或者 ; 间隔
# 样式 1
add_executable(app add.c div.c main.c mult.c sub.c)
# 样式 2
add_executable(app add.c;div.c;main.c;mult.c;sub.c)
执行cmake命令
cmake 命令原型
camke CMakeLists.txt 文件所在路径
set 设置变量并初始化:
# set 设置的值默认是字符串
set(VAR [VALUE])
set(SIR_LIST add.c div.c main.c mult.c sub.c) #初始化成字符串
set(SIR_LIST add.c;div.c;main.c;mult.c;sub.c) # 初始化成字符串
# 使用${SIR_LIST}的方式进行取值
add_executable(app ${SIR_LIST})
set: 指定使用的 C++ 标准
在编写 c++ 程序的时候,可能会用到C++11、C++14、C++17、C++20 等新特性,那么就需要在编译的时候在编译命令中指定出要使用哪个标准(默认使用C++98)
在CMakeLIists.txt 中设定
set(CMAKR_CXX_STANDARD 11) # C++11 标准
set(CMAKR_CXX_STANDARD 14) # C++14 标准
set(CMAKR_CXX_STANDARD 17) # C++17 标准
# 是对宏 CMAKE_CXX_STANDARD 设定值
在执行cmake 命令执行的时候指定 cmake CMakeLists.txt -DCMAKE_CXX_STANDARD=11 (-DCMAKE_CXX_STANDARD=11 指定 c++ 标准为 11)
set:设置可执行文件的输出路径(也可对生成的动态库指定路经)
set(HOME /home/robin/Linux/Sort) #最好使用绝对路径
set(EXECUTABLE_OUTPUT PATH ${HOME}/bin)
# 如果生成路径不存在, cmake 会自动创建对应的路径