现代CMake命令行及CMakeLists.txt写法
# 现代CMake学习:命令行及CMakeLists.txt写法
# 命令行调用
# 古代CMake mkdir -p build cd build cmake .. -DCMAKE_BUILD_TYPE=Release make -j4 make install cd .. # 现代CMake cmake -Bbuild -DCMAKE_BUILD_TYPE=Release cmake --build build --parallel 4 cmake --build build --target install
- 现代CMake中不必手动创建
build
文件夹 cmake --build build
命令增强了通用性,无需关心不同平台的编译方法
# 命令行中常用的选项
-B
选项
-Bbuild
直接创建目录build
并生成bulid/Makefile
。
-D
选项
指定配置变量(缓存变量),例如使用
-DCMAKE_BUILD_TYPE=Release
会设置变量CMAKE_BUILD_TYPE
为 Release,该变量会保存在build/CMakeCache.txt
中。
-G
选项
指定生成器,支持的生成器可以通过
cmake -G
命令来查看
- Linux 系统默认用的是 Unix Makefiles;
- Windows 系统默认用的是 Visual Studio;
- MacOS 系统默认用的是 Xcode。
# CMakeLists.txt
写法
古代引用第三方库的写法比较繁琐,不在此列举,仅说明现代CMakeLists.txt
的具体写法:
在现代CMake中引用第三方库,在我们链接了之后,该库会自动携带其头文件目录等传播给自己的项目,无需手动添加:只需要一个链接即可。
cmake_minimum_required(VERSION 3.12)
project(MyProject LANGUAGES CXX)
find_package(TBB COMPONENTS tbb tbbmalloc REQUIRED)
add_executable(myapp myapp)
target_link_libraries(myapp TBB::tbb TBB::tbbmalloc)
编辑 (opens new window)
上次更新: 2023/08/14, 19:51:00