diff --git a/CMakelists.txt b/CMakelists.txt index f80f03d..dfd6194 100644 --- a/CMakelists.txt +++ b/CMakelists.txt @@ -1,69 +1,12 @@ -# 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) +add_subdirectory(library) +add_subdirectory(src) diff --git a/config.h.in b/config.h.in deleted file mode 100644 index 458ea57..0000000 --- a/config.h.in +++ /dev/null @@ -1,2 +0,0 @@ -#cmakedefine USE_DEMO -#cmakedefine VERSION "@VERSION@" \ No newline at end of file diff --git a/library/CMakelists.txt b/library/CMakelists.txt new file mode 100644 index 0000000..134bf65 --- /dev/null +++ b/library/CMakelists.txt @@ -0,0 +1,13 @@ + +project(class) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +# 当前目录下的文件 -> 写入变量 +aux_source_directory(. SRCS) + +# 生成链接库 +add_library(${PROJECT_NAME} SHARED ${SRCS}) + +# 配置安装库 +install (TARGETS ${PROJECT_NAME} DESTINATION bin) diff --git a/src/list.c b/library/list.c similarity index 100% rename from src/list.c rename to library/list.c diff --git a/src/list.h b/library/list.h similarity index 100% rename from src/list.h rename to library/list.h diff --git a/src/CMakelists.txt b/src/CMakelists.txt index 60c8c11..218b4cd 100644 --- a/src/CMakelists.txt +++ b/src/CMakelists.txt @@ -1,17 +1,14 @@ -# 当前目录下的文件 -> 写入变量 -aux_source_directory(. DIR_LIB_SRC) +project(demo) +set(CMAKE_INCLUDE_CURRENT_DIR ON) -# 生成链接库 -# add_library(list ${DIR_LIB_SRC}) -add_library(list STATIC ${DIR_LIB_SRC}) -add_library(list_d SHARED ${DIR_LIB_SRC}) +aux_source_directory(. SRCS) -# 配置安装头文件 -install (FILES list.h DESTINATION include) -# 配置安装库 -install (TARGETS list DESTINATION bin) +add_executable(${PROJECT_NAME} ${SRCS}) -# install (TARGETS list_d DESTINATION bin) -# install (TARGETS list_d DESTINATION lib) +target_link_libraries( + ${PROJECT_NAME} + class +) +install(TARGETS ${PROJECT_NAME} DESTINATION bin) diff --git a/main.c b/src/main.c similarity index 100% rename from main.c rename to src/main.c