Question

Je vais avoir de problème pour obtenir les fichiers source et en-tête ajoutés dans mon projet Eclipse CDT avec CMake. Dans mon projet de test (qui produit et construit bien) je le CMakeLists.txt suivant:

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})

Cela fonctionne bien, mais les fichiers de projet Eclipse résultant ne contient pas de liens vers les fichiers source ou en-tête. Tout le monde sait pourquoi? Y a-t-il une autre commande cmake Je dois utiliser pour ajouter réellement les fichiers dans le projet?

Était-ce utile?

La solution 3

Le problème que j'avais été, je fait un "internaliser" construire au lieu d'un "out-of-source" build. Maintenant, il fonctionne très bien, et il était en fait beaucoup d'informations sur ce sur le wiki, mais en quelque sorte je mal comprise.

Autres conseils

Je me rends compte qu'il a été un moment que vous avez après cela, mais FWIW, il travaille est pour moi bien avec CMake 2.6 ou 2.7 versions (tronc), générant pour Eclipse / Ganymède. Ce que je fais est le premier run

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

qui génère les fichiers de projet Eclipse, ainsi que les fichiers makefile, puis « Importer projet » dans Eclipse.

fonctionne à merveille ...

sly

J'utilise CMake 2.4, pas 2.6 mais 2.4 ils mettent en garde contre l'utilisation spécifiquement Globs pour trouver les fichiers à construire.

En effet, il remarquerez si de nouveaux fichiers sont ajoutés ou supprimés, de sorte qu'il ne sera pas en mesure de comprendre les dépendances.

Si vous devez ajouter explicitement les fichiers à votre CMakeLists.txt alors ce fichier sera plus récent que les makefiles et les fichiers de cache. Alors CMake saura les régénérer.

Si les fichiers sont ajoutés avec un glob aucun fichier CMake connaît sur le changement avec vous ajoutez de nouveaux fichiers si CMake ne sait pas qu'il doit régénérer le makefile, etc. Ce sont les mêmes pour makefiles réguliers et des projets Visual Studio.

À moins que les CMake 2.6 docs dit explicitement qu'il est correct d'ajouter des fichiers comme cela, je l'éviter. Il est pas difficile de gérer les fichiers source dans CMake. À quelle fréquence vous ajoutez de nouveaux fichiers?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top