临时记录一下 --cmake如何组织多个目录的工程
# 设置核心库的名称 set(CORE_LIBRARY_NAME YourCoreLibraryName) # 收集所有的源文件 file(GLOB CORE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp") # 编译核心库为共享的动态库 add_library(${CORE_LIBRARY_NAME} SHARED ${CORE_SOURCES}) # 设置库的可见性 target_compile_options(${CORE_LIBRARY_NAME} PRIVATE "-fvisibility=default") # 设置库的输出路径 set_target_properties(${CORE_LIBRARY_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/../lib") # 添加其他依赖项,如果有的话 target_link_libraries(${CORE_LIBRARY_NAME} other_dependency_libs)
在这段代码中,CORE_SOURCES
的定义使用了 file
命令的 GLOB
参数,它会匹配当前目录下的所有 .cpp
文件,并将它们作为源文件添加到 CORE_SOURCES
列表中。
请注意,${CMAKE_CURRENT_SOURCE_DIR}
是指当前处理的 CMakeLists.txt 文件所在的目录。你可以根据实际情况调整它,以确保正确地收集核心源文件。