临时记录一下 --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 文件所在的目录。你可以根据实际情况调整它,以确保正确地收集核心源文件。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2013-04-08 STL学习笔记-- multimap