2012-09-10 5 views
1

Voici le scénario:Génération de fichiers de projet IDE

On crée une belle bibliothèque logicielle/module en C/++.

Maintenant, nous voulons faciliter l'utilisation de cette bibliothèque/module par les nouveaux utilisateurs. Donc, on veut fournir des fichiers de projet IDE où tous les paramètres d'inclusion, les drapeaux du compilateur et les paramètres de l'éditeur de liens sont correctement définis.

On veut fournir des fichiers de projet pour de nombreux environnements de développement différents sous différentes plateformes telles que: Linux (32 bits & 64 bits), Windows (32 bits & 64 bits), Mac (32 bits & 64 bits), CodeBlocks, Eclipse CDT, KDevelop3, CodeLite, Microsoft Visual studio, etc.

(Supposons que tout le chemin de les inclure les fichiers et les fichiers de bibliothèque et tous les drapeaux du compilateur sont connus. par exemple, par des chemins statiques d'un SDK téléchargeable)

donc un utilisateur qui veut utiliser cette bibliothèque doit simplement:

  • Installer la bibliothèque/Module
  • Choisissez le bon fichier de projet (en fonction du système d'exploitation et IDE de l'utilisateur)
  • Démarrer le codage
  • (tous comprennent les paramètres, les drapeaux du compilateur & paramètres de l'éditeur de liens sont déjà définis correctement dans le fichier de projet)
  • (pas besoin pour l'utilisateur de configurer manuellement les paramètres comprennent, drapeaux du compilateur & paramètres de l'éditeur de liens)

Comment pourrait-on générer facilement s uch fichiers de projet à partir des paramètres d'inclusion connus, les indicateurs de compilation et les paramètres de l'éditeur de liens.

J'ai déjà regardé CMake (qui est très proche de l'objectif final), mais il crée un dossier CMake supplémentaire pour les fichiers de projet IDE et ne copie pas d'exemple de source possible dans le répertoire de construction. (est peut-être possible d'obtenir CMake pour générer des fichiers de projet sans le dossier CMake et copier les fichiers source dans le dossier de construction?)

+0

Marque standard. Le regroupement de fichiers de projet avec du code est une mauvaise idée. Certains IDE peuvent utiliser un Makefile existant. – dmp

+1

Google a développé un outil gyp pour faire cela pour Chromium: http://code.google.com/p/gyp/wiki/GypVsCMake – TJD

+0

BTW, L'utilisation préférée de CMake est de ne pas avoir le dossier binaire (sortie de construction) dans le dossier d'origine. Je les ai placés dans un arbre complètement différent et j'ai une relation telle qu'une seule arborescence source est utilisée pour plus d'un arbre de compilation/construction. De cette façon, je peux cibler indépendamment des versions 32 bits et des versions 64 bits et utiliser plusieurs versions différentes du compilateur. – drescherjm

Répondre

3

(tous comprennent les paramètres, les drapeaux du compilateur & paramètres de liaison sont déjà correctement positionnés dans le fichier de projet)

(pas besoin de l'utilisateur manuellement mis en place comprennent les paramètres, les drapeaux du compilateur & paramètres de l'éditeur de liens)

Il est possible ONL y si votre projet n'a pas de dépendances. Sinon, vous ne pouvez pas savoir où se trouvent les bibliothèques et les en-têtes de deps sur l'ordinateur de l'utilisateur. CMake a été créé exactement pour cela - trouver des dépendances et générer des fichiers de projet.

mais il crée un dossier CMake supplémentaire au fichier de projet IDE

Si vous parlez de la dir binaire, alors il peut se trouver partout, pas nécessaire dans le projet dir.

et ne copie pas non plus d'exemple de source dans le répertoire de construction.

Il est possible avec la fonction configure_file, ou en exécutant ${CMAKE_PROGRAM} -E copy.

Questions connexes