何日か前に CMake3.15クロスプラットフォームオープンソーススクリプトジェネレーターがリリースされました Autotoolsの代替として機能し、KDE、LLVM / Clang、MySQL、MariaDB、ReactOS、Blenderなどのプロジェクトで使用されます。
CMakeは、マルチプラットフォームのコード生成または自動化ツールです。 名前は「crossplatformmake」の略語です(名前に「make」を使用する以外のmake crossplatform)、CMakeは独立したスイートであり、一般的なmakeシステムよりも高いレベルです Unixの、autotoolsに似ています。
CMakeについて
CMake シンプルなスクリプト言語を提供することで注目に値します、 モジュール間で機能を拡張するツール、最小限の依存関係(M4、Perl、またはPythonへのバインドなし)、キャッシングサポート、クロスコンパイル用のツールの可用性、幅広いコンパイラシステムおよびコンパイラ用のアセンブリファイルの生成のサポート。
テストシナリオとパッケージ作成を定義するためのctestおよびcpackユーティリティと、ビルドパラメータをインタラクティブに構成するためのcmake-guiユーティリティ。
CMakeは、シンプルで独立した構成ファイルを使用してソフトウェアのコンパイルプロセスを制御するために使用されます プラットフォームから。 Cmakeは、目的の開発環境で使用できるネイティブのメイクファイルとワークスペースを生成します。
CMakeLists.txtと呼ばれるCMakeの場合、プロセスが構成ファイルによって制御されるという点で、UnixGNUビルドシステムに匹敵します。
GNUビルドシステムとは異なり、 Unixプラットフォームに制限されています、CMakeは、さまざまなオペレーティングシステムのファイル生成をサポートしているため、メンテナンスが容易になり、プラットフォームごとに複数のファイルセットを用意する必要がなくなります。
ビルドプロセスは、各ディレクトリ(サブディレクトリを含む)にXNUMXつ以上のCMakeLists.txtファイルを作成することによって制御されます。
CMakeコードはC ++で記述されており、BSDライセンスの下で配布されています。
CMake3.15の主な新機能
この新しいバージョン Swift言語の初期ジェネレーターサポートの到着によって強調されました Appleが開発したNinjaToolkitアセンブリスクリプトジェネレーターが追加されました。
これに加えて、 Clangコンパイラオプションのサポートもあります ABI MSVCで構築されているが、GNUスタイルのコマンドラインオプションを使用するWindows用。
開発者は、変数が CMAKE_MSVC_RUNTIME_LIBRARY
y MSVC_RUNTIME_LIBRARY
コンパイラが使用するランタイムライブラリを選択するために追加されます ABI MSVC
(MS VisualStudio)。
のようなコンパイラの場合 MSVC
に CMAKE__FLAGS
デフォルトでは、「/ W3」などの警告制御フラグのリストは停止しています。
この新しいバージョンのリリースの発表で強調されている他の改善点のうち、次のことがわかります。
- 生成式を追加しました '
COMPILE_LANG_AND_ID
:»変数を使用するターゲットファイルのコンパイラオプションを定義するにはCMAKE__COMPILER_ID
yLANGUAGE
コードファイルごとに - ジェネレータ式
C_COMPILER_ID, CXX_COMPILER_ID, CUDA_COMPILER_ID,
Fortran_COMPILER_ID, COMPILE_LANGUAGE, COMPILE_LANG_AND_ID
yPLATFORM_ID
値をリスト、コンマ区切りの項目に一致させるためのサポートを追加します - 変数が追加されました
CMAKE_FIND_PACKAGE_PREFER_CONFIG
、find_package()を呼び出すと、検索モジュールが使用可能な場合でも、最初にパッケージ構成ファイルが検索されます。 - インターフェイスライブラリの場合、プロパティの設定のサポートが追加されました
PUBLIC_HEADER y PRIVATE_HEADER
、引数を渡すインストールコマンド(TARGETS)によってヘッダーを構成できます。PUBLIC_HEADER
yPRIVATE_HEADER
- 変数が追加されました
CMAKE_VS_JUST_MY_CODE_DEBUGGING
および宛先プロパティVS_JUST_MY_CODE_DEBUGGING
MSVC cl 19.05以降のバージョンを使用してコンパイルするときに、VisualStudioデバッガーで「JustMyCode」モードを有効にします。 - FindBoostモジュールが作り直され、他の検索モジュールが存在する構成モードとモジュールモードでより完全に機能するようになりました。
- NOTICE、VERBOSE、DEBUG、およびTRACEタイプのサポートがmessage()コマンドに追加されました
- 「export(PACKAGE)」コマンドは、変数を介して明示的に有効になるまで何も実行しないようになりました
CMAKE_EXPORT_PACKAGE_REGISTRY
.
あなたがそれについてもっと知りたいならば、あなたは相談することができます 次のリンク。