Skip to content
  • Gregor Jasny's avatar
    Xcode: Control emission of EFFECTIVE_PLATFORM_NAME · 10c9c73d
    Gregor Jasny authored and Brad King's avatar Brad King committed
    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 happ...
    10c9c73d