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

Barbara Streisand
リリース: 2024-10-31 09:56:29
オリジナル
192 人が閲覧しました

How to Detect C  11 Compiler Support in CMake?

CMake での C 11 コンパイラー サポートの検出

概要

このガイドでは、コンパイラーが CMake で C 11 をサポートしているかどうかを自動的に検出する方法を検討します。 CMake は、最新および以前の CMake バージョンの包括的な分析を提供します。

CMake 3.1.0 以降

CMake バージョン 3.1.0 では、サポートされている C 機能を検出するという強力な機能が導入されました。コンパイラ。これは、cmake_minimum_required コマンドによって実現されます。

<code class="cmake">cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)</code>
ログイン後にコピー

CMake の最小バージョンを指定すると、サポートされているすべての C 機能をリストする CMAKE_CXX_COMPILE_FEATURES 変数にアクセスできるようになります。これにより、プロジェクトで使用する C 標準を決定できます。

C 標準の明示的な指定

CMake では、CXX_STANDARD プロパティと CXX_STANDARD_REQUIRED プロパティを使用して、ターゲットの C 標準を明示的に設定できます。例:

<code class="cmake">set_property(TARGET prog PROPERTY CXX_STANDARD 11)
set_property(TARGET prog PROPERTY CXX_STANDARD_REQUIRED ON)</code>
ログイン後にコピー

これにより、コンパイラが -std=c などの正しいフラグで呼び出されることになります。 11.

必要な C 機能を指定します

または、 target_compile_features コマンドを使用して、必要な C 機能を指定できます。このリストから、CMake は適切な C 標準を推定できます。

<code class="cmake">target_compile_features(foobar PRIVATE cxx_strong_enums cxx_constexpr cxx_auto_type)</code>
ログイン後にコピー

CMAKE_CXX_KNOWN_FEATURES を使用して、サポートされている C 機能のリストを取得します。

結論

CMake は、検出するための複数の方法を提供します。 C 11 コンパイラのサポートと C 標準の指定。この柔軟性により、カスタマイズされた C プロジェクト構成が可能になり、互換性とシームレスなコンパイルが保証されます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート