CMake のマクロと変数

提供: RAD Studio
移動先: 案内検索

C++ Builder での CMake の利用 への移動


以下は、iOS および Android で利用可能なマクロや変数のリストです。

Windows のマクロおよび変数

Windows マクロ

マクロ 説明 有効な入力

set_embt_target(target)

ビルドするアプリケーションの種類を設定します。
target: アプリケーションの種類。

“VCL”、“FMX”、“Package”、“DynamicRuntime”

Windows 変数

変数 説明

EMBT_TARGET

固定値: Windows-Embarcadero.cmake の場合、"Windows"

iOS のマクロと変数

iOS のマクロ

マクロ 説明 有効な入力 デフォルト値

set_embt_device_family(device)

Info.plist UIDeviceFamily を設定します。
device: UI デバイス ファミリの種類。

“iPhone”、“iPad”、“iPhone & iPad”

"iPhone & iPad"

add_embt_additional_files(file_path [destination_dir [destination_name]])

デプロイされる追加ファイルをアプリケーション バンドル ディレクトリに追加します。

  • file_path: アプリケーション バンドル ディレクトリにデプロイされるファイル。file_path は完全修飾形式でなければなりません。
  • destination_dir: このパラメータが設定された場合、ファイルは、EMBT_PROJECT_LOCATION から相対位置にある対象ディレクトリにデプロイされます。このパラメータが設定されていない場合、ファイルは、EMBT_PROJECT_LOCATION にデプロイされます。
  • destination_name: このパラメータが設定されている場合、destiname_name は、アプリケーション バンドル ディレクトリ内のファイルの名前となります。そうでなければ、この名前は file_path の短いファイル名になります。

このマクロは、複数回呼び出される可能性があります。

add_embt_interface_orientations(orientation)

Info.plist UISupportedInterfaceOrientations を設定します。
orientation: UI サポート インターフェイスの方向。
このマクロは、複数回呼び出される可能性があります。

“Portrait”、"PortraitUpsideDown"、"LandscapeLeft"、"LandscapeRight”

“Portrait” | "PortraitUpsideDown" | "LandscapeLeft" | "LandscapeRight”

add_embt_background_modes(mode)

Info.plist UIBackgroundModes を設定します。
mode: UI バックグラウンド モード。
このマクロは、複数回呼び出される可能性があります。

"audio"、"location"、"voip"、"fetch"、"remote-notification"、"newsstand-content"、"external-accessory"、"bluetooth-central"、"bluetooth-peripheral"

<none>

set_embt_target(target)

ビルドするアプリケーションの種類を設定します。
target: アプリケーションの種類。

"FMX"

add_fmx_app(source)

ビルドの対象となるソール ファイルを追加します。
source: ソース ファイルのリスト。

iOS の変数

変数 説明 デフォルト値

APP

プロジェクト/アプリケーション名

IOS_SDK_NAME

アプリケーションをコンパイルするために使用する iOS SDK 名を指定します。
iOS SDK 名が指定されていない場合、RAD Studio で定義されているデフォルト iOS SDK が使用されます。

REMOTE_PROFILE

リモート接続プロファイル名を指定します。
リモート接続プロファイルが指定されていない場合、RAD Studio で定義されているデフォルト リモート接続プロファイルが使用されます。

CERTIFICATE

アプリケーションを署名するために使用される、プロビジョニング プロファイルの証明書を指定します。
証明書が指定されない場合、プロビジョニング プロファイルで見つかった最初の証明書が使用されます。

PROVISIONING_PROFILE

アプリケーションで使用されるプロビジョニング プロファイルを指定します。プロビジョニング プロファイルの名前またはファイル名を指定することができます。ファイル名を指定する場合、それは完全修飾形式でなければなりません。
プロビジョニング プロファイルが指定されない場合、指定された EMBT_IOS_BUNDLE_IDENTIFIER および EMBT_IOS_BUILD_TYPE と一致する最初のプロビジョニング プロファイルが使用されます。

EMBT_PROJECT_LOCATION

リモート マシンでのアプリケーション バンドル ディレクトリ。

“${APP}.app”

