我試圖建立一個使用CMake的構建系統,該構建系統是由幾個較小的項目組成的中等規模的項目,其中一些項目是在外部開發的。目錄結構,我想是這樣的:CMAKE項目依賴關係
BASEDIR
|--libA
| |-src (.cxx, source files)
| |-libA (header files, such that #include statements are "libA/headerA.h")
| |-bin (executable, binary, object files)
| |-build (CMake output, makefiles, platform specific stuff, not in CVS/SVN)
| |-CMakeLists.txt
|
|--libB
| |-- ..similar structure
我認爲力霸和libB作爲單獨的項目。有可能,libA的配置還會描述鏈接到外部庫(如libxml2等),並設置適當的鏈接選項幷包含這些包的路徑。我希望libB依賴於libB並能夠獲取一組宏來自動附加到,例如,它是LD_LIBRARY_PATH,INCLUDES變量等等,以便它可以適當地鏈接到libA和所有libA需要的內容一種可擴展的方式。
我曾與另一個配置管理工具,這很好,但沒有成爲一個行業標準,所以想轉移到cmake。我還沒有看到CMake如何處理這些相互依賴關係的一個很好的例子 - 任何人都知道一個好的起點?我是否需要'包含($(CMAKE_MODULES_PATH)libA/CMakeLists.txt)'還是有另一個我需要創建的文件。謝謝。
不知道如何使這個文件會有所幫助。雖然我們在我們的項目中有這樣的設置。 – Versatile