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
)