现代cmake使用技巧

1 min read
- 不要再用nmake/make了,直接使用—build/—install吧,也不需要特意定义CMAKE_BUILD_TYPE,非常方便
#编译
cmake --build . --config Debug/Release
#安装,将安装到CMAKE_INSTALL_PREFIX下,默认是安装Release配置
cmake --install . --config Debug/Release
- 环境变量,设定好后就是全局可用,不会因为add_subdirectory而变化,在多级的子项目时尤其好用:
set(ENV{PROJ_BASE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
- 带缓存的PATH变量,可让Visual Studio/CMake GUI等工具有一个可选择文件夹路径的变量,并保存在缓存中,非常方便编辑:
set(OPENCV_DIR $ENV{OPENCV_ROOT} CACHE PATH "Root path of opencv")
if(DEFINED OPENCV_DIR)
list(APPEND CMAKE_PREFIX_PATH ${OPENCV_DIR})
endif()
- 设置exe/dll/pdb文件输出路径:
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY $ENV{PROJ_OUTPUT_DIR}/out)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY $ENV{PROJ_OUTPUT_DIR}/out)
set(CMAKE_PDB_OUTPUT_DIRECTORY $ENV{PROJ_OUTPUT_DIR}/pdbs)
0
Subscribe to my newsletter
Read articles from 源赖朝 directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
