2009-10-20 6 views
2

Les projets sur lesquels je travaille sont organisés en dossiers racine (VOB) comme suit:Puis-je et dois-je utiliser CMake pour ma configuration

|--BUILD_FOLDER 
| |-- BUILD_SCRIPTS 
| |-- SOME_MORE_CODE 
| 
|--COMPONENT_A 
|--COMPONENT_B 

Parce qu'ils sont ClearCase VOBS il n'y a pas de niveau supérieur dossier racine à placer a CMakeLists.txt Cette configuration ne semble pas convenir au modèle CMake ...

  • Est-ce un arrêt de l'utilisation de CMake?
    • Il semble que CMake exige que tout soit hiérarchique lorsqu'il descend d'un point. .
  • CMake est-il le bon outil pour les cibles non-Windows/Linux?
    • Les projets utilisent des compilateurs c personnalisés et invoquent des outils tiers pour générer des fichiers d'application dans plusieurs formats.
+1

Je ne sais rien de Cmake, et je ne peux pas vraiment dire si c'est une bonne question ou non, mais je vois qu'il y a un downvote sans commentaire, donc je vais le remettre en question. Donc là! –

Répondre

0

Vos composants ne doivent pas être sous-répertoires du répertoire que vous avez le fichier dans CMakeLists.txt. Placez-le dans le dossier avec la même rang que des composants et il suffit d'utiliser des chemins relatifs dans votre ADD_SUBDIRECTORY commande:

ADD_SUBDIRECTORY(../componentA) 
ADD_SUBDIRECTORY(../componentB) 

Voilà comment je vous suggère d'organiser vos dossiers

|--BUILD_FOLDER   <-- this directory is created by "make" (???) 
| |-- BUILD_SCRIPTS 
| |-- SOME_MORE_CODE 
| 
|--META_FOLDER <--- place CMakeLists.txt here 
|--COMPONENT_A 
|--COMPONENT_B 

mise en page de répertoire similaire a été utilisée pour construire OpenJDK 6 (mais au lieu de CMake, une marque habituelle a été utilisée ces jours-ci).

Questions connexes