导图社区 CMake 常用指令
这是一篇关于CMake 常用指令的思维导图,列举了常用的命令和内置变量,非常详细的资料,建议收藏起来备用!
社区模板帮助中心,点此进入>>
英语词性
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
【华政插班生】文学常识-两宋
民法分论
日语高考動詞の活用
CMake
命令
cmake_minimum_required
指定最低的cmake版本
cmake_minimum_required(VERSION 3.5)
project
指定project名称
project (hello_cmake)
add_executable
生成可执行文件
add_executable(hello_cmake main.cpp)
add_library
生成动态库文件
动态库:add_library(${PROJECT_NAME} src/sublib1.cpp)
静态库:add_library(hello_library STATIC src/Hello.cpp )
set
创建一个变量
set(SOURCES src/hello.cpp src/main.cpp)
file
使用通配符查找文件
file(GLOB SOURCES "src/*.cpp")
target_include_directories
告诉编译器,项目需要包含哪些文件夹
target_include_directories(target PRIVATE ${PROJECT_SOURCE_DIR}/include )
PRIVATE:作用域为本项目
PUBLIC:作用域包括本项目并导出
target_link_libraries
链接库文件
target_link_libraries( cmake_examples_inst_bin PRIVATE cmake_examples_inst )
add_subdirectory
添加一个子工程,子工程目录下需要有CMakeLists.txt文件
configure_file
在文件中进行变量替换,源文件中的模板:const char* ver = "${cf_example_VERSION}";
configure_file(ver.h.in ${PROJECT_BINARY_DIR}/ver.h)
install
CMake 提供了添加 make install 目标的能力,以允许用户安装二进制文件、库和其他文件,基本安装位置由变量 CMAKE_INSTALL_PREFIX 控制
install (TARGETS cmake_examples_inst_bin DESTINATION bin)
CMake 有许多内置的构建配置,可用于编译您的项目
Release - Adds the -O3 -DNDEBUG flags to the compiler Debug - Adds the -g flag MinSizeRel - Adds -Os -DNDEBUG RelWithDebInfo - Adds -O2 -g -DNDEBUG flags
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release")
"MinSizeRel" "RelWithDebInfo")
内置变量
CMAKE_SOURCE_DIR
根目录
CMAKE_CURRENT_SOURCE_DIR
当前目录,如果使用了sub-project
PROJECT_SOURCE_DIR
项目源码路径
CMAKE_BINARY_DIR
执行cmake指令的目录
CMAKE_CURRENT_BINARY_DIR
当前工作目录
PROJECT_BINARY_DIR
当前项目的工作目录