mirror of
https://gitee.com/apaki/cmake_demo.git
synced 2025-05-17 20:01:36 +08:00
70 lines
1.7 KiB
Plaintext
70 lines
1.7 KiB
Plaintext
|
||
# 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)
|