目录结构
CMakeLists.txt 编写
# 指定 CMake 的最小版本要求
cmake_minimum_required(VERSION 3.0)
# 指定工程名称
project(soldier)
# 显式定义变量
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -Wall")
# 向工程添加头文件搜索路径
include_directories(${CMAKE_SOURCE_DIR}/include)
# 生成可执行文件 my_camke_exe
add_executable(my_cmake_exe main.cpp src/Gun.cpp src/Soldier.cpp)
外部构建
mkdir build
cd build
cmake ..
make
常用变量
CMAKE_C_FLAGS : gcc 编译选项
CMAKE_CXX_FLAGS : g++ 编译选项
CMAKE_C_COMPILER : 指定 C 编译器
CMAKE_CXX_COMPILER : 指定 C++ 编译器
CMAKE_BUILD_TYPE : 编译类型
EXECUTABLE_OUTPUT_PATH : 可执行文件输出路径
LIBRARY_OUTPUT_PATH : 库文件输出路径
CMAKE_SOURCE_DIR 或 PROJECT_SOURCE_DIR : 顶层 CMakeLists.txt 存在的路径
CMAKE_BINARY_DIR 或 PROJECT_BINARY_DIR : CMakeLists.txt 生成文件所在的目录,外部构建即 build/