cmake学习
经典的CMakeLists.txt写法:
cmake_minimum_required(VERSION 3.10)
# specify the C++ standard
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# set the project name
project(Tutorial)
# add the executable
add_executable(Tutorial tutorial.cxx)
cmake --build . 即compile/link the project
脚本自动化生成
cd debug
cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build .
cd ../release
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
设置debug的后缀
set(CMAKE_DEBUG_POSTFIX _d)
set_target_properties(Tutorial
PROPERTIES
DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
# specify the C++ standard
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
install(TARGETS ${installable_libs}
DESTINATION lib
EXPORT MathFunctionsTargets)
install(FILES MathFunctions.h DESTINATION include)
# define the symbol stating we are using the declspec(dllexport) when
# building on windows
target_compile_definitions(MathFunctions PRIVATE "EXPORTING_MYMATH")
cmake是一个buildsystem
cmake的项目是由target定义的,生成目标有可执行程序和库两种,分别用 add_executable() 和 add_library()
cmake --open .