2011-08-07 120 views
1

我有一個用cmake構建的項目。在我的cmakelists中,我有一個 add_subdirectory(externals/foo) 構建依賴關係「foo」,它具有它自己的cmakelists。cmake,add_subdirectory沒有將其添加到生成的項目文件?

現在它是這樣的,所有的foo源文件和頭文件都包含在生成的Project文件中(我使用的是Eclipse)。但我只想讓我的項目在Eclipse中可用(Eclipse在相同文件夾結構中的子項目存在問題)。 以便「foo」中的cmakelists僅用於自動構建「foo」並將其鏈接到我的項目。但我不想在我的IDE中看到它。

這可能嗎?如果是的話:如何?

回答

1

當我在CMake中使用Eclipse時,我手動創建Eclipse項目(使用New Project嚮導),而對於CMake,我使用標準makefile生成器。它需要一些額外的設置:如果您正在執行源外構建,則需要在項目屬性中設置構建目錄,而且我通常將構建命令設置爲make VERBOSE=1

我不確定,因爲我沒有使用Eclipse生成器,但由於缺乏更好的解決方案,或許這種方法可以解決您的問題,因爲它可以讓您更好地控制Eclipse項目。

0

不,如果你不告訴它編譯什麼,那麼ide應該怎麼知道編譯的內容?如果您不想在項目文件中包含項目,則不要添加它。

本身只是編譯外部LIB(使用「cmake的外部對象/ foo」的),然後用

target_link_libraries(your_project externals/foo/bin/foo.lib) 
添加庫中項目的的CMakeLists.txt
相關問題