1. 18 Apr, 2018 2 commits
  2. 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
  3. 07 May, 2014 1 commit
    • Mikołaj Siedlarek's avatar
      OS X: Use -iframework for system framework directories · 1bed75a5
      Mikołaj Siedlarek authored
      Just like -I flag has its -isystem counterpart which marks an include
      directory as a system directory and prevents unwanted warnings, on Apple
      systems there is -iframework -- a system directory replacement for -F.
      Use this flag to implement include_directories(SYSTEM) for frameworks.
      1bed75a5
  4. 11 Dec, 2012 1 commit
    • Brad King's avatar
      OS X: Detect implicit link directories on modern toolchains · 2dd67c7e
      Brad King authored
      We detect the implicit link directories for the toolchain by adding a
      flag to get verbose output from the compiler front-end while linking the
      ABI detection binary.  Newer OS X toolchains based on Clang do not add
      the implicit link directories with -L options to their internal
      invocation of "ld".  Instead they use a linker that comes with the
      toolchain and is already configured with the proper directories.
      
      Add the "-Wl,-v" option to ask "ld" to print its implicit directories.
      It displays them in a block such as:
      
       Library search paths:
      	/...
      
      Parse this block to extract the implicit link directories.
      
      While at it, remove the checks introduced by commit efaf335b (Skip
      implicit link information on Xcode, 2009-07-23) and commit 5195a664
      (Skip implicit link info for multiple OS X archs, 2009-09-22).  Discard
      the non-system link directories added by Xcode.  Discard all detected
      implicit libraries in the multi-architecture case but keep the
      directories.  The directories are still useful without the libraries
      just to suppress addition of explicit -L options for them.
      2dd67c7e
  5. 21 Sep, 2012 1 commit
    • Brad King's avatar
      OS X: Always generate -isysroot if any SDK is in use · a0a0877a
      Brad King authored
      Drop the last use of CMAKE_OSX_SYSROOT_DEFAULT.  Replace internal
      platform variable CMAKE_${lang}_HAS_ISYSROOT with a more general
      CMAKE_${lang}_SYSROOT_FLAG variable.  If the -isysroot flag exists and
      CMAKE_OSX_SYSROOT points to an SDK (not "/") then always add it to
      compiler command lines.  This is already done in the Xcode IDE.
      a0a0877a
  6. 13 Aug, 2012 1 commit
    • 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
  7. 22 Dec, 2010 1 commit
    • Brad King's avatar
      Pass Mac linker flag through all compilers with -Wl, · e498527f
      Brad King authored
      The Mac linker defines flag -headerpad_max_install_names but not all
      front-ends recognize the flag and pass it through (many did in the past,
      such as the Apple port of GCC).  Use the -Wl, option prefix to tell
      front-ends to pass it through without trying to interpret it.
      e498527f
  8. 09 Aug, 2010 1 commit
  9. 11 Feb, 2010 1 commit
  10. 29 Jan, 2010 1 commit
    • David Cole's avatar
      Fix issue #10155 - default value of CMAKE_OSX_DEPLOYMENT_TARGET should always... · 6ee87b2e
      David Cole authored
      Fix issue #10155 - default value of CMAKE_OSX_DEPLOYMENT_TARGET should always be the empty string. When the value of CMAKE_OSX_DEPLOYMENT_TARGET is the empty string, the -mmacosx-version-min flag should not show up on the compiler command line. The logic for selecting default value of CMAKE_OSX_SYSROOT is orthogonal to and independent of the value of the deployment target. The default value for CMAKE_OSX_SYSROOT is the SDK that corresponds to the current version of Mac OSX on which cmake is running.
      6ee87b2e
  11. 28 Jan, 2010 1 commit
  12. 02 Dec, 2009 1 commit
    • Brad King's avatar
      Fix OS X dylib and module GNU flags · 58d6057a
      Brad King authored
      The commit "Split GNU compiler information files" broke the settings of
      
        CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS
        CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS
      
      and started using just "-shared" for them.  This worked when tested on newer
      Mac machines, but older ones really need "-dynamiclib" and "-bundle" (which are
      the documented flags anyway).
      58d6057a
  13. 19 Sep, 2009 1 commit
    • Brad King's avatar
      Fix check for -isysroot on OS X · 180c60a8
      Brad King authored
      Previously we checked for this flag by parsing the version number of GCC
      out of 'gcc --version', but this is not reliable because the format can
      vary greatly.  Now we run 'gcc -v --help' and look for '-isysroot' in
      the list of options.
      
      We also now store the result on a per-language basis in the per-compiler
      info file "CMake<LANG>Compiler.cmake".  This is necessary to make it
      accessible from try-compile projects so that they generate correctly.
      180c60a8