CMake を使用してコンパイラでの C 11 サポートを検出するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-01 08:10:30
オリジナル
267 人が閲覧しました

How can I detect C  11 support in a compiler using CMake?

CMake を使用したコンパイラーでの C 11 サポートの検出

コンパイラー サポートの識別

CMake バージョン 3.1.0 以降では、CMake でサポートされている C 機能を識別するための CMAKE_CXX_COMPILE_FEATURES が提供されています。

明示的な C 標準の指定

CXX_STANDARD および CXX_STANDARD_REQUIRED ターゲット プロパティを設定して、必要な標準を指定します。

<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>
ログイン後にコピー

必要な C 機能の指定

target_compile_features を使用して特定の C 機能を指定すると、CMake が適切な標準を推定します:

<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>
ログイン後にコピー

サポートされる C 機能

次のコードは、CMake バージョンでサポートされる C 機能をリストします:

<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>
ログイン後にコピー

以上がCMake を使用してコンパイラでの C 11 サポートを検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!