Comment définir une macro préprocesseur C++ via la ligne de commande avec CMake?

J'essaie de définir une macro préprocesseur dans la ligne de commande CMake. J'ai essayé:

set generator="Visual Studio 8 2005"
set params=-D MY_MACRO=1
cmake.exe -G %generator% %params% ..\some_project

mais ce n'est pas définie lorsque je compile et je ne peux trouver le nom MY_MACRO dans les fichiers générés par CMake, à l'exception de CMakeCache.txt où il est présent sous la forme:

MY_MACRO:UNINITIALIZED=1

Comment puis-je le faire?

  • Si vous avez résolu ce problème en maintenant, je serais intéressé par la solution
  • Vous ne pouvez pas injecter des macros à partir de la ligne de commande, vous pouvez uniquement modifier les macros qui sont définis dans CMakeLists.txt. Aussi, définir params=-D MY_MACRO=1 doit être définie params=-DMY_MACRO=1
  • oui, voir ma réponse ci-dessous.
  • J'étais intéressé il y a 7 ans 😉 Merci de fournir une réponse de toute façon, je suis sûr que ça va aider beaucoup d'autres.
InformationsquelleAutor ybungalobill | 2011-12-19