cmake多文件夹编译

文件目录如下:

说明:build目录为编译中间文件存放目录,其他为源代码目录。

进入build目录执行cmake ..,再执行make

 根目录下的CMakeLists.txt内容:

#项目名

project(SERVER)
cmake_minimum_required(VERSION 3.10)

#包含头文件路径
include_directories("${PROJECT_SOURCE_DIR}/algorithm")
include_directories("${PROJECT_SOURCE_DIR}/include")
include_directories("${PROJECT_SOURCE_DIR}/workfun")

#包含子目录
add_subdirectory(algorithm)
add_subdirectory(workfun)

#生成可执行文件及依赖

add_executable(server main.c)

#可执行文件连接时需要使用到的库及公有/私有连接
target_link_libraries(
  server
  PRIVATE
  algorithm
  workfun
)

algorithm目录下的CMakeLists.txt内容:

aux_source_directory(. ALGORITHM)
add_library(algorithm ${ALGORITHM})

workfun目录下的CMakeLists.txt内容:

aux_source_directory(. ALGORITHM)
add_library(workfun ${ALGORITHM})

#需要指定链接时使用到的库文件
target_link_libraries(
  workfun
  PRIVATE
  algorithm
)

posted @ 2023-06-29 09:36  *^VV^*  阅读(112)  评论(0编辑  收藏  举报