CMake 3.17.0 ビルド システムのリリース

から提出された クロスプラットフォームのオープン ビルド スクリプト ジェネレーターのリリース CMake 3.17、Autotools の代替として機能し、KDE、LLVM/Clang、MySQL、MariaDB、ReactOS、Blender などのプロジェクトで使用されます。 CMake コードは C++ で記述され、BSD ライセンスに基づいて配布されます。

CMake は、シンプルなスクリプト言語、モジュールを介して機能を拡張する手段、最小限の依存関係 (M4、Perl、または Python へのバインドなし)、キャッシュのサポート、クロスコンパイル用のツールの存在、ビルドの生成のサポートを提供することで有名です。幅広いビルド システムとコンパイラ用のファイル、テスト スクリプトを定義してパッケージを構築するための ctest ユーティリティと cpack ユーティリティ、ビルド パラメータを対話的に設定するための cmake-gui ユーティリティ。

メイン 改善:

  • Ninja ツールキットに基づく新しいアセンブリ スクリプト ジェネレーター「Ninja Multi-Config」が追加されました。これは、複数のアセンブリ構成を一度に処理できる点で古いジェネレーターとは異なります。
  • Visual Studio のアセンブリ スクリプト ジェネレーター内 出現した 各構成に関連付けられたソース ファイルを定義する機能 (構成ごとのソース)。
  • コンパイラパラメータを設定するツール(コンパイル機能)に、CUDAのメタパラメータ(「cuda_std_03」、「cuda_std_14」など)を設定する機能が追加されました。
  • CUDA 使用時にランタイム ライブラリの種類を選択するための変数「CMAKE_CUDA_RUNTIME_LIBRARY」および「CUDA_RUNTIME_LIBRARY」を追加しました。
  • CUDA 言語を有効にせずにシステムで利用可能な CUDA ツールキットを判断するための「FindCUDAToolkit」モジュールを追加しました。
  • 検索操作の実行時に追加の読み取り可能な診断を出力するために、「--debug-find」コマンドを cmake に追加しました。 同様の目的で、CMAKE_FIND_DEBUG_MODE 変数が追加されました。
  • cmake で生成された構成ファイル「CURLConfig.cmake」を使用した CURL ツールの検索のサポートを「FindCURL」モジュールに追加しました。 この動作を無効にするために、CURL_NO_CURL_CMAKE 変数が提供されています。
  • FindPython モジュールには、「conda」を使用して管理される仮想環境で Python コンポーネントを検索する機能が追加されました。
  • ctest ユーティリティには、テストがない場合の動作を定義する「--no-tests=[error|ignore]」オプションと、テストを再実行するための条件 (パスするまで) を設定する「--repeat」オプションが追加されました。タイムアウト後)。
  • アセンブリ ターゲット プロパティ INTERFACE_LINK_OPTIONS、INTERFACE_LINK_DIRECTORIES、および INTERFACE_LINK_DEPENDS が、静的にアセンブルされたライブラリの内部依存関係間で転送されるようになりました。
  • MinGW ツールキットを使用する場合、find_library コマンドによる DLL ファイルの検索はデフォルトで無効になります (代わりに、デフォルトでは「.dll.a」ライブラリのインポートが試行されます)。
  • Ninja ジェネレーターで ninja ユーティリティを選択するロジックは、実行可能ファイルの名前に依存しなくなりました。PATH 環境変数で定義されたパス内で最初に見つかった ninja-build、ninja、または samu ユーティリティが使用されます。
  • 個別の「-E delete」および「-E delete_directory」コマンドの代わりに、ファイルとディレクトリを削除するために使用できる「-E rm」コマンドが cmake に追加されました。

出所: オープンネット.ru

コメントを追加します