Macros et variables CMake

De RAD Studio
Aller à : navigation, rechercher

Remonter à Utilisation de CMake avec C++ Builder


Vous trouverez ci-dessous la liste des macros et variables disponibles pour iOS et Android.

Macros et variables Windows

Macro Windows

Macro Description Saisies valides

set_embt_target(target)

Définit le type d'application à construire.
target : type d'application.

“VCL”, “FMX”, “Package”, “DynamicRuntime”

Variable Windows

Variable Description

EMBT_TARGET

Valeurs corrigées : "Windows" pour Windows-Embarcadero.cmake

Macros et variables iOS

Macros iOS

Macro Description Saisies valides Valeurs par défaut

set_embt_device_family(device)

Définit Info.plist UIDeviceFamily
device : Type de famille du périphérique UI.

“iPhone”, “iPad”, “iPhone & iPad”

"iPhone & iPad"

add_embt_additional_files(file_path [destination_dir [destination_name]])

Ajouter des fichiers supplémentaires à déployer dans le répertoire bundle de l'application.

  • file_path : Fichier à déployer dans le répertoire bundle de l'application. file_path doit être spécifié sous une forme entièrement qualifiée.
  • destination_dir : Si ce paramètre est défini, le fichier sera déployé dans ce répertoire destination correspondant à EMBT_PROJECT_LOCATION. Si ce paramètre n'est pas défini, le fichier sera déployé dans EMBT_PROJECT_LOCATION.
  • destination_name : Si ce paramètre est défini, destiname_name sera le nom du fichier dans le répertoire bundle de l'application. Sinon, le nom sera le nom de fichier court du file_path.

Cette macro peut être appelée plusieurs fois.

add_embt_interface_orientations(orientation)

Définit Info.plist UISupportedInterfaceOrientations
orientation : Orientation de l'interface prise en charge par l'interface utilisateur.
Cette macro peut être appelée plusieurs fois.

“Portrait”, "PortraitUpsideDown", "LandscapeLeft", "LandscapeRight”

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

add_embt_background_modes(mode)

Définit Info.plist UIBackgroundModes
mode : Mode de l'arrière-plan de l'interface utilisateur.
Cette macro peut être appelée plusieurs fois.

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

<none>

set_embt_target(target)

Définit le type d'application à construire.
target : type d'application.

"FMX"

add_fmx_app(source)

Ajoute les fichiers source cible de la build.
source : Liste des fichiers source.

Variables iOS

Variable Description Valeurs par défaut

APP

Nom de projet/Application

IOS_SDK_NAME

Spécifie le nom du SDK iOS à utiliser pour compiler l'application.
Si le nom du SDK iOS n'est pas spécifié, le SDK iOS par défaut tel que défini dans RAD Studio sera utilisé.

REMOTE_PROFILE

Spécifie le nom de profil de la connexion distante.
Si le nom du profil de connexion n'est pas spécifié, le profil de connexion distant par défaut tel que défini dans RAD Studio sera utilisé.

CERTIFICATE

Spécifie le certificat du profil d'approvisionnement à utiliser pour signer l'application.
Si le certificat n'est pas spécifié, le premier certificat trouvé dans le profil d'approvisionnement sera utilisé.

PROVISIONING_PROFILE

Spécifie le profil d'approvisionnement à utiliser pour l'application. Vous pouvez spécifier le nom ou le nom de fichier du profil d'approvisionnement. Si le nom de fichier est spécifié, il doit être saisi sous une forme entièrement qualifiée.
Si le profil d'approvisionnement n'est pas spécifié, le premier profil d'approvisionnement correspondant aux EMBT_IOS_BUNDLE_IDENTIFIER et EMBT_IOS_BUILD_TYPE spécifiés sera utilisé.

EMBT_PROJECT_LOCATION

Répertoire bundle de l'application sur la machine distante.

“${APP}.app”

EMBT_TARGET

Valeurs corrigées : "iOS64" pour bccios64.cmake et "iOS32" pour bccios32.cmake

EMBT_IOS_BUILD_TYPE

Définit le type de construction de l'application.
Valeurs valides : “Ad-hoc”, “Application-Store”

“Application-Store”

EMBT_IOS_INFO_PLIST

Définit le fichier Info.plist personnalisé.

EMBT_IOS_BUNDLE_ALLOW_MIXED_LOCALIZATIONS

Définit CFBundleAllowMixedLocalizations dans Info.plist

"YES"

EMBT_IOS_BUNDLE_DEVELOPMENT_REGION

Définit CFBundleDevelopmentRegion dans Info.plist

"en"

EMBT_IOS_BUNDLE_DISPLAY_NAME

Définit CFBundleDisplayName dans Info.plist

