Main Content

CMake ビルド プロセスの構成

CMake は、サードパーティが提供するオープンソースのビルド プロセス管理ツールです。Simulink® モデルから生成されたコードをビルドするために、このソフトウェアには以下に対する CMake ツールチェーン定義が用意されています。

  • Windows® 上の Microsoft® Visual C++® および MinGW®、Linux® 上の GCC、および Mac コンピューター上の Xcode (Ninja および makefile ジェネレーターを使用)。

  • Microsoft Visual Studio® および Xcode プロジェクトのビルド。

サポートされているツールチェーンが開発用コンピューターにインストールされている場合は、使用するモデルに対応する CMake ツールチェーン定義を指定できます。slbuild を実行した場合、Ctrl+B を押した場合、またはソフトウェアインザループ (SIL)、プロセッサインザループ (PIL)、あるいはエクスターナル モード シミュレーションを実行した場合、CMake は以下を行います。

  1. コンフィギュレーション (CMakeLists.txt) ファイルを使用して標準ビル ドファイルを生成する。

  2. コンパイラとその他のビルド ツールを実行して実行可能コードを作成する。

次のことも実行できます。

  • target パッケージを使用して、カスタムの CMake ツールチェーン定義を提供します。詳細については、カスタムの CMake ツールチェーン定義の作成を参照してください。

  • アルゴリズム エクスポート用のコードとコンフィギュレーション ファイルのみを生成する。

CMake ツールチェーン定義の指定

[コンフィギュレーション パラメーター] ダイアログ ボックスで、以下の操作を実行します。

  1. [ハードウェア実行] ペインで、ターゲット デバイスのパラメーター値を指定します。これにより、使用可能なツールチェーン定義の選択を決定します。詳細については、使用可能な CMake ツールチェーン定義を参照してください。

  2. [コード生成] ペインで、以下のパラメーターを指定します。

    • ツールチェーン — ドロップダウン リストから、CMake ツールチェーン定義を選択します。

    • ビルド構成 — 以下の値のいずれかを選択します。

      • Release — 最適化が有効になります。

      • Debug — 最適化が無効になり、デバッグ シンボルが生成されます。

      • RelWithDebInfo — 最適化が有効になり、デバッグ シンボルが生成されます。

      • MinSizeRel — サイズについて最適化され、デバッグ シンボルが生成されません。

      • Specify — [CMake Configure] フィールドおよび [CMake Build] フィールドでツールチェーンの詳細を指定できます。

    • ツールチェーンの詳細[ビルド構成][Specify] の場合、以下のフィールドに入力します。

      • CMake Configure — 下流ツール用のプロジェクト ビルド システムのビルダー アーティファクトを生成する際に CMake に渡す追加のコマンド ライン引数。

      • CMake Build — CMake をビルド モードで使用する際に CMake に渡す追加のコマンド ライン引数。

詳細については、https://cmake.org/cmake/help/latest/manual/cmake.1.htmlを参照してください。

使用可能な CMake ツールチェーン定義

プラットフォーム付属のツールチェーン定義定義を利用可能にするデバイス ベンダーとタイプ
WindowsMicrosoft Visual C++ 2017 v15.0 | CMake/nmake (64-bit Windows)

Intel-x86-64 (Windows64)

AMD-x86-64 (Windows64)

Microsoft Visual C++ 2017 v15.0 | CMake/Ninja (64-bit Windows)
Microsoft Visual Studio Project 2017 | CMake (64-bit Windows)
Microsoft Visual Studio Project 2019 | CMake (64-bit Windows)
Microsoft Visual C++ 2019 v16.0 | CMake/Ninja (64-bit Windows)
Microsoft Visual C++ 2022 v17.0 | CMake/nmake (64-bit Windows)
Microsoft Visual C++ 2022 v17.0 | CMake/Ninja (64-bit Windows)
MinGW64 | CMake/gmake (64-bit Windows)
MinGW64 | CMake/Ninja (64-bit Windows)
Microsoft Visual C++ 2017 v15.0 | CMake/nmake (32-bit Windows)

Intel-x86-32 (Windows32)

AMD-x86-32 (Windows32)

Microsoft Visual C++ 2017 v15.0 | CMake/Ninja (32-bit Windows)
Microsoft Visual Studio Project 2017 | CMake (32-bit Windows)
Microsoft Visual Studio Project 2019 | CMake (32-bit Windows)
Microsoft Visual C++ 2019 v16.0 | CMake/nmake (32-bit Windows)
Microsoft Visual C++ 2019 v16.0 | CMake/Ninja (32-bit Windows)
Microsoft Visual C++ 2022 v17.0 | CMake/nmake (32-bit Windows)
Microsoft Visual C++ 2022 v17.0 | CMake/Ninja (32-bit Windows)
LinuxGNU gcc/g++ | CMake/gmake (64-bit Linux)

Intel-x86-64 (Linux 64)

AMD-x86-64 (Linux 64)

GNU gcc/g++ | CMake/Ninja (64-bit Linux)
MacXcode with Clang | CMake/gmake (64-bit Mac)

Intel-x86-64 (Mac OS X)

AMD-x86-64 (Mac OS X)

Xcode with Clang | CMake/Ninja (64-bit Mac)
Xcode with Clang Project | CMake (64-bit Mac)

メモ

[テスト ハードウェアを製品ハードウェアと同じにする] チェック ボックスがオフになっている場合、デバイス ベンダーとタイプ用の [テスト ハードウェア] 設定によって、付属のツールチェーン定義を利用できるかどうかが制御されます。

アルゴリズム エクスポート用のコードと CMake コンフィギュレーション ファイルのみの生成

生成されたコードを別の開発環境にエクスポートするには、以下のワークフローを使用します。

  1. [コンフィギュレーション パラメーター] ダイアログ ボックスの [ツールチェーン] ドロップダウン リストから、[CMake] を選択します。このオプションでは、コード ジェネレーターは以下を行います。

    • Simulink モデルから C および C++ ソース コードを生成するが、コードのビルドは行わない。

    • 特定のビルド ツールに依存しない CMake コンフィギュレーション (CMakeLists.txt) ファイルを作成する。

  2. [コードとアーティファクトのパッケージ化] チェック ボックスをオンにします。

  3. コードを生成します。これにより、ソース コードと CMake コンフィギュレーション ファイルを含む ZIP ファイルが生成されます。

  4. その ZIP ファイルを開発環境に移動します。

  5. パッケージ化されたファイルを解凍します。

  6. CMake ビルド ツールとコンフィギュレーション ファイルを使用して実行可能ファイルを作成します。

ZIP ファイルに mlrFiles.zip (matlabroot フォルダー ツリーからの静的依存関係) が含まれている場合は、CMake ビルド ツールに解凍したファイルの場所を指定する必要があります。開発環境で、以下のコマンドを実行して MATLAB_ROOT CMake キャッシュ・エントリを設定します。

cmake -S pathToSource -B pathToProposedLocationOfDerivedFiles 
-DMATLAB_ROOT=pathToUnzippedmlrFiles

詳細については、Deploy Component Algorithm as Component Model Library by Using CMakeを参照してください。

参考

| | |

関連するトピック

外部の Web サイト