Définition de macros de préprocesseur avec CMake
La définition de variables de préprocesseur avec CMake a évolué au fil du temps. Explorons comment le faire efficacement.
add_definitions
Auparavant, CMake s'appuyait principalement sur la commande add_definitions à cette fin. Le code C équivalent serait #define foo.
add_definitions(OPENCV_VERSION=${OpenCV_VERSION} WITH_OPENCV2)
add_compile_definitions
Cependant, à partir de CMake version 3.12, la commande add_compile_definitions propose une approche plus raffinée. Il cible spécifiquement les définitions de compilation, en les séparant des répertoires d'inclusion et des options du compilateur.
add_compile_definitions(OPENCV_VERSION=${OpenCV_VERSION}) add_compile_definitions(WITH_OPENCV2)
Avantages de add_compile_definitions
Cette nouvelle approche élimine le besoin d'astuces souvent utilisées avec add_definitions. Il fournit une manière plus structurée et plus sujette aux erreurs de gérer les définitions de compilation.
Définitions spécifiques à la cible
Comme Jim Hunziker l'a mentionné, vous pouvez également définir des macros de préprocesseur sur un base par cible. Reportez-vous à sa réponse pour plus de détails.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!