ホームページ  >  記事  >  バックエンド開発  >  CMake で C 11 コンパイラのサポートを検出するにはどうすればよいですか?

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

Barbara Streisand
Barbara Streisandオリジナル
2024-10-31 09:56:29122ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。