讓我們說有以下目錄結構:cmake的:添加依賴不是子目錄
root
|
+--projects
| |
| +-test
| |
| +-CMakeFiles.txt
|
+--libs
|
+-testlib
|
+-CMakeFiles.txt
測試包含CMakeFiles.txt和TESTLIB還含有CMakeFiles.txt。 「test」生成可執行文件,「testlib」生成靜態庫。
我想要「測試」與「testlib」鏈接,而不使用符號鏈接,也不要將「testlib」庫移動到「test」中的子目錄中。
因爲「TESTLIB」不是的「測試」的子目錄,我不能這樣做
add_subdirectory("../../libs/testlib")
在測試的CMakeFiles.txt - cmake的會抱怨「TESTLIB」不是「測試」子目錄是。另外,因爲系統有幾個不同的編譯器,所以我不能簡單地將「testlib」庫安裝到某種中央目錄中,所以我想測試以編譯testlib的本地副本並與它鏈接(即如同testlib是一個子目錄)。我也想「測試」項目自動重建「testlib」,如果它已被更改。
那麼,我該如何處理呢? cmake 2.8.4,winxp sp3。
感謝 - 這正是我需要的。 – SigTerm 2012-04-04 13:00:38
@Fraser - 是否可以在testlib_build的CMakeFile中指定二進制目錄? – tower120 2015-08-09 18:49:32
@ tower120 - 不,你需要在'add_subdirectory'調用中指定它。 – Fraser 2015-08-14 00:10:01