繁体   English   中英

如何使用CMake将文件添加到Eclipse CDT项目?

[英]How to add files to Eclipse CDT project with CMake?

我在使用CMake将源文件和头文件添加到我的Eclipse CDT项目时遇到问题。 在我的测试项目(生成并构建正常)中,我有以下CMakeLists.txt:

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命令我必须使用它来实际将文件添加到项目中?

我意识到你发布这个已经有一段时间了,但是对于我来说,使用CMake 2.6或2.7(主干)版本对我来说很好,为Eclipse / Ganymede生成。 我做的是先跑

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

它生成Eclipse项目文件以及makefile,然后生成Eclipse中的“Import Project”。

工作得很漂亮......

狡猾

我使用的是CMake 2.4,而不是2.6,但在2.4中他们特别警告不要使用GLOB来查找要构建的文件。

这是因为它会注意到是否添加或删除了新文件,因此无法找出依赖项。

如果必须将文件显式添加到CMakeLists.txt,则此文件将比makefile和缓存文件更新。 所以CMake会知道重新生成它们。

如果文件添加了一个glob没有文件CMake知道更改,你添加新文件,因此CMake不知道它必须重新生成makefile等。这对于常规makefile和Visual Studio项目是相同的。

除非CMake 2.6文档明确表示可以添加这样的文件,否则我会避免它。 在cmake中管理源文件并不难。 您多久添加一次新文件?

我遇到的问题是我做了一个“in-source”构建而不是“out-of-source”构建。 现在它工作正常,它实际上在Wiki上有很多信息,但不知怎的,我误解了它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM