cmake_minimum_required(VERSION 3.16) project(C2SYS VERSION 1.0.0 LANGUAGES CXX) # ==================================================================== # C2SYS - 联合作战指挥环境任务自主规划软件系统 # 构建配置 # ==================================================================== set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # --- MSVC UTF-8 编译选项 --- if (MSVC) add_compile_options(/utf-8) endif() # --- 全局编译选项 --- add_compile_options(-Wall -Wextra -pedantic) if (NOT MSVC) add_compile_options(-Werror=return-type) endif() # --- 头文件路径 --- include_directories( ${CMAKE_CURRENT_SOURCE_DIR}/include ) # --- 源文件列表 --- set(SOURCES src/main.cpp src/app.cpp ) set(HEADERS include/app.hpp include/config.hpp ) # --- 主程序目标 --- add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS} ) target_include_directories(${PROJECT_NAME} PRIVATE $ $ ) # --- 测试目标 --- add_executable(${PROJECT_NAME}_test tests/basic_test.cpp src/app.cpp ) target_include_directories(${PROJECT_NAME}_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/include ) # --- 安装规则 --- install(TARGETS ${PROJECT_NAME} DESTINATION bin) install(DIRECTORY include/ DESTINATION include)