Articles of cmake

Comment configurer Cmake pour générer des projets en-tête uniquement?

Le titre dit tout: je veux configurer des projets de bibliothèque C ++ (ou C) uniquement en-têtes, mais je ne trouve pas de méthode propre. Après quelques recherches, j’ai constaté que vous ne pouviez pas configurer une bibliothèque normale en utilisant add_library pour cela, car cela nécessite un fichier source compilable. Une façon de le […]

CMake: comment passer des macros de préprocesseur

Comment puis-je passer une macro au préprocesseur? Par exemple, si je veux comstackr une partie de mon code car un utilisateur veut comstackr un test unitaire, je le ferais: #ifdef _COMPILE_UNIT_TESTS_ BLA BLA #endif //_COMPILE_UNIT_TESTS_ Maintenant, je dois transmettre cette valeur de CMake au préprocesseur. Définir une variable ne fonctionne pas, alors comment puis-je y […]

Générer un projet C # à l’aide de CMake

J’essaie de générer un projet C # dans une base de code C ++ CMake existante sous Windows. Après quelques recherches, je n’ai pu trouver que deux projets construisant leurs propres compilateurs CSharp pour CMake: gdcm et kde . J’ai essayé les deux. Malheureusement, le premier n’a pas réussi à générer un projet C #. […]

Comment définir la variable d’environnement de chemin d’access à l’aide de CMake et Visual Studio pour exécuter le test

J’utilise CMake pour générer des fichiers de projet Visual Studio. Je veux exécuter l’exécutable de test après avoir défini la variable d’environnement PATH pour pouvoir charger la DLL requirejse. J’ai essayé selon la discussion à http://www.mail-archive.com/cmake@cmake.org/msg21493.html mais cela ne fonctionne pas. Avez-vous utilisé CMake avec Visual Studio à cette fin? S’il vous plaît partager vos […]

Comment utiliser l’outil include-what-you-use avec CMake pour détecter les en-têtes inutilisés?

L’outil include-what-you-use peut être utilisé pour détecter les en-têtes inutiles. J’utilise CMake pour mon projet de logiciel C ++. Comment puis-je demander à CMake d’exécuter automatiquement include-what-you-use sur les fichiers sources de mon projet logiciel?

CMake vérifier qu’un fichier local existe

Dans mon script CMake, je veux voir si j’ai un fichier sur mon système, et si c’est le cas, faire quelque chose avec cela, sinon, faire quelque chose avec un fichier par défaut. Voici le code: find_file( ${project_name}_${customer}_config ${ROOT}/configuration/${customer}/configuration.${project_name}.xml ) if(NOT ${${project_name}_${customer}_config} STREQUAL ${project_name}_${customer}_config-NOTFOUND ) configure_file(${ROOT}/configuration/${customer}/configuration.${project_name}.xml ${CMAKE_CURRENT_BINARY_DIR}/conf/configuration.xml) else() configure_file(${FAPP_ROOT}/configuration/Default/configuration.${project_name}.xml ${CMAKE_CURRENT_BINARY_DIR}/conf/configuration.xml) endif() Mais il semble que […]

CMake – liaison à la bibliothèque téléchargée depuis ExternalProject_add ()

J’essaie d’utiliser ExternalProject_add () pour télécharger / installer des dépendances. Il s’installe correctement, mais je n’arrive pas à comprendre comment relier les bibliothèques après leur téléchargement. Je veux appeler target_link_libraries () sur la bibliothèque qui vient d’être téléchargée, mais le chemin d’access à la bibliothèque variera selon le système. S’il s’agissait d’une dépendance du système, […]

Est-il possible de construire Boost avec CMake?

Plutôt que d’inclure des bibliothèques statiques dans mon arbre source dans un projet compilé de manière croisée, j’aimerais append directement Boost dans cmake et le construire. Est-ce disponible?

Comment puis-je faire en sorte que CMake utilise GCC au lieu de Clang sous Mac OS X?

Je ne trouve aucune information à ce sujet, mais seulement l’inverse (par exemple, comment configurer CMake pour utiliser le clang). J’ai installé gcc-4.8 en utilisant brew, configure toutes les dépendances, en-têtes, etc., et maintenant CMake refuse d’utiliser gcc. J’ai défini mon profil bash avec des alias et des entrées réelles: export CC=/usr/bin/gcc export CXX=/usr/bin/g++ alias […]

CMake add_custom_command n’est pas en cours d’exécution

J’essaie d’utiliser add_custom_command pour générer un fichier pendant la génération. La commande n’a jamais semblé être exécutée, j’ai donc créé ce fichier de test. cmake_minimum_required( VERSION 2.6 ) add_custom_command( OUTPUT hello.txt COMMAND touch hello.txt DEPENDS hello.txt ) J’ai essayé de courir: cmake . make Et bonjour.txt n’a pas été généré. Qu’est ce que j’ai mal […]