“${APP}”

EMBT_IOS_BUNDLE_EXECUTABLE

Définit CFBundleExecutable dans Info.plist

“${APP}”

EMBT_IOS_BUNDLE_IDENTIFIER

Définit CFBundleIdentifier dans Info.plist

“${APP}”

EMBT_IOS_BUNDLE_INFO_DICTIONARY_VERSION

Définit CFBundleInfoDictionaryVersion dans Info.plist

“7.1”

EMBT_IOS_BUNDLE_NAME

Définit CFBundleName dans Info.plist

“${APP}”

EMBT_IOS_BUNDLE_PACKAGE_TYPE

Définit CFBundlePackageType dans Info.plist

“APPL”

EMBT_IOS_BUNDLE_RESOURCE_SPECIFICATION

Définit CFBundleResourceSpecification dans Info.plist

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

EMBT_IOS_BUNDLE_SHORT_VERSION_STRING

Définit CFBundleShortVersionString dans Info.plist

“1.0.0”

EMBT_IOS_BUNDLE_SIGNATURE

Définit CFBundleSignature dans Info.plist

“????”

EMBT_IOS_BUNDLE_VERSION

Définit CFBundleVersion dans Info.plist

“1.0.0”

EMBT_IOS_CAMERA_USAGE_DESCRIPTION

Définit NSCameraUsageDescription dans Info.plist

“Cette app requiert l'accès à votre appareil photo”

EMBT_IOS_CONTACTS_USAGE_DESCRIPTION

Définit NSContactsUsageDescription dans Info.plist

“Cette app requiert l'accès à vos informations de contact”

EMBT_IOS_LOCAL_NOTIFICATION_PERMISSION

Définit FMLocalNotificationPermission dans Info.plist

“false”

EMBT_IOS_LOCATION_ALWAYS_USAGE_DESCRIPTION

Définit NSLocationAlwaysUsageDescription dans Info.plist

“Cette app requiert toujours l'accès à votre emplacement”

EMBT_IOS_LOCATION_WHEN_IN_USE_USAGE_DESCRIPTION

Définit NSLocationWhenInUseUsageDescription dans Info.plist

“Cette app requiert toujours l'accès à votre emplacement lorsque vous l'utilisez”

EMBT_IOS_MINIMUM_OS_VERSION

Définit MinimumOSVersion dans Info.plist

“8.0”

EMBT_IOS_PHOTO_LIBRARY_USAGE_DESCRIPTION

Définit NSPhotoLibraryUsageDescription dans Info.plist

“Cette app requiert l'accès à vos photos”

EMBT_IOS_REQUIRED_DEVICE_CAPABILITIES

Définit UIRequiredDeviceCapabilities dans Info.plist

"arm7" for bccios32.cmake, "arm64" pour bccios64.cmake

EMBT_IOS_REQUIRES_IPHONE_OS

Définit LSRequiresIPhoneO dans Info.plist

“true”

EMBT_IOS_ALLOWS_ARBITRARY_LOADS

Définit NSAllowsArbitraryLoads dans Info.plist

“true”

EMBT_IOS_ADDITIONAL_KEY_VALUE_PAIRS

Ajoute une paire de valeurs clé Info.plist

Variables pour définir des fichiers icônes et images pour iPad

Variable Valeur par défaut

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"

Variables pour définir des fichiers icônes et images pour iPhone

Variable Valeur par défaut

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"

Macros et variables Android

Macros Android

Macro Description Valeurs par défaut

add_embt_predexed_jars(file_path)

Ajoute des fichiers jar dans le fichier classes.dex. Pour effacer les fichiers jar existant dans classes.dex, définissez EMBT_PREDEXED_JARS sur “”.
file_path : fichier jar à ajouter au fichier classes.dex. file_path doit être spécifié sous une forme entièrement qualifiée.
Cette macro peut être appelée plusieurs fois.

Les fichiers jar par défaut ajoutés à classes.dex sont :

  • "${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)

Ajoute des autorisations d'autorisation supplémentaires au fichier manifest Android. Pour effacer l'autorisation existante dans le fichier manifest Android, définissez EMBT_ANDROID_USES_PERMISSIONS sur “”.
permission : Android uses permission.
Cette macro peut être appelée plusieurs fois.

Les autorisations par défaut ajoutées au fichier manifest sont :

  • 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]])

Ajouter des fichiers supplémentaires à déployer dans le répertoire bundle de l'application.
file_path : Fichier à déployer dans le répertoire bundle de l'application. file_path doit être spécifié sous une forme entièrement qualifiée.
destination_dir : Si ce paramètre est défini, le fichier sera déployé dans ce répertoire destination correspondant à EMBT_PROJECT_LOCATION. Si ce paramètre n'est pas défini, le fichier sera déployé dans EMBT_PROJECT_LOCATION.
destination_name : Si ce paramètre est défini, destiname_name sera le nom du fichier dans le répertoire bundle de l'application. Sinon, le nom sera le nom de fichier court du file_path.
Cette macro peut être appelée plusieurs fois.