EMBT_TARGET

固定値: bccios64.cmake には "iOS64"、bccios32.cmake には "iOS32"

EMBT_IOS_BUILD_TYPE

アプリケーション ビルドの種類を設定します。
有効な値: “Ad-hoc”、“Application-Store”

“Application-Store”

EMBT_IOS_INFO_PLIST

カスタム Info.plist ファイルを設定します。

EMBT_IOS_BUNDLE_ALLOW_MIXED_LOCALIZATIONS

Info.plist CFBundleAllowMixedLocalizations を設定します。

EMBT_IOS_BUNDLE_DEVELOPMENT_REGION

Info.plist CFBundleDevelopmentRegion を設定します。

"en"

EMBT_IOS_BUNDLE_DISPLAY_NAME

Info.plist CFBundleDisplayName を設定します。

“${APP}”

EMBT_IOS_BUNDLE_EXECUTABLE

Info.plist CFBundleExecutable を設定します。

“${APP}”

EMBT_IOS_BUNDLE_IDENTIFIER

Info.plist CFBundleIdentifier を設定します。

“${APP}”

EMBT_IOS_BUNDLE_INFO_DICTIONARY_VERSION

Info.plist CFBundleInfoDictionaryVersion を設定します。

“7.1”

EMBT_IOS_BUNDLE_NAME

Info.plist CFBundleName を設定します。

“${APP}”

EMBT_IOS_BUNDLE_PACKAGE_TYPE

Info.plist CFBundlePackageType を設定します。

“APPL”

EMBT_IOS_BUNDLE_RESOURCE_SPECIFICATION

Info.plist CFBundleResourceSpecification を設定します。

“${BDS}/cmake/templates/ResourceRules.plist"

EMBT_IOS_BUNDLE_SHORT_VERSION_STRING

Info.plist CFBundleShortVersionString を設定します。

“1.0.0”

EMBT_IOS_BUNDLE_SIGNATURE

Info.plist CFBundleSignature を設定します。

“????”

EMBT_IOS_BUNDLE_VERSION

Info.plist CFBundleVersion を設定します。

“1.0.0”

EMBT_IOS_CAMERA_USAGE_DESCRIPTION

Info.plist NSCameraUsageDescription を設定します。

“This app needs access to your camera”

EMBT_IOS_CONTACTS_USAGE_DESCRIPTION

Info.plist NSContactsUsageDescription を設定します。

“This app needs access to your contact information”

EMBT_IOS_LOCAL_NOTIFICATION_PERMISSION

Info.plist FMLocalNotificationPermission を設定します。

“false”

EMBT_IOS_LOCATION_ALWAYS_USAGE_DESCRIPTION

Info.plist NSLocationAlwaysUsageDescription を設定します。

“This app needs access to your location always”

EMBT_IOS_LOCATION_WHEN_IN_USE_USAGE_DESCRIPTION

Info.plist NSLocationWhenInUseUsageDescription を設定します。

“This app needs access to your location when you're using it”

EMBT_IOS_MINIMUM_OS_VERSION

Info.plist MinimumOSVersion を設定します。

“8.0”

EMBT_IOS_PHOTO_LIBRARY_USAGE_DESCRIPTION

Info.plist NSPhotoLibraryUsageDescription を設定します。

“This app needs access to your photos”

EMBT_IOS_REQUIRED_DEVICE_CAPABILITIES

Info.plist UIRequiredDeviceCapabilities を設定します。

bccios32.cmake には "arm7"、bccios64.cmake には "arm64"

EMBT_IOS_REQUIRES_IPHONE_OS

Info.plist LSRequiresIPhoneO を設定します。

“true”

EMBT_IOS_ALLOWS_ARBITRARY_LOADS

Info.plist NSAllowsArbitraryLoads を設定します。

“true”

EMBT_IOS_ADDITIONAL_KEY_VALUE_PAIRS

追加 Info.plist キー/値ペアを追加します。

iPad のためのアイコンおよびイメージ ファイルを設定する変数

変数 デフォルト値

EMBT_IPAD_APPLICATION_ICON_144_144

