Maison > Article > développement back-end > Comment définir les indicateurs du compilateur dans les projets CMake multiplateformes ?
Façons modernes de définir des indicateurs de compilateur dans des projets CMake multiplateformes
Utilisation de générateurs et d'expressions CMake
CMake fournit plusieurs méthodes pour définir les indicateurs du compilateur de manière moderne et flexible. Une approche consiste à utiliser des générateurs et des expressions CMake, tels que :
<code class="cmake">string( APPEND _opts "$<IF:$<CXX_COMPILER_ID:MSVC>," "/W4;$<$<CONFIG:RELEASE>:/O2>," "-Wall;-Wextra;-Werror;" "$<$<CONFIG:RELEASE>:-O3>" "$<$<CXX_COMPILER_ID:Clang>:-stdlib=libc++>" ">" ) add_compile_options("${_opts}")</code>
Utilisation de add_compile_options()
Une autre méthode consiste à utiliser la commande add_compile_options(), qui vous permet d'ajouter des indicateurs du compilateur de manière plus lisible et cohérente :
<code class="cmake">if(MSVC) add_compile_options("/W4" "$<$<CONFIG:RELEASE>:/O2>") else() add_compile_options("-Wall" "-Wextra" "-Werror" "$<$<CONFIG:RELEASE>:-O3>") if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") add_compile_options("-stdlib=libc++") else() # nothing special for gcc at the moment endif() endif()</code>
Bonnes pratiques
Lors de la configuration de projets CMake multiplateformes, c'est une bonne pratique pour suivre ces directives :
Build multi-cibles
Pour créer plusieurs cibles dans le même répertoire, créez des configurations de build distinctes pour chaque combinaison de compilateur et de configuration, telles que :
Ensuite, vous pouvez utiliser make cibles pour construire chaque configuration :
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!