CMake/Help/prop_gbl
Gregor Jasny 10c9c73d58 Xcode: Control emission of EFFECTIVE_PLATFORM_NAME
When building with multiple SDKs within one project Xcode requires
the usage of ${EFFECTIVE_PLATFORM_NAME} to put temporary and build
outout into separate directories. For example an iOS device and
simulator build use two different SDKs (iphoneos and iphonesimulator).

In the past cmake tries to detect embedded toolchains that could
possibly use simulators and emitted EFFECTIVE_PLATFORM_NAME (EPN)
at the proper locations. In #16253 Mark noticed that if he
uses macosx and iphoneos in combination the necessary EPN is not
emitted. This is because CMake by default assumes macosx SDK which
does not trigger EPN emission.

The fist naive approach - enabling EPN unconditionally revealed that
then the EPN leaks into generator expressions like $<TARGET_FILE:xxx>
which might be a regression and thus is unacceptable.

The next approach was to add an CMake property to enable EPN emission
unconditionally. This solved the reported problem.

But the EPN leakage also happened for the embedded toolchains already
without anyone noticing. So the control property was turned into a
tri-state one:

 * No definition: EPN is activated for embedded toolchains like before
 * ON: EPN is always emitted
 * OFF: EPN is never emitted

That approach gives the user the chance to disable EPN for embedded
toolchains and restores generator expression functionality for those.

Closes: #16253
2017-01-20 13:51:48 -05:00
..
ALLOW_DUPLICATE_CUSTOM_TARGETS.rst Convert builtin help to reStructuredText source files 2013-10-15 14:12:03 -04:00
AUTOGEN_TARGETS_FOLDER.rst QtAutogen: Rename autogen target to *_autogen from *_automoc 2016-12-07 08:24:02 -05:00
AUTOMOC_TARGETS_FOLDER.rst QtAutogen: Rename autogen target to *_autogen from *_automoc 2016-12-07 08:24:02 -05:00
CMAKE_C_KNOWN_FEATURES.rst Features: Add meta-features requesting awareness of a particular standard 2016-11-02 10:00:28 -04:00
CMAKE_CXX_KNOWN_FEATURES.rst Features: Add infrastructure for C++ 17 language standard 2016-12-02 11:22:46 -05:00
DEBUG_CONFIGURATIONS.rst Convert builtin help to reStructuredText source files 2013-10-15 14:12:03 -04:00
DISABLED_FEATURES.rst Convert builtin help to reStructuredText source files 2013-10-15 14:12:03 -04:00
ECLIPSE_EXTRA_NATURES.rst eclipse: Support custom natures via a global property 2013-11-19 11:48:19 -05:00
ENABLED_FEATURES.rst Convert builtin help to reStructuredText source files 2013-10-15 14:12:03 -04:00
ENABLED_LANGUAGES.rst Convert builtin help to reStructuredText source files 2013-10-15 14:12:03 -04:00
FIND_LIBRARY_USE_LIB32_PATHS.rst Teach find_library and find_package to search lib32 paths (#11260) 2016-06-10 11:09:16 -04:00
FIND_LIBRARY_USE_LIB64_PATHS.rst Help: Hyperlink properties 2016-04-27 22:38:59 +02:00
FIND_LIBRARY_USE_OPENBSD_VERSIONING.rst Help: Hyperlink properties 2016-04-27 22:38:59 +02:00
GLOBAL_DEPENDS_DEBUG_MODE.rst Convert builtin help to reStructuredText source files 2013-10-15 14:12:03 -04:00
GLOBAL_DEPENDS_NO_CYCLES.rst Convert builtin help to reStructuredText source files 2013-10-15 14:12:03 -04:00
IN_TRY_COMPILE.rst Help: Hyperlink properties 2016-04-27 22:38:59 +02:00
JOB_POOLS.rst Help: Document build targets automatically added to console pool. 2015-02-04 21:52:13 +01:00
PACKAGES_FOUND.rst Convert builtin help to reStructuredText source files 2013-10-15 14:12:03 -04:00
PACKAGES_NOT_FOUND.rst Convert builtin help to reStructuredText source files 2013-10-15 14:12:03 -04:00
PREDEFINED_TARGETS_FOLDER.rst Help: Hyperlink properties 2016-04-27 22:38:59 +02:00
REPORT_UNDEFINED_PROPERTIES.rst Convert builtin help to reStructuredText source files 2013-10-15 14:12:03 -04:00
RULE_LAUNCH_COMPILE.rst Help: Refine RULE_LAUNCH_{COMPILE,CUSTOM,LINK} global property docs 2015-08-03 10:25:53 -04:00
RULE_LAUNCH_CUSTOM.rst Help: Refine RULE_LAUNCH_{COMPILE,CUSTOM,LINK} global property docs 2015-08-03 10:25:53 -04:00
RULE_LAUNCH_LINK.rst Help: Refine RULE_LAUNCH_{COMPILE,CUSTOM,LINK} global property docs 2015-08-03 10:25:53 -04:00
RULE_MESSAGES.rst Help: Hyperlink properties 2016-04-27 22:38:59 +02:00
TARGET_ARCHIVES_MAY_BE_SHARED_LIBS.rst Convert builtin help to reStructuredText source files 2013-10-15 14:12:03 -04:00
TARGET_MESSAGES.rst Makefile: Optionally disable target completion messages in build output 2015-07-14 13:57:58 -04:00
TARGET_SUPPORTS_SHARED_LIBS.rst Convert builtin help to reStructuredText source files 2013-10-15 14:12:03 -04:00
USE_FOLDERS.rst Help: Hyperlink properties 2016-04-27 22:38:59 +02:00
XCODE_EMIT_EFFECTIVE_PLATFORM_NAME.rst Xcode: Control emission of EFFECTIVE_PLATFORM_NAME 2017-01-20 13:51:48 -05:00