"${BDS}/bin/Artwork/iOS/iPad/FM_ApplicationIcon_144x144.png"

EMBT_IPAD_APPLICATION_ICON_152_152

"${BDS}/bin/Artwork/iOS/iPad/FM_ApplicationIcon_152x152.png"

EMBT_IPAD_APPLICATION_ICON_72_72

"${BDS}/bin/Artwork/iOS/iPad/FM_ApplicationIcon_72x72.png"

EMBT_IPAD_APPLICATION_ICON_76_76

"${BDS}/bin/Artwork/iOS/iPad/FM_ApplicationIcon_76x76.png"

EMBT_IPAD_SETTING_ICON_29_29

"${BDS}/bin/Artwork/iOS/iPad/FM_SettingIcon_29x29.png"

EMBT_IPAD_SETTING_ICON_58_58

"${BDS}/bin/Artwork/iOS/iPad/FM_SettingIcon_58x58.png"

EMBT_IPAD_SPOTLIGHT_SEARCH_ICON_100_100

"${BDS}/bin/Artwork/iOS/iPad/FM_SpotlightSearchIcon_100x100.png"

EMBT_IPAD_SPOTLIGHT_SEARCH_ICON_40_40

"${BDS}/bin/Artwork/iOS/iPad/FM_SpotlightSearchIcon_40x40.png"

EMBT_IPAD_SPOTLIGHT_SEARCH_ICON_50_50

"${BDS}/bin/Artwork/iOS/iPad/ FM_SpotlightSearchIcon_50x50.png"

EMBT_IPAD_SPOTLIGHT_SEARCH_ICON_80_80

"${BDS}/bin/Artwork/iOS/iPad/FM_SpotlightSearchIcon_80x80.png"

EMBT_IPAD_LAUNCH_IMAGE_1024_748

"${BDS}/bin/Artwork/iOS/iPad/FM_LaunchImageLandscape_1024x748.png"

EMBT_IPAD_LAUNCH_IMAGE_1024_768

"${BDS}/bin/Artwork/iOS/iPad/FM_LaunchImageLandscape_1024x768.png"

EMBT_IPAD_LAUNCH_IMAGE_1536_2008

"${BDS}/bin/Artwork/iOS/iPad/FM_LaunchImagePortrait_1536x2008.png"

EMBT_IPAD_LAUNCH_IMAGE_1536_2048

"${BDS}/bin/Artwork/iOS/iPad/FM_LaunchImagePortrait_1536x2048.png"

EMBT_IPAD_LAUNCH_IMAGE_2048_1496

"${BDS}/bin/Artwork/iOS/iPad/FM_LaunchImageLandscape_2048x1496.png"

EMBT_IPAD_LAUNCH_IMAGE_2048_1536

"${BDS}/bin/Artwork/iOS/iPad/FM_LaunchImageLandscape_2048x1536.png"

EMBT_IPAD_LAUNCH_IMAGE_768_1004

"${BDS}/bin/Artwork/iOS/iPad/FM_LaunchImagePortrait_768x1004.png"

EMBT_IPAD_LAUNCH_IMAGE_768_1024

"${BDS}/bin/Artwork/iOS/iPad/FM_LaunchImagePortrait_768x1024.png"

iPhone のためのアイコンおよびイメージ ファイルを設定する変数

変数 デフォルト値

EMBT_IPHONE_APPLICATION_ICON_114_114

"${BDS}/bin/Artwork/iOS/iPhone/FM_ApplicationIcon_114x114.png"

EMBT_IPHONE_APPLICATION_ICON_120_120

"${BDS}/bin/Artwork/iOS/iPhone/FM_ApplicationIcon_120x120.png"

EMBT_IPHONE_APPLICATION_ICON_180_180

"${BDS}/bin/Artwork/iOS/iPhone/FM_ApplicationIcon_180x180.png"

EMBT_IPHONE_APPLICATION_ICON_57_57

"${BDS}/bin/Artwork/iOS/iPhone/FM_ApplicationIcon_57x57.png"

EMBT_IPHONE_APPLICATION_ICON_60_60

"${BDS}/bin/Artwork/iOS/iPhone/FM_ApplicationIcon_60x60.png"

