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()