2014-06-24 2 views
2

Je développe un projet utilisant CMake qui implique un grand nombre de scripts Python. Dans le cadre de mon flux de travail, je génère des projets Eclipse à partir des fichiers CMake, puis j'utilise PyDev dans Eclipse pour éditer et tester les scripts. Un problème que j'ai, cependant, est que chaque fois modifier CMakeLists.txt, il régénère le projet Eclipse qui écrase toute configuration PyDev (PYTHONPATH, Python Nature, références de projet, etc) que j'ai défini.Comment empêcher CMake de détruire la configuration de PyDev dans le projet Eclipse?

Ce que je voudrais faire est une des conditions suivantes:

1) ajouter une certaine manière la configuration PyDev à mon CMakeLists.txt afin qu'il soit inclus dans le projet généré.

2) Avoir un outil en ligne de commande qui fonctionne après CMake qui modifie le projet pour inclure le contenu PyDev.

Répondre

2

J'ai regardé dans le même problème pendant un moment maintenant, et j'ai finalement trouvé la solution. Il semble que dans CMake 3.0+, ils ont introduit une propriété globale appelée ECLIPSE_EXTRA_NATURES, qui peut être utilisée à cette fin. Il suffit d'inclure la ligne suivante dans votre fichier CMakeLists.txt:

set_property(GLOBAL APPEND 
    PROPERTY ECLIPSE_EXTRA_NATURES "org.python.pydev.pythonNature") 

et exécuter CMake (comme d'habitude):

cmake <Folder_Containing_CMakeLists.txt> -G"Eclipse CDT4 - Unix Makefiles" 

Vous verrez maintenant que le fichier .project généré contient l'élément <nature> nécessaire.

Questions connexes