CMake Version 3.1.0 und höher bietet CMAKE_CXX_COMPILE_FEATURES, um C-Funktionen zu identifizieren, die von unterstützt werden des Compilers.
Zieleigenschaften CXX_STANDARD und CXX_STANDARD_REQUIRED festlegen, um den gewünschten Standard anzugeben:
<code class="cmake">add_executable(prog main.cc) set_property(TARGET prog PROPERTY CXX_STANDARD 11) set_property(TARGET prog PROPERTY CXX_STANDARD_REQUIRED ON)</code>
Verwenden Sie target_compile_features, um bestimmte C-Funktionen anzugeben, und CMake leitet den entsprechenden Standard ab:
<code class="cmake">project(foobar CXX) add_executable(foobar main.cc) set(needed_features # Specify the required C++ features used in the program cxx_strong_enums cxx_constexpr cxx_auto_type) target_compile_features(foobar PRIVATE ${needed_features})</code>
Der folgende Code listet die von Ihrer CMake-Version unterstützten C-Funktionen auf:
<code class="cmake">cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) get_property(known_features GLOBAL PROPERTY CMAKE_CXX_KNOWN_FEATURES) foreach(i ${known_features}) message("${i}") endforeach()</code>
Das obige ist der detaillierte Inhalt vonWie kann ich mit CMake die C 11-Unterstützung in einem Compiler erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!