13
我對CMake很新。事實上,我正在通過Kdevelop4 widh C++來嘗試它。CMake子目錄依賴項
我有習慣爲我創建的每個名稱空間創建子目錄,即使所有源都必須編譯並鏈接到一個可執行文件中。那麼,當我在kdevelop下創建一個目錄時,它會使用add_subdirectory命令更新CMakeLists.txt,並在其下創建一個新的CMakeLists.txt,但這不會將其下的源添加到編譯列表中。
我有根的CMakeLists.txt如下:
project(gear2d) add_executable(gear2d object.cc main.cc) add_subdirectory(component)
在部件/ I有欲被編譯和鏈接,以產生可執行gear2d來源。我怎麼能做到這一點?
CMake FAQ有this入口,但如果這是答案,我寧願留在普通的Makefiles。
有沒有辦法做到這一點?
這做到了!非常感謝。對於庫的含義,我還有其他的概念,實際上我期待的就是在子目錄CMakeListrs.txt中添加源代碼,就像在根目錄中添加源代碼一樣,使用add_executable。再次感謝。 – Leonardo 2011-04-13 07:26:57
這基本上增加了一個新的(庫)目標。即使這個目標沒有鏈接到本身,問題可能會在稍後出現時設置的標誌或其他東西... 更好的答案在這裏:http://stackoverflow.com/questions/8934295/add-source-in -a-subdirectory-to-a-cmake-project – kralyk 2012-04-28 11:48:46
@kralyk:我同意新的圖書館目標。爲了方便,我瀏覽了「鏈接到一個單一的可執行文件」,只是想暗示另一種通過目錄和庫分發源文件的方法。 – 2012-05-02 06:53:03