1. 03 Aug, 2017 1 commit
    • Brad King's avatar
      Android: Fix support for CMAKE_SYSROOT without CMAKE_SYSROOT_COMPILE · 68d67c82
      Brad King authored
      If `CMAKE_SYSROOT` is set by the user (e.g. via the toolchain file) then
      we do not set `CMAKE_SYSROOT_COMPILE` to our default.  Fix our
      references to the sysroot's `/usr/include` directory to use
      `CMAKE_SYSROOT_COMPILE` only if it is set and else `CMAKE_SYSROOT`.
      
      Fixes: #17096
      68d67c82
  2. 13 Jul, 2017 1 commit
    • Brad King's avatar
      Android: Always add standard include directories last · 4bafa392
      Brad King authored
      The logic added in commit v3.6.0-rc1~30^2 (Add a variable to specify
      language-wide system include directories, 2016-05-24) to use
      `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` incorrectly filters them by
      `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`.  Rather than recognizing
      this, commit v3.8.0-rc1~60^2 (Android: Pass sysroot include directory
      explicitly, 2017-01-20) worked around the problem by incorrectly
      removing `/usr/include` from `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`
      so it worked in `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES`.
      
      By not filtering out `/usr/include` from user-specified include
      directories, we allow the code
      
          include_directories(${CMAKE_SYSROOT}/usr/include)
      
      to place the include directory too early on the command line.
      
      Fix support for standard include directories to not be filtered by
      implicit include directories, and do not remove `/usr/include` from the
      list of implicit include directories for Android builds.  Add a test
      case to verify that an explicit `/usr/include` is ignored in favor
      of the standard directory at the end.
      
      Fixes: #17059
      4bafa392
  3. 22 Jun, 2017 1 commit
    • Brad King's avatar
      Android: Fix include path for unified headers · 5d317930
      Brad King authored
      In commit v3.9.0-rc3~3^2 (Android: Add support for unified headers,
      2017-06-12) we accidentally constructed the unified header include
      directories from the linking sysroot.  Construct them from the
      compiling sysroot instead.
      
      Fixes: #16584
      5d317930
  4. 12 Jun, 2017 1 commit
  5. 09 Jun, 2017 1 commit
    • Brad King's avatar
      Android: Do not pass sysroot include for standalone toolchain · 22f8a465
      Brad King authored
      The change in commit v3.8.0-rc1~60^2 (Android: Pass sysroot include
      directory explicitly, 2017-01-20) does not make sense when compiling
      with a standalone toolchain which is tied to a single API version.
      Drop the explicit include directory so that the compiler uses its
      default system include order.
      
      Fixes: #16954
      22f8a465
  6. 20 Jan, 2017 1 commit
    • 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
  7. 21 Oct, 2016 1 commit
    • Brad King's avatar
      Android: Add missing link flags for device executables · 295c8efa
      Brad King authored
      See `${ndk}/build/core/default-build-commands.mk` for link flags the NDK
      uses for executables.  Add them to our default executable link flags.
      Suppress `nocopyreloc` on `arm64-v8a` because it does not work with
      some STL types.
      
      Closes: #16380
      295c8efa
  8. 27 Sep, 2016 1 commit
    • Brad King's avatar
      Simplify CMake per-source license notices · 86578ecc
      Brad King authored
      Per-source copyright/license notice headers that spell out copyright holder
      names and years are hard to maintain and often out-of-date or plain wrong.
      Precise contributor information is already maintained automatically by the
      version control tool.  Ultimately it is the receiver of a file who is
      responsible for determining its licensing status, and per-source notices are
      merely a convenience.  Therefore it is simpler and more accurate for
      each source to have a generic notice of the license name and references to
      more detailed information on copyright holders and full license terms.
      
      Our `Copyright.txt` file now contains a list of Contributors whose names
      appeared source-level copyright notices.  It also references version control
      history for more precise information.  Therefore we no longer need to spell
      out the list of Contributors in each source file notice.
      
      Replace CMake per-source copyright/license notice headers with a short
      description of the license and lin...
      86578ecc
  9. 23 Aug, 2016 2 commits
    • Brad King's avatar
      Android: Select the STL type for NDK builds · d7d40830
      Brad King authored
      Populate standard include directories and link libraries for the
      platform.  Select the STL corresponding to CMAKE_ANDROID_STL_TYPE and
      matching the current ABI and toolchain to be used.  Refer to the NDK
      sources/cxx-stl/*/Android.mk files for the needed file locations.
      d7d40830
    • Brad King's avatar
      Android: Populate compiler flags for current ABI · b22294bc
      Brad King authored
      Initialize the CMAKE_{C,CXX}_FLAGS{,_<CONFIG>} cache entries with
      flags for each ABI as specified by NDK toolchain `setup.mk` files.
      b22294bc
  10. 12 Aug, 2016 1 commit
  11. 20 Apr, 2015 1 commit
  12. 13 Aug, 2010 1 commit
    • Todd Gamblin's avatar
      Add platform files for BlueGene/P systems · 7083c81d
      Todd Gamblin authored and Brad King's avatar Brad King committed
      BlueGeneP-base:    Internal base shared by static and dynamic files
      BlueGeneP-static:  Platform file for all-static builds
      BlueGeneP-dynamic: Platform file for "default" dynamic builds
      7083c81d
  13. 09 Aug, 2010 1 commit
  14. 01 Oct, 2009 1 commit
  15. 28 Sep, 2009 1 commit
    • Brad King's avatar
      Convert CMake non-find modules to BSD License · 3a666595
      Brad King authored
      This adds copyright/license notification blocks CMake's non-find
      modules.  Most of the modules had no notices at all.  Some had notices
      referring to the BSD license already.  This commit normalizes existing
      notices and adds missing notices.
      3a666595
  16. 01 Feb, 2005 1 commit