1. 21 Jan, 2019 1 commit
    • Brad King's avatar
      Refactor exclusion of -I/usr/include to avoid per-language values · 15ad8300
      Brad King authored
      Add a `CMAKE_PLATFORM_IMPLICIT_INCLUDE_DIRECTORIES` to contain the
      hard-coded list of paths to be excluded from `-I` arguments so that the
      values remain excluded even if the per-language
      `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` variants change.
      
      This is needed to preserve our historical exclusion of `-I/usr/include`
      even when it is not a real implicit include directory.  A policy may be
      needed to remove it later.
      15ad8300
  2. 27 Nov, 2017 1 commit
  3. 16 Mar, 2017 3 commits
  4. 07 Mar, 2017 1 commit
    • Steven Newbury's avatar
      Add support for x32-abi · 462cf254
      Steven Newbury authored
      Detect x32-abi through CMakeCompilerABI infrastruture and use this
      information at runtime to determine the correct library paths with
      `FIND_LIBRARY_USE_LIBX32_PATHS`.
      
      Fixes: #15994
      462cf254
  5. 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 links to `Copyright.txt` and online information
      available from "https://cmake.org/licensing".  The online URL also handles
      cases of modules being copied out of our source into other projects, so we
      can drop our notices about replacing links with full license text.
      
      Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
      of the replacements mechanically.  Manually fix up shebang lines and trailing
      newlines in a few files.  Manually update the notices in a few files that the
      script does not handle.
      86578ecc
  6. 10 Jun, 2016 1 commit
  7. 16 Apr, 2014 1 commit
    • Brad King's avatar
      Drop /lib32 and /lib64 from link directories and RPATH (#14875) · cc57ff5c
      Brad King authored
      Extend CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES with these paths.  We
      already have the equivalents under /usr.  Systems that have these
      directories have their dynamic loaders configured already.  Do not allow
      them to appear in the RPATH explicitly.
      cc57ff5c
  8. 21 Nov, 2013 1 commit
    • Stephen Kelly's avatar
      Introduce CMAKE_STAGING_PREFIX variable. · 7521da28
      Stephen Kelly authored
      This variable can be useful in cross-compiling contexts where the
      sysroot is read-only or where the sysroot should otherwise remain
      pristine.
      
      If the new CMAKE_STAGING_PREFIX variable is set, it is used instead
      of CMAKE_INSTALL_PREFIX when generating the installation rules in
      cmake_install.cmake.
      
      This way, the CMAKE_INSTALL_PREFIX variable
      always refers to the installation prefix on the target device, regardless
      of whether host==target.
      
      If any -rpath paths passed to the linker contain the CMAKE_STAGING_PREFIX,
      the matching path fragments are replaced with the CMAKE_INSTALL_PREFIX.
      Matching paths in the -rpath-link are not transformed.
      
      The cross-prefix usr-move workaround is assumed not to require extension
      regarding CMAKE_STAGING_PREFIX. The staging area is a single prefix, so
      there is no scope for cross-prefix symlinks. The CMAKE_INSTALL_PREFIX
      is still used to determine the workaround path, and that variable
      remains the relevant one even if CMAKE_STAGING_PREFIX is used. If the
      generated export files are deployed to the target, the workaround
      will still be in place, and still be employed if required.
      7521da28
  9. 31 Oct, 2013 1 commit
  10. 13 Aug, 2012 2 commits
    • Kitware Robot's avatar
      Convert CMake-language commands to lower case · 77543bde
      Kitware Robot authored
      Ancient CMake versions required upper-case commands.  Later command
      names became case-insensitive.  Now the preferred style is lower-case.
      
      Run the following shell code:
      
      cmake --help-command-list |
      grep -v "cmake version" |
      while read c; do
          echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
      done >convert.sed &&
      git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
      egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
      xargs -0 sed -i -f convert.sed &&
      rm convert.sed
      77543bde
    • Kitware Robot's avatar
      Remove trailing whitespace from most CMake and C/C++ code · 7bbaa428
      Kitware Robot authored
      Our Git commit hooks disallow modification or addition of lines with
      trailing whitespace.  Wipe out all remnants of trailing whitespace
      everywhere except third-party code.
      
      Run the following shell code:
      
      git ls-files -z -- \
       bootstrap doxygen.config '*.readme' \
       '*.c' '*.cmake' '*.cpp' '*.cxx' \
       '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
       '*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
      egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
      egrep -z -v '^(Modules/CPack\..*\.in)' |
      xargs -0 sed -i 's/ \+$//'
      7bbaa428
  11. 01 Sep, 2010 1 commit
    • Brad King's avatar
      Search MacPorts /opt/local prefix on Mac · eae45a67
      Brad King authored
      Include this prefix in CMAKE_SYSTEM_PREFIX_PATH so that it will be used
      for all find* commands.  Previously only find_library and find_path
      would look under /opt/local/lib and /opt/local/include, respectively.
      eae45a67
  12. 09 Aug, 2010 1 commit
  13. 28 Jan, 2010 1 commit
  14. 13 Jan, 2010 1 commit
    • Brad King's avatar
      Search prefix /usr before root prefix / · 12dcf9e4
      Brad King authored
      Commit "Find locally installed software first" made /usr/local the first
      prefix searched to be consistent with the Filesystem Hierarchy Standard:
      
        http://www.pathname.com/fhs/
      
      The standard also implies that the root prefix "/" should not have any
      package or development files.  The "/bin" and "/lib" directories should
      have only minimal contents to boot the system.  No "/include" ever
      exists.  This commit re-orders the search path prefix list from
      
        /usr/local
        /
        /usr
      
      to
      
        /usr/local
        /usr
        /
      
      to prefer package and development files over low-level system files.
      See issue #10136.
      
      On Cygwin /usr/lib == /lib and /usr/bin == /bin.  This change also makes
      search results report locations as "/usr/..." instead of "/lib/...".
      See issue #10122.
      12dcf9e4
  15. 09 Oct, 2009 1 commit
  16. 05 Oct, 2009 3 commits
    • Brad King's avatar
      Avoid (Unix|Windows)Paths.cmake multiple include · f98a4e63
      Brad King authored
      Block multiple inclusion because "Modules/CMakeCInformation.cmake"
      includes "Platform/${CMAKE_SYSTEM_NAME}" even though the generic
      module "CMakeSystemSpecificInformation.cmake" already included it.
      
      The extra inclusion is a work-around to address issue #4772 without
      intrusive platform file changes.  Once those changes are made the
      work-around and these include blockers can be removed.  See issue #9656.
      f98a4e63
    • Brad King's avatar
      Add copyright notice to (Unix|Windows)Paths.cmake · 3dc80f8d
      Brad King authored
      This commit adds our copyright notice to these non-trivial platform
      modules.
      3dc80f8d
    • Brad King's avatar
      Find locally installed software first · c118fd4c
      Brad King authored
      This commit re-orders the search path prefix list from
      
        /
        /usr
        /usr/local
      
      to
      
        /usr/local
        /
        /usr
      
      so that locally-installed software is preferred.
      
      This makes the search consistent with the Filesystem Hierarchy Standard:
      
        http://www.pathname.com/fhs/
      
      See issue #9657.
      c118fd4c
  17. 25 Feb, 2009 1 commit
    • Brad King's avatar
      ENH: Re-enable system include dir suppression · cb788e8f
      Brad King authored
      This creates variable CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES to
      specify implicit include directories on a per-language basis.  This
      replaces the previous platform-wide variable.  It is necessary to
      avoid explicit specification of -I/usr/include on some compilers
      (such as HP aCC) because:
      
        1.) It may break ordering among system include directories defined
            internally by the compiler, thus getting wrong system headers.
        2.) It tells the compiler to treat the system include directory
            as a user include directory, enabling warnings in the headers.
      
      See issue #8598.
      cb788e8f
  18. 17 Jan, 2008 1 commit
  19. 16 Jan, 2008 1 commit
  20. 09 Aug, 2007 1 commit
    • Alexander Neundorf's avatar
      · 176fe63d
      Alexander Neundorf authored
      ENH: UNIX, CYGWIN, WIN32, APPLE, QNXNTO and BEOS are not longer set in
      cmMakefile.cxx, but now in the platform files and are now valid for the
      target platform, not the host platform.
      New variables CMAKE_HOST_WIN32, CMAKE_HOST_UNIX, CMAKE_HOST_APPLE and
      CMAKE_HOST_CYGWIN have been added in cmMakefile.cxx (...and have now to be
      used in all cmake files which are executed before
      CMakeSystemSpecificInformation.cmake is loaded). For compatibility the old
      set is set to the new one in CMakeDetermineSystem.cmake and reset before the
      system platform files are loaded, so custom language or compiler modules
      which use these should still work.
      
      Alex
      176fe63d
  21. 27 Jul, 2007 1 commit
    • Alexander Neundorf's avatar
      · 507896e0
      Alexander Neundorf authored
      ENH:
      -add /usr/openwin/include and /usr/openwin/lib to the default search paths
      -add /${CMAKE_INSTALL_PREFIX}/(lib|bin|include) to the default cmake search
      paths -> this should help users who install stuff in their home
      
      Alex
      507896e0
  22. 16 Jul, 2007 1 commit
    • Alexander Neundorf's avatar
      · 5bd38eb6
      Alexander Neundorf authored
      ENH: also add the install base dir of the running cmake to the search
      directories for the FIND_XXX() commands, for the case that somebody has its
      own install tree
      
      Alex
      5bd38eb6
  23. 27 Jun, 2007 1 commit
  24. 18 May, 2007 1 commit
  25. 30 Apr, 2007 1 commit
    • Alexander Neundorf's avatar
      · 6e2cd411
      Alexander Neundorf authored
      BUG: if /opt/lib and /opt/csw/lib are searched for libs, then /opt/include
      and /opt/csw/include should also be searched for headers (according to
      google they also exist)
      
      Alex
      6e2cd411
  26. 28 Sep, 2006 1 commit
  27. 27 Mar, 2006 2 commits
  28. 24 Mar, 2006 1 commit
  29. 02 Mar, 2006 1 commit