cmake 命令和基本使用流程总结
1.基本命令:
(1).cmake_minimum_required(VERSION 3.12)
指定CMake的最低版本要求
(2).set(CMAKE_C_COMPILER /usr/bin/aarch64-linux-gnu-gcc)
设置C编译器路径(在project命令前)
(3).set(CMAKE_CXX_COMPILER /usr/bin/aarch64-linux-gnu-g++)
设置C++编译器路径(在project命令前)
(4).project(MyProject)
指定项目名称
(5).add_executable(myapp main.cpp)
添加可执行文件
(6).target_include_directories(myapp PUBLIC ${PROJECT_SOURCE_DIR}/include)
添加头文件搜索路径
(7).target_link_libraries(myapp PUBLIC mylib)
链接依赖库
(8).include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/third_party.cmake)
包含子项目的cmake文件
(9).list(APPEND COMMON_LINK_DIR ${SDK_LINK_DIR})
将SDK_LINK_DIR中的元素加入COMMON_LINK_DIR
(10).file(GLOB_RECURSE ${sources_var} ${sources_path}/*.h ${sources_path}/*.c)
递归地搜索指定目录(${sources_path}
)及其子目录中的所有以.h、.c为扩展名的文件,并将它们保存在一个变量${sources_var}
中。
(11).list(APPEND COMMON_LINK_DIR ${SDK_LINK_DIR})
将SDK_LINK_DIR中的元素加入COMMON_LINK_DIR
(12).set(SOURCES_PATH .)
设置变量
(13).message(COMMON_INCLUDE:${COMMON_INCLUDE})
打印变量
2.基本流程:
(1).创建CMakeLists.txt文件:在项目的根目录下创建一个名为CMakeLists.txt的文件。该文件包含了项目的构建规则和指令.
(2).编写CMakeLists.txt:打开CMakeLists.txt文件,编写项目的构建规则。以下是一个示例:
cmake_minimum_required(VERSION 3.12) # 指定CMake的最低版本要求
project(MyProject) # 指定项目名称
add_executable(myapp main.cpp) # 添加可执行文件
target_include_directories(myapp PUBLIC ${PROJECT_SOURCE_DIR}/include) # 添加头文件搜索路径
target_link_libraries(myapp PUBLIC mylib) # 链接依赖库
(3).创建构建目录:在项目根目录下创建一个用于构建的目录(例如build),并切换到该目录。
(4).执行CMake命令:在构建目录中打开终端(命令提示符)窗口,并执行以下命令执行CMake命令:在构建目录中打开终端(命令提示符)窗口,并执行以下命令:
cmake <path_to_source>
其中,"<path_to_source>“是指项目源代码所在的路径。如果当前工作目录在构建目录中,则可以将”<path_to_source>"省略。
(5).构建项目:执行以下命令来构建项目:
cmake --build .
这将会根据CMakeLists.txt中的指令开始构建项目。构建完成后,将会生成相应的可执行文件或库文件。
(6).安装项目(可选):如果需要将构建结果安装到系统中(例如将库文件和头文件拷贝到系统目录),可以执行以下命令:
cmake --install .
这将按照CMakeLists.txt中的指令,将构建结果安装到默认的系统路径。
(7).清理构建文件(可选):执行以下命令可以清理构建过程中生成的文件,以便重新构建:
cmake --build . --clean
3.总结
可以根据具体的项目需求进行适当的调整和定制。CMake具有更丰富的功能和更复杂的配置选项,你可以查阅官方文档(https://cmake.org/documentation/)来了解更多信息。