cmake项目使用导入静态库的方式添加源文件

1.源文件

参照cmake项目使用递归CmakeLists.txt的方式添加源文件

先构建项目结构

2.修改

1.修改main.cpp

修改include源文件的方式为

#include"message.h"#include"sort_algorithms.h"

2.修改CMakeLists.txt

添加如下行

# 主程序直接依赖消息/排序工具库和链表工具库。target_link_libraries(${PROJECT_NAME}PRIVATE message_utils sort_utils)

3.修改src/utils/message/CMakeLists.txt

file(GLOB MESSAGE_UTILS_SOURCES CONFIGURE_DEPENDS"${CMAKE_CURRENT_SOURCE_DIR}/*.cpp""${CMAKE_CURRENT_SOURCE_DIR}/*.cc""${CMAKE_CURRENT_SOURCE_DIR}/*.cxx""${CMAKE_CURRENT_SOURCE_DIR}/*.h""${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")add_library(message_utils STATIC ${MESSAGE_UTILS_SOURCES})target_include_directories(message_utils PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})# 自动扫描并添加所有子文件夹file(GLOB ALL_ENTRIES CONFIGURE_DEPENDS"${CMAKE_CURRENT_SOURCE_DIR}/*")foreach(ENTRY ${ALL_ENTRIES})if(IS_DIRECTORY ${ENTRY})get_filename_component(DIR_NAME ${ENTRY}NAME)add_subdirectory(${DIR_NAME})endif()endforeach()

4.修改src/utils/sort/CMakeLists.txt

file(GLOB SORT_UTILS_SOURCES CONFIGURE_DEPENDS"${CMAKE_CURRENT_SOURCE_DIR}/*.cpp""${CMAKE_CURRENT_SOURCE_DIR}/*.cc""${CMAKE_CURRENT_SOURCE_DIR}/*.cxx""${CMAKE_CURRENT_SOURCE_DIR}/*.h""${CMAKE_CURRENT_SOURCE_DIR}/*.hpp")add_library(sort_utils STATIC ${SORT_UTILS_SOURCES})target_include_directories(sort_utils PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})# 自动扫描并添加所有子文件夹file(GLOB ALL_ENTRIES CONFIGURE_DEPENDS"${CMAKE_CURRENT_SOURCE_DIR}/*")foreach(ENTRY ${ALL_ENTRIES})if(IS_DIRECTORY ${ENTRY})get_filename_component(DIR_NAME ${ENTRY}NAME)add_subdirectory(${DIR_NAME})endif()endforeach()