EMBT_IPHONE_APPLICATION_ICON_87_87

"${BDS}/bin/Artwork/iOS/iPhone/FM_ApplicationIcon_87x87.png"

EMBT_IPHONE_SPOTLIGHT_SEARCH_ICON_29_29

"${BDS}/bin/Artwork/iOS/iPhone/FM_SpotlightSearchIcon_29x29.png"

EMBT_IPHONE_SPOTLIGHT_SEARCH_ICON_40_40

"${BDS}/bin/Artwork/iOS/iPhone/FM_SpotlightSearchIcon_40x40.png"

EMBT_IPHONE_SPOTLIGHT_SEARCH_ICON_58_58

"${BDS}/bin/Artwork/iOS/iPhone/FM_SpotlightSearchIcon_58x58.png"

EMBT_IPHONE_SPOTLIGHT_SEARCH_ICON_80_80

"${BDS}/bin/Artwork/iOS/iPhone/FM_SpotlightSearchIcon_80x80.png"

EMBT_IPHONE_LAUNCH_IMAGE_1125_2436

"${BDS}/bin/Artwork/iOS/iPhone/FM_LaunchImage_1125x2436.png"

EMBT_IPHONE_LAUNCH_IMAGE_1242_2208

"${BDS}/bin/Artwork/iOS/iPhone/FM_LaunchImage_1242x2208.png"

EMBT_IPHONE_LAUNCH_IMAGE_2208_1242

"${BDS}/bin/Artwork/iOS/iPhone/FM_LaunchImage_2208x1242.png"

EMBT_IPHONE_LAUNCH_IMAGE_2436_1125

"${BDS}/bin/Artwork/iOS/iPhone/FM_LaunchImage_2436x1125.png"

EMBT_IPHONE_LAUNCH_IMAGE_320_480

"${BDS}/bin/Artwork/iOS/iPhone/FM_LaunchImage_320x480.png"

EMBT_IPHONE_LAUNCH_IMAGE_640_1136

"${BDS}/bin/Artwork/iOS/iPhone/FM_LaunchImage_640x1136.png"

EMBT_IPHONE_LAUNCH_IMAGE_640_960

"${BDS}/bin/Artwork/iOS/iPhone/FM_LaunchImage_640x960.png"

EMBT_IPHONE_LAUNCH_IMAGE_750_1334

"${BDS}/bin/Artwork/iOS/iPhone/FM_LaunchImage_750x1334.png"

Android のマクロと変数

Android のマクロ

マクロ 説明 デフォルト値

add_embt_predexed_jars(file_path)

jar ファイルを classes.dex ファイルに追加します。classes.dex において既存の jar ファイルをクリアするには、EMBT_PREDEXED_JARS を “” に設定します。
file_path: classes.dex ファイルに追加される jar ファイル。file_path は完全修飾パス形式でなければなりません。
このマクロは、複数回呼び出される可能性があります。

classes.dex に追加されるデフォルトの jar:

  • "${BDS}/lib/android/<debug|release>/android-support-v4.dex.jar"
  • "${BDS}/lib/android/<debug|release>/cloud-messaging.dex.jar"
  • "${BDS}/lib/android/<debug|release>/fmx.dex.jar"
  • "${BDS}/lib/android/<debug|release>/google-analytics-v2.dex.jar"
  • "${BDS}/lib/android/<debug|release>/google-play-billing.dex.jar"
  • "${BDS}/lib/android/<debug|release>/google-play-licensing.dex.jar"
  • "${BDS}/lib/android/<debug|release>/google-play-services-ads-7.0.0.dex.jar"
  • "${BDS}/lib/android/<debug|release>/google-play-services-analytics-7.0.0.dex.jar"
  • "${BDS}/lib/android/<debug|release>/google-play-services-base-7.0.0.dex.jar"
  • "${BDS}/lib/android/<debug|release>/google-play-services-identity-7.0.0.dex.jar"
  • "${BDS}/lib/android/<debug|release>/google-play-services-maps-7.0.0.dex.jar"
  • "${BDS}/lib/android/<debug|release>/google-play-services-panorama-7.0.0.dex.jar"
  • "${BDS}/lib/android/<debug|release>/google-play-services-plus-7.0.0.dex.jar"
  • "${BDS}/lib/android/<debug|release>/google-play-services-wallet-7.0.0.dex.jar"
  • "${BDS}/lib/android/<debug|release>/google-play-services-gcm-7.0.0.dex.jar"

