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 @   *^VV^*  阅读(204)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示