Comment lire un CMake Variable dans le code source C++

J'aimerais enregistrer le numéro de version de ma bibliothèque en un seul endroit. J'ai donc défini une variable dans le CMake-fichier:

    SET(LIBINTERFACE_VERSION 1 CACHE INTEGER "Version of libInterface")

Avec cette définition, je peux générer une version.fichier rc selon Microsoft définition, qui je compile dans la bibliothèque et par la suite s'affiche correctement dans la fenêtre propriétés de mon fichier dll.

Maintenant, je voudrais utiliser ce CMake variable dans mon code source c++ aussi, mais en fait je n'obtenez pas une solution de travail. J'ai essayé différentes choses comme ceci:

    #ifndef VERSION_LIBINTERFACE
    #  define VERSION_LIBINTERFACE @LIBINTERFACE_VERSION@
    #endif

ou ceci:

    unsigned int getLibInterfaceVersion()
    {
        return @LIBINTERFACE_VERSION@;
    }

Mais le compilateur n'accepte pas n'importe quoi. Depuis mes travaux de recherche dans le CMake-la Documentation n'obtenez pas de résultats, j'espère que quelqu'un pourrait me donner des conseils essentiels.

Merci d'avance.

  • Vous avez besoin pour passer cette valeur de la variable à compilateur comme précompilateur constante. Syntaxe exacte dépend du compilateur utilisé.
  • Je suis l'aide de Visual Studio 2010 Compilateur. Donc je peux l'utiliser comme les constantes énumérées dans msdn.microsoft.com/en-us/library/b0084kay(v=vs. 80).aspx? Pouvez-vous me donner un exemple?
InformationsquelleAutor Snowfox | 2011-10-26