メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

target.CMakeBuilder クラス

名前空間: target

Configure how CMake builds generated code

R2022b 以降

Description

Use a target.CMakeBuilder object to configure how CMake builds generated code.

To create a target.CMakeBuilder object, use the target.create function.

プロパティ

すべて展開する

Optional. Array of additional CMake cache entries to pass to the CMake tool as part of the command line invocation. The software expands the entries in this form:

cmake -D name:type=value ...

Attributes:

GetAccess
public
SetAccess
public

Generator that CMake must use, that is, the generator value for the command cmake -G generator.

If the string value has no spaces, for example, nameWithNoSpaces, the software passes this command to the CMake tool:

cmake -G nameWithNoSpaces
If the string value has spaces, for example, name With Spaces, the software passes this command to the CMake tool:
cmake -G "name With Spaces"

Attributes:

GetAccess
public
SetAccess
public

Whether generator is multi-configuration:

  • true –– CMake generator supports multiple configurations.

  • false –– CMake generator supports single configuration

Attributes:

GetAccess
public
SetAccess
public

データ型: logical

Optional. Platform name for the generator, that is, the platformName value for the command cmake -A platformName.

If the string value has no spaces, for example, nameWithNoSpaces, the software passes this command to the CMake tool:

cmake -A nameWithNoSpaces
If the string value has spaces, for example, name With Spaces, the software passes this command to the CMake tool:
cmake -A "name With Spaces"

Attributes:

GetAccess
public
SetAccess
public

Build types or build configurations supported by generator and toolchain file.

The property is prepopulated with definitions of build types and build configurations that are available by default. If the Generator property is set to Ninja Multi-Config, the build type MinSizeRel, is not supported by default. Unless you define MinSizeRel in a toolchain file, you must remove it from the object array. This code snippet shows how you can remove MinSizeRel.

tc = target.create('Toolchain', 'Name', 'CMake/Ninja Multi-Config'); 
tc.Builder = target.create('CMakeBuilder');
tc.Builder.Generator = 'Ninja Multi-Config';
tc.Builder.GeneratorIsMultiConfig = true;
tc.Builder.CommandLineCacheEntries(end+1) = ...
   target.create('CMakeCacheEntry', 'Name', 'CMAKE_C_COMPILER', 'Value', 'gcc');
tc.Builder.CommandLineCacheEntries(end+1) = ...
   target.create('CMakeCacheEntry', 'Name', 'CMAKE_CXX_COMPILER', 'Value', 'g++');
tc.Builder.SupportedBuildTypes(strcmp({tc.Builder.SupportedBuildTypes}, 'MinSizeRel')) = [];

Attributes:

GetAccess
public
SetAccess
public

Optional. Path to a CMake toolchain file, that is, the toolChain value for the command cmake -D CMAKE_TOOLCHAIN_FILE=toolChain.

If the string value has no spaces, for example, nameWithNoSpaces, the software passes this command to the CMake tool:

cmake -D CMAKE_TOOLCHAIN_FILE=nameWithNoSpaces
If the string value has spaces, for example, name With Spaces, the software passes this command to the CMake tool:
cmake -D CMAKE_TOOLCHAIN_FILE="name With Spaces"

Attributes:

GetAccess
public
SetAccess
public

Optional. Tool set specification for generator, that is, the toolSet value for the command cmake -T toolSet.

If the string value has no spaces, for example, nameWithNoSpaces, the software passes this command to the CMake tool:

cmake -T nameWithNoSpaces
If the string value has spaces, for example, name With Spaces, the software passes this command to the CMake tool:
cmake -T "name With Spaces"

Attributes:

GetAccess
public
SetAccess
public

すべて折りたたむ

This code snippet from カスタムの CMake ツールチェーン定義の作成 shows how you can use the Builder property of the target.Toolchain object and a target.CMakeBuilder object to configure how CMake builds generated code.

tc = target.create('Toolchain', 'Name', 'Example Custom CMake Toolchain');
tc.Builder = target.create('CMakeBuilder');
tc.Builder.Generator = 'Ninja';
tc.Builder.ToolchainFile = fullfile(pwd, 'ExampleCMakeToolchain.cmake');
tc.Builder.SupportedBuildTypes(end+1) = ...
   target.create('CMakeBuildType', ...
   'Name', 'FastMath', ...
   'GeneratesDebugSymbols', false, ...
   'DebugBuildType', 'FastMathWithDebug');
tc.Builder.SupportedBuildTypes(end+1) = ...
   target.create('CMakeBuildType', ...
   'Name', 'FastMathWithDebug', ...
   'GeneratesDebugSymbols', true);

バージョン履歴

R2022b で導入