2009-05-20 148 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。

精美的作品...

狡猾

相关问题