使用add_subdirectory命令将每个子目录添加到父目录的CMakeLists.txt文件中,并使用target_link_libraries命令链接库。
# CMakeLists.txt in parent directory
add_subdirectory(subdir1)
add_subdirectory(subdir2)
# CMakeLists.txt in subdir1
add_library(lib1 STATIC lib1.cpp)
target_include_directories(lib1 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(lib1 PUBLIC lib2)
# CMakeLists.txt in subdir2
add_library(lib2 STATIC lib2.cpp)
target_include_directories(lib2 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
# CMakeLists.txt in parent directory
add_executable(main main.cpp)
target_link_libraries(main PUBLIC lib1)