Outils pour utilisateurs

Outils du site


prog:cmake:vs

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
prog:cmake:vs [2022/06/15 11:43] – [RuntimeLibrary, MTd_StaticDebug et MDd_DynamicDebug] : précision sur le fait que normalement, il ne devrait pas y avoir besoin de toucher à ça si le CMakeLists.txt est correctement rempli. rootprog:cmake:vs [2024/12/10 22:25] (Version actuelle) – [Exécution de cmake] : mise à jour de Générateur root
Ligne 1: Ligne 1:
 +=====Configuration=====
 ====Exécution de cmake==== ====Exécution de cmake====
-  toolset :+ 
 +  Toolset (''-T'')
  
 ^Visual Studio^toolset^ ^Visual Studio^toolset^
Ligne 12: Ligne 14:
 |142          |2019   | |142          |2019   |
 |143          |2022   | |143          |2022   |
 +
 +Il est aussi possible de spécifier l'architecture du host (du compilateur) et sa version: ''v143,version=14.36.17.6,host=x64''
 +
 +[[https://cmake.org/cmake/help/latest/variable/CMAKE_GENERATOR_TOOLSET.html#variable:CMAKE_GENERATOR_TOOLSET|CMAKE_GENERATOR_TOOLSET]] {{ :prog:cmake:vs:cmake_generator_toolset_cmake_3.31.2_documentation_10_12_2024_22_23_40_.html |Archive du 3.31.2 le 10/12/2024}}
 +
 +  * Architecture (''-A'')
 +
 +Liste des possibilités: ''x64'', ''Win32'', ''ARM'', ''ARM64''.
 +
 +  * Générateur (''-G'')
 +
 +^Générateur^
 +|''Visual Studio 6''|
 +|''Visual Studio 7''|
 +|''Visual Studio 7 .NET 2003''|
 +|''Visual Studio 8 2005''|
 +|''Visual Studio 9 2008''|
 +|''Visual Studio 10 2010''|
 +|''Visual Studio 11 2012''|
 +|''Visual Studio 12 2013''|
 +|''Visual Studio 14 2015''|
 +|''Visual Studio 15 2017''|
 +|''Visual Studio 16 2019''|
 +|''Visual Studio 17 2022''|
 +
  
 Puis appeler Puis appeler
  
-  cmake -T v143+<code bash> 
 +cmake -T v142 -G "Visual Studio 16 2019" -A x64 
 +</code> 
 + 
 +Il faut bien mettre les trois. Sinon, l'erreur suivante risque d'arriver : 
 + 
 +<code> 
 +$ cmake .. -T version=v142 
 +-- Building for: Visual Studio 17 2022 
 +</code>
  
 [[https://gitlab.kitware.com/cmake/cmake/blob/master/Help/variable/MSVC_TOOLSET_VERSION.rst|MSVC_TOOLSET_VERSION]] {{ :prog:cmake:msvc_toolset_version.txt |Archive du 20/09/2019}} [[https://gitlab.kitware.com/cmake/cmake/blob/master/Help/variable/MSVC_TOOLSET_VERSION.rst|MSVC_TOOLSET_VERSION]] {{ :prog:cmake:msvc_toolset_version.txt |Archive du 20/09/2019}}
  
-====Activer la compilation multiprocesseur /MP====+[[https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html|cmake-generators]] {{ :prog:cmake:vs:cmake-generators_7_cmake_3.31.2_documentation_10_12_2024_22_18_04_.html |Archive du  v3.31.2 le 10/12/2024}} 
 +====CMakeLists.txt==== 
 + 
 +  * Activer la compilation multiprocesseur /MP 
 + 
 +Cela active la compilation en parallèle des fichiers sources. Pas la compilation en parallèle des projets.
  
 <code> <code>
Ligne 27: Ligne 68:
 [[https://stackoverflow.com/questions/33858455/how-to-configure-cmake-in-a-way-that-it-generates-visual-studio-2013-project-fi|How to configure cmake in a way that it generates Visual Studio 2013+ project files with /MP option]] {{ :prog:cmake:vs:how_to_configure_cmake_in_a_way_that_it_generates_visual_studio_2013_project_files_with_mp_option_-_stack_overflow_2019-11-29_20_31_20_.html |Archive du 22/11/2015 le 29/11/2019}} [[https://stackoverflow.com/questions/33858455/how-to-configure-cmake-in-a-way-that-it-generates-visual-studio-2013-project-fi|How to configure cmake in a way that it generates Visual Studio 2013+ project files with /MP option]] {{ :prog:cmake:vs:how_to_configure_cmake_in_a_way_that_it_generates_visual_studio_2013_project_files_with_mp_option_-_stack_overflow_2019-11-29_20_31_20_.html |Archive du 22/11/2015 le 29/11/2019}}
  
-====Messages d'erreur==== +  * ''target_include_directories'' 
-===RuntimeLibrary, MTd_StaticDebug et MDd_DynamicDebug===+ 
 +L'utilisation de l'option ''SYSTEM'' permet de désactiver les warnings venant des ''include'' "système". Seulement, Visual Studio ne fera pas non plus d'indexation des entêtes ''*.h'' / ''*.hpp'' dans ces sous-dossiers. 
 + 
 +<WRAP center round important 60%> 
 +Théorie à confirmer 
 +</WRAP> 
 + 
 +=====Exécution===== 
 + 
 +  * Exécution en parallèle des projets 
 + 
 +<WRAP center round important 60%> 
 +L'activation de la compilation en parallèle des projets désactive la compilation en parallèle des fichiers source. 
 + 
 +[[https://gitlab.kitware.com/cmake/cmake/-/issues/20564|cmake --build: --parallel when used with msbuild does not enable parallelism within a project]] {{ :prog:cmake:vs:cmake_--build_--parallel_when_used_with_msbuild_does_not_enable_parallelism_within_a_project_20564_issues_cmake_cmake_gitlab_22_08_2022_12_17_14_.html |Archive du 09/04/2020 le 22/08/2022}} 
 +</WRAP> 
 + 
 +Pour activer la compilation en parallèle des fichiers source en ligne de commande, il est possible d'utiliser (pour Visual Studio seulement) : 
 + 
 +<code bash> 
 +cmake --build . --  /p:CL_MPcount=
 +</code> 
 + 
 +=====Messages d'erreur===== 
 + 
 +  * ''RuntimeLibrary''''MTd_StaticDebug'' et ''MDd_DynamicDebug''
  
 Normalement, si les fichiers ''CMakeLists.txt'' sont bien fait, le générateur de projet ''Visual Studio'' de ''CMake'' devrait correctement mettre les bonnes valeurs par défaut. Normalement, si les fichiers ''CMakeLists.txt'' sont bien fait, le générateur de projet ''Visual Studio'' de ''CMake'' devrait correctement mettre les bonnes valeurs par défaut.
Ligne 45: Ligne 111:
 [[https://stackoverflow.com/questions/10113017/setting-the-msvc-runtime-in-cmake|Setting the MSVC runtime in CMake]] {{ :prog:cmake:vs:visual_studio_-_setting_the_msvc_runtime_in_cmake_-_stack_overflow_2021-04-10_21_54_38_.html |Archive du 11/04/2012 le 10/04/2021}} [[https://stackoverflow.com/questions/10113017/setting-the-msvc-runtime-in-cmake|Setting the MSVC runtime in CMake]] {{ :prog:cmake:vs:visual_studio_-_setting_the_msvc_runtime_in_cmake_-_stack_overflow_2021-04-10_21_54_38_.html |Archive du 11/04/2012 le 10/04/2021}}
  
-===__acrt_first_block == header===+  * ''%%__%%acrt_first_block == header''
  
 Ici, c'est l'inverse du paragraphe précédent. Il faut désactiver la ligne ''CMAKE_MSVC_RUNTIME_LIBRARY''. Ici, c'est l'inverse du paragraphe précédent. Il faut désactiver la ligne ''CMAKE_MSVC_RUNTIME_LIBRARY''.
prog/cmake/vs.1655286204.txt.gz · Dernière modification : 2022/06/15 11:43 de root