Skip to content
Snippets Groups Projects
  1. Jan 26, 2017
  2. Jan 25, 2017
  3. Jan 24, 2017
  4. Jan 23, 2017
  5. Jan 22, 2017
  6. Jan 21, 2017
  7. Jan 20, 2017
    • Brad King's avatar
      Android: Pass sysroot include directory explicitly · 1ee0ffab
      Brad King authored
      The NDK's `build/core/definitions.mk` file adds compiler flags:
      
          -isystem $$(call host-path,$$(SYSROOT_INC)/usr/include)
      
      This passes the system include directory explicitly even though it is
      implied by `--sysroot=`.  The explicit flag places the directory
      earlier in the include path than the sysroot-default one would be.
      
      Teach CMake to add this include directory at the end of the standard
      include path for Android.  Otherwise the toolchain's `include-fixed/`
      directory may replace system headers with "fixed" copies that are not
      from the same API version.
      
      Closes: #16536
      1ee0ffab
    • Brad King's avatar
      Android: Fix c++_{static,shared} support include directory order · 1806e011
      Brad King authored
      The NDK's own build files:
      
          <ndk>/build/tools/build-cxx-stl.sh
          <ndk>/build/cmake/android.toolchain.cmake
      
      for the `c++_static` and `c++_shared` build types add the
      `<ndk>/sources/android/support/include` include directory
      between the two `<ndk>/sources/cxx-stl/llvm-libc++*` directories.
      Re-order our own include directory generation to match.
      
      Issue: #16536
      1806e011
    • 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 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
      10c9c73d
    • Clinton Stimpson's avatar
      cmake-gui: trim spaces from user-created variable names · 8f1bce12
      Clinton Stimpson authored and Brad King's avatar Brad King committed
      Fixes: #15955
      8f1bce12
Loading