# 0. cmake 最低版本号要求 cmake_minimum_required(VERSION 3.8) # 0. 项目信息 project(demo) # 2. 添加当前路径 set(CMAKE_INCLUDE_CURRENT_DIR ON) # 2. 配置项目 option(USE_DEMO "use demo application interface" ON) set(VERSION "1.0") # 2. 配置文件 configure_file( "${PROJECT_SOURCE_DIR}/config.h.in" "${PROJECT_BINARY_DIR}/config.h" ) # 2. 配置条件 if(USE_DEMO) # include_directories(.) # else() # pass endif(USE_DEMO) # 0. 查找当前目录下的所有文件,并将名称保存在DIR_SRC中 aux_source_directory(. DIR_SRC) # 1. 添加子目录 add_subdirectory(src) # 1. 添加头文件路径 include_directories(src) # 0. 指定生成目标 add_executable(demo ${DIR_SRC}) # 1. 添加链接库 # 1.A 如果是动态库,修改了安装路径之后,exe就找不到了怎么破? # link_directories(${PROJECT_SOURCE_DIR}/lib) # target_link_libraries(demo list_d) # 1.B 静态库 target_link_libraries(demo list) # 3. 配置安装路径 set(CMAKE_INSTALL_PREFIX "./release") install(TARGETS demo DESTINATION bin) install (FILES "${PROJECT_BINARY_DIR}/config.h" DESTINATION include) # # 4. 启用测试 # enable_testing() # # 测试程序是否成功运行 # add_test (NAME test_demo COMMAND demo 1 2 3 5 8) # 5. 支持GDB set(CMAKE_BUILD_TYPE "Debug") set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb") set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall") # # 构建一个 CPack 安装包,windows还得添加打包工具 # # include (InstallRequiredSystemLibraries) # set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/License.txt") # set (CPACK_PACKAGE_VERSION_MAJOR "${VERSION}") # include (CPack)