add_embt_additional_uses_permissions(permission)

追加の使用権限を、Android マニフェスト ファイルに追加します。Android マニフェスト ファイル内の既存の権限をクリアするには、EMBT_ANDROID_USES_PERMISSIONS を “” に設定してください。
permission: Android 使用権限。
このマクロは、複数回呼び出される可能性があります。

マニフェスト ファイルへ追加されるデフォルトの権限:

  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.CALL_PHONE
  • android.permission.CAMERA
  • android.permission.INTERNET
  • android.permission.READ_CALENDAR
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.READ_PHONE_STATE
  • android.permission.WRITE_CALENDAR
  • android.permission.WRITE_EXTERNAL_STORAGE

add_embt_additional_files(file_path [destination_dir [destination_name]])

デプロイされる追加ファイルをアプリケーション バンドル ディレクトリに追加します。
file_path: アプリケーション バンドル ディレクトリにデプロイされるファイル。 file_path は完全修飾形式でなければなりません。
destination_dir: このパラメータが設定された場合、ファイルは、EMBT_PROJECT_LOCATION から相対位置にある対象ディレクトリにデプロイされます。 このパラメータが設定されていない場合、ファイルは、EMBT_PROJECT_LOCATION にデプロイされます。
destination_name: このパラメータが設定されている場合、destiname_name は、アプリケーション バンドル ディレクトリ内のファイルの名前となります。 そうでなければ、この名前は file_path の短いファイル名になります。
このマクロは、複数回呼び出される可能性があります。

set_embt_target(target)

ビルドするアプリケーションの種類を設定します。
target: アプリケーションの種類。
有効な入力: “FMX”

add_fmx_app(source)

ビルドの対象となるソール ファイルを追加します。
source: ソース ファイルのリスト。

Android の変数

変数 説明 デフォルト値

APP

プロジェクト/アプリケーション名

EMBT_PROJECT_LOCATION

アプリケーション バンドル ディレクトリ。

“${CMAKE_CURRENT_BINARY_DIR}/Project_${APP}”

EMBT_TARGET

固定値: bccaarm.cmake の場合、"Android"

EMBT_ANDROID_BUILD_TYPE

アプリケーション ビルドの種類を設定します。
有効な値: “Development”、“Application-Store”

“Application-Store”

EMBT_ANDROID_KEYSTORE

KeyStore ファイルを設定します。

EMBT_ANDROID_STOREPASS

KeyStore パスワードを設定します。

EMBT_ANDROID_ALIAS

KeyStore でエイリアスを設定します。

EMBT_ANDROID_KEYPASS

エイリアスのパスワードを設定します。

EMBT_ANDROID_SDK_NAME

アプリケーションをコンパイルするために使用する Android SDK の名前を指定します。
Android SDK 名が指定されていない場合、RAD Studio で定義されているデフォルトの Android SDK が使用されます。

EMBT_PREDEXED_JARS

classes.dex をビルドするために使用されるリストまたは jar(add_embt_predexed_jars マクロ参照)

EMBT_ANDROID_USES_PERMISSIONS

Android マニフェスト ファイルへ追加された権限のリスト(add_embt_additional_uses_permissons マクロを参照)。

EMBT_ANDROID_APPLICATION_META_DATA

Android マニフェスト ファイルへ追加されるアプリケーションのメタデータ。

none

EMBT_ANDROID_SERVICES

Android マニフェスト ファイルへ追加されるサービス。

none

EMBT_ANDROID_DEBUGGABLE

AndroidManifest android:debuggable を設定します。

「アプリケーション ストア」ビルド タイプには“True”、「開発」ビルド タイプには“False”。

EMBT_ANDROID_HARDWARE_ACCELERATED

AndroidManifest android:hardwareAccelerated を設定します。