set_embt_target(target)

Définit le type d'application à construire.
target : Type of application.
Saisies valides : “FMX”

add_fmx_app(source)

Ajoute les fichiers source cible de la build.
source : Liste des fichiers source.

Variables Android

Variable Description Valeurs par défaut

APP

Nom de projet/Application

EMBT_PROJECT_LOCATION

Répertoire bundle de l'application.

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

EMBT_TARGET

Valeurs corrigées : "Android" pour bccaarm.cmake

EMBT_ANDROID_BUILD_TYPE

Définit le type de construction de l'application.
Valeurs valides : “Development”, “Application-Store”

“Application-Store”

EMBT_ANDROID_KEYSTORE

Définit le fichier magasin de clés.

EMBT_ANDROID_STOREPASS

Définit le mot de passe magasin de clés.

EMBT_ANDROID_ALIAS

Définit l'alias dans le magasin de clés.

EMBT_ANDROID_KEYPASS

Définit le mot de passe de l'alias.

EMBT_ANDROID_SDK_NAME

Spécifie le nom du SDK Android à utiliser pour compiler l'application.
Si le nom du SDK Android n'est pas spécifié, le SDK Android par défaut tel que défini dans RAD Studio sera utilisé.

EMBT_PREDEXED_JARS

Liste de jars utilisés pour construire classes.dex (voir la macro add_embt_predexed_jars)

EMBT_ANDROID_USES_PERMISSIONS

Liste d'autorisations à ajouter au fichier manifest Android (voir la macro add_embt_additional_uses_permissons).

EMBT_ANDROID_APPLICATION_META_DATA

Métadonnées d'application à ajouter au fichier manifest Android.

none

EMBT_ANDROID_SERVICES

Services à ajouter au fichier manifest Android.

none

EMBT_ANDROID_DEBUGGABLE

Définit android:debuggable dans le fichier manifest Android

“True” pour Application-Store build type, “False” pour Development build type.

EMBT_ANDROID_HARDWARE_ACCELERATED

Définit android:hardwareAccelerated dans le fichier manifest Android

“True”

EMBT_ANDROID_INSTALL_LOCATION

Définit android:installLocation dans le fichier manifest Android.

“auto”

EMBT_ANDROID_LABEL

Définit android:label dans le fichier manifest Android

"${APP}"

EMBT_ANDROID_LARGE_HEAP

Définit android:largeHeap dans le fichier manifest Android

“False”

EMBT_ANDROID_PACKAGE

Définit le package AndroidManifest

"com.embarcadero.${APP}"

EMBT_ANDROID_PERSISTENT

Définit android:persistent dans le fichier manifest Android

“False”

EMBT_ANDROID_RESTORE_ANY_VERSION

Définit android:restoreAnyVersion dans le fichier manifest Android

“False”

EMBT_ANDROID_TARGET_SDK_VERSION

Définit android:targetSdkVersion dans le fichier manifest Android

“14”

EMBT_ANDROID_VERSION_CODE

Définit android:versionCode dans le fichier manifest Android

“1”

EMBT_ANDROID_VERSION_NAME

Définit android:versionName dans le fichier manifest Android

"1.0.0"

EMBT_ANDROID_INCLUDE_SPLASH_IMAGE

Définissez sur True pour inclure splash_image_def.xml et styles.xml dans apk bundle.

“True”

EMBT_ANDROID_SPLASH_DEFAULT

Définit un fichier splash_image_def.xml personnalisé

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

EMBT_ANDROID_SPLASH_GRAVITY - clé splash_image_def

Définit un fichier splash_image_def android:gravity
Valeurs valides : ”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

Définit splash_image_def android:tileMode
Valeurs valides : "disabled", "clamp", "repeat", "mirror".

"disabled"

EMBT_ANDROID_STYLES

Définit un fichier styles.xml personnalisé. Si le fichier styles.xml personnalisé est défini et que EMBT_ANDROID_INCLUDE_SPLASH_IMAGE est défini sur False, _EMBT_ANDROID_THEME doit être défini manuellement sur la valeur correcte.

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

EMBT_ANDROID_THEME

Définit le style AppTheme
Valeurs valides : "TitleBar", "No TitleBar"

“TitleBar”

Variables pour définir des fichiers icônes et images

Variable Valeur par défaut

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"

Voir aussi

Utilisation de CMake avec C++ Builder