0
我正在將手寫Makefiles的庫重寫爲使用cmake。我被困在需要從庫B庫庫A的地方。用cmake創建一個可找到的共享庫
我可以使用find_package找到這些庫,但是當它們被鏈接時,cmake會抱怨沒有構建.so文件的規則,因爲它正在構建目錄而不是安裝的目錄中尋找它。
這是解釋如果我看看/usr/lib/cmake/library/libraryConfigVersion.cmake文件,其中包含此硬編碼路徑。此文件創建了以下步驟:
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/libraryConfigVersion.cmake"
VERSION ${LIBRARY_VERSION}
COMPATIBILITY AnyNewerVersion
)
export(EXPORT libraryTargets
FILE "${CMAKE_CURRENT_BINARY_DIR}/library/libraryConfigVersion.cmake"
NAMESPACE library::
)
(我用'庫'取代了我的庫名稱)。我怎樣才能讓cmake寫出正確的路徑,以便我可以輕鬆地鏈接到其他cmake項目的庫中?