“True”

EMBT_ANDROID_INSTALL_LOCATION

AndroidManifest android:installLocation を設定します。

“auto”

EMBT_ANDROID_LABEL

AndroidManifest android:label を設定します。

"${APP}"

EMBT_ANDROID_LARGE_HEAP

AndroidManifest android:largeHeap を設定します。

“False”

EMBT_ANDROID_PACKAGE

AndroidManifest パッケージを設定します。

"com.embarcadero.${APP}"

EMBT_ANDROID_PERSISTENT

AndroidManifest android:persistent を設定します。

“False”

EMBT_ANDROID_RESTORE_ANY_VERSION

AndroidManifest android:restoreAnyVersion を設定します。

“False”

EMBT_ANDROID_TARGET_SDK_VERSION

AndroidManifest android:targetSdkVersion を設定します。

“14”

EMBT_ANDROID_VERSION_CODE

AndroidManifest android:versionCode を設定します。

“1”

EMBT_ANDROID_VERSION_NAME

AndroidManifest android:versionName を設定します。

"1.0.0"

EMBT_ANDROID_INCLUDE_SPLASH_IMAGE

splash_image_def.xml と styles.xml のファイルを apk バンドルに含めるには、True を設定します。

“True”

EMBT_ANDROID_SPLASH_DEFAULT

カスタム splash_image_def.xml を設定します。

“${BDS}/cmake/templates/splash_image_def.xml"

EMBT_ANDROID_SPLASH_GRAVITY - splash_image_def key

splash_image_def android:gravity を設定します。
有効な値: ”top”、”bottom”、”left”、”right”、”center_vertical”、”fill_vertical”、”center_horizontal”、”fill_horizontal”、”center”、”fill”、”clip_vertical”、”clip_horizontal”、”start”、”end”。

“center”

EMBT_ANDROID_SPLASH_TILE_MODE

splash_image_def android:tileMode を設定します。
有効な値: "disabled"、"clamp"、"repeat"、"mirror"

"disabled"

EMBT_ANDROID_STYLES

カスタム styles.xml ファイルを設定します。カスタム styles.xml ファイルが設定されており、かつ EMBT_ANDROID_INCLUDE_SPLASH_IMAGE が False に設定されている場合、_EMBT_ANDROID_THEME は適切な値に手動で設定される必要があります。

"${BDS}/cmake/templates/styles.xml"

EMBT_ANDROID_THEME

スタイル AppTheme を設定します。
有効な値: "TitleBar"、"No TitleBar"

“TitleBar”

アイコンおよびイメージ ファイルを設定する変数

変数 デフォルト値

EMBT_ANDROID_LAUNCHER_ICON_HDPI

"${BDS}/bin/Artwork/Android/FM_LauncherIcon_72x72.png"

EMBT_ANDROID_LAUNCHER_ICON_LDPI

"${BDS}/bin/Artwork/Android/FM_LauncherIcon_36x36.png"

EMBT_ANDROID_LAUNCHER_ICON_MDPI

"${BDS}/bin/Artwork/Android/FM_LauncherIcon_48x48.png"

EMBT_ANDROID_LAUNCHER_ICON_XHDPI

"${BDS}/bin/Artwork/Android/FM_LauncherIcon_96x96.png"

EMBT_ANDROID_LAUNCHER_ICON_XXHDPI

"${BDS}/bin/Artwork/Android/FM_LauncherIcon_144x144.png"

EMBT_ANDROID_SPLASH_IMAGE_LARGE

"${BDS}/bin/Artwork/Android/FM_SplashImage_640x480.png"

EMBT_ANDROID_SPLASH_IMAGE_NORMAL

"${BDS}/bin/Artwork/Android/FM_SplashImage_470x320.png"

EMBT_ANDROID_SPLASH_IMAGE_SMALL

"${BDS}/bin/Artwork/Android/FM_SplashImage_426x320.png"

EMBT_ANDROID_SPLASH_IMAGE_XLARGE

"${BDS}/bin/Artwork/Android/FM_SplashImage_960x720.png"

関連項目

C++ Builder での CMake の利用