On this page

Apple Platform CMake Opt-outs

When qt_finalize_target() finalizes an application bundle on macOS, iOS, or visionOS, Qt sets several target properties, Info.plist values, and Xcode attributes to sensible defaults. Most defaults are skipped when the project already provides a value, either through the target property or through the matching CMAKE_XCODE_ATTRIBUTE_<name> variable. The exceptions are:

  • The bundle name and version defaults check the matching MACOSX_BUNDLE_* target properties and variables instead.
  • The bundle identifier default reuses an identifier that the project sets through MACOSX_BUNDLE_GUI_IDENTIFIER or XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER, and sets both properties.
  • The localization defaults overwrite an existing CFBundleDevelopmentRegion in Info.plist.

Each default can also be turned off with one of the variables described on this page.

Set the variables to TRUE before the target is finalized, for example on the command line or in the project's top-level CMakeLists.txt.

Xcode Attributes

These defaults are only applied when using the Xcode generator.

VariableEffect when set
QT_NO_SET_XCODE_DEVELOPMENT_TEAM_IDDo not set XCODE_ATTRIBUTE_DEVELOPMENT_TEAM from the first team found on the system. See QT_NO_SET_XCODE_DEVELOPMENT_TEAM_ID.
QT_NO_SET_XCODE_CODE_SIGN_STYLEDo not set XCODE_ATTRIBUTE_CODE_SIGN_STYLE to Automatic.
QT_NO_SET_XCODE_INSTALL_PATHDo not set XCODE_ATTRIBUTE_INSTALL_PATH to $(inherited).
QT_NO_SET_XCODE_DEBUG_INFORMATION_FORMATDo not set XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT per configuration (dwarf for Debug, dwarf-with-dsym otherwise). Only a value of the property without a [variant=<config>] suffix counts as provided by the project.
QT_NO_SET_XCODE_GCC_GENERATE_DEBUGGING_SYMBOLSDo not set XCODE_ATTRIBUTE_GCC_GENERATE_DEBUGGING_SYMBOLS to YES.
QT_NO_SET_XCODE_COPY_PHASE_STRIPDo not set XCODE_ATTRIBUTE_COPY_PHASE_STRIP to NO. Without the default, Xcode strips embedded frameworks, such as the Qt frameworks, when copying them into the app bundle.
QT_NO_SET_XCODE_ATTRIBUTE_MARKETING_VERSION and QT_NO_SET_XCODE_ATTRIBUTE_CURRENT_PROJECT_VERSIONDo not set the XCODE_ATTRIBUTE_MARKETING_VERSION and XCODE_ATTRIBUTE_CURRENT_PROJECT_VERSION properties. Setting either of the two variables turns off both properties. Info.plist then gets literal version strings instead of Xcode build setting references.

iOS Attributes

These defaults are applied on iOS only.

VariableEffect when set
QT_NO_SET_XCODE_TARGETED_DEVICE_FAMILYDo not set XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY to iPhone and iPad (1,2).
QT_NO_SET_XCODE_ENABLE_BITCODEDo not set XCODE_ATTRIBUTE_ENABLE_BITCODE to NO.
QT_NO_SET_XCODE_ARCHSDo not restrict the iOS simulator to x86_64 when Qt was built with that architecture.
QT_NO_SET_XCODE_LD_ENTRY_POINTDo not set XCODE_ATTRIBUTE_LD_ENTRY_POINT to Qt's main wrapper.
QT_NO_SET_DEFAULT_IOS_LAUNCH_SCREENDo not use Qt's default launch screen storyboard when the project provides none. See QT_IOS_LAUNCH_SCREEN. The target property of the same name takes precedence over the variable.
QT_NO_ADD_IOS_LAUNCH_SCREEN_TO_BUNDLEDo not add the launch screen storyboard to the app bundle.

Bundle Metadata

These defaults are applied on all Apple platforms and with all generators.

VariableEffect when set
QT_NO_SET_XCODE_BUNDLE_IDENTIFIERDo not set the bundle identifier properties. See QT_NO_SET_XCODE_BUNDLE_IDENTIFIER.
QT_NO_SET_XCODE_BUNDLE_NAMEDo not set MACOSX_BUNDLE_BUNDLE_NAME.
QT_NO_SET_XCODE_BUNDLE_VERSIONDo not set placeholder values for MACOSX_BUNDLE_BUNDLE_VERSION and MACOSX_BUNDLE_SHORT_VERSION_STRING.
QT_NO_SET_PLIST_LOCALIZATIONSDo not write CFBundleDevelopmentRegion and CFBundleLocalizations into Info.plist.

Shared Library Embedding

The embedding of shared libraries into application bundles is controlled by target properties:

SDK and Xcode Version Checks

These variables affect the SDK and Xcode version checks that run when configuring Qt itself.

VariableEffect when set
QT_NO_APPLE_SDK_AND_XCODE_CHECKSkip all SDK and Xcode version checks.
QT_NO_APPLE_SDK_MIN_VERSION_CHECKSkip the minimum SDK version check.
QT_NO_XCODE_MIN_VERSION_CHECKSkip the minimum Xcode version check, and do not require Xcode to be installed.
QT_NO_APPLE_SDK_MAX_VERSION_CHECKDo not warn when the SDK is newer than the newest tested version.
QT_FORCE_WARN_APPLE_SDK_AND_XCODE_CHECKTurn the error for an unsupported SDK or Xcode version into a warning.

See also qt_finalize_target().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.