2009-05-20 145 views
2

我在使用CMake將我的Eclipse CDT項目添加到源代碼和頭文件時出現問題。在我的測試項目(生成並建立罰款)我的CMakeLists.txt如下:如何使用CMake將文件添加到Eclipse CDT項目?

cmake_minimum_required(VERSION 2.6) 

project(WINCA) 

file(GLOB WINCA_SRC_BASE "${WINCA_SOURCE_DIR}/src/*.cpp") 
file(GLOB WINCA_SRC_HPP_BASE "${WINCA_SOURCE_DIR}/inc/*.hpp") 

add_library(WINCABase ${WINCA_SRC_BASE} ${WINCA_SRC_HPP_BASE}) 

也能正常工作,但所產生的Eclipse項目文件不包含鏈接到源文件或頭文件。有人知道爲什麼是否有任何其他cmake命令我不得不用於實際添加文件到項目中?

回答

1

我有問題我做了「內源」構建,而不是一個「亂源」的構建。現在它工作正常,它實際上在Wiki上有很多信息,但不知何故,我誤解了它。

3

我使用CMake 2.4,而不是2.6,但在2.4中,他們特別警告不要使用GLOB來查找要構建的文件。

這是因爲它會注意到是否添加或刪除了新文件,因此無法找出依賴關係。

如果您必須將文件明確添加到您的CMakeLists.txt中,那麼此文件將比makefile和緩存文件更新。所以CMake會知道重新生成它們。

如果文件中添加了glob否文件CMake知道有關更改與添加新文件,所以CMake不知道它必須重新生成makefile等。這對於常規makefile和Visual Studio項目是相同的。

除非CMake 2.6文檔明確表示可以添加這樣的文件,否則我會避免它。在cmake中管理源文件並不難。您多久添加一次新文件?

+0

我嘗試添加文件,但仍然沒有。我也試過使用source_group commando,它對VS生成器工作正常,但仍然沒有 – Rolle 2009-05-25 09:18:23

5

我知道它已經有一段時間,因爲你已經張貼此,但FWIW,它與CMake的2.6或2.7(主幹)版本的工作對我罰款,生成的Eclipse /木衛三。我要做的就是第一次運行

cmake -G "Eclipse CDT4 - Unix Makefiles" /path/to/src 

產生Eclipse項目文件以及makefile文件,然後選擇「導入項目」在Eclipse。

精美的作品...

狡猾

相關問題