# 設置核心庫的名稱 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 文件所在的目錄。你可以根據實際情況調整它,以確保正確地收集核心源文件。