1. 28 Feb, 2018 1 commit
    • Brad King's avatar
      install,export: Maybe transform OBJECT libraries to INTERFACE libraries · ea0ce73a
      Brad King authored
      Teach the `install` and `export` commands to support installing and
      exporting `OBJECT` libraries without their object files.  Transform
      them to `INTERFACE` libraries in such cases.
      
      For `install(TARGETS)`, activate this when no destination for the object
      files is specified.  For `export`, activate this only under Xcode with
      multiple architectures when we have no well-defined object file
      locations to give to clients.
      ea0ce73a
  2. 03 Jan, 2018 1 commit
  3. 15 Sep, 2017 1 commit
    • Brad King's avatar
      Use C++11 override instead of CM_OVERRIDE · 0b33aee4
      Brad King authored
      We now require C++11 support including `override`.  Drop use of
      the old compatibility macro.  Convert references as follows:
      
          git grep -l CM_OVERRIDE -- '*.h' '*.hxx' '*.cxx' |
            xargs sed -i 's/CM_OVERRIDE/override/g'
      0b33aee4
  4. 26 Aug, 2017 1 commit
  5. 11 Apr, 2017 1 commit
    • Daniel Pfeifer's avatar
      Use quotes for non-system includes · 1d829c86
      Daniel Pfeifer authored
      Automate with:
      
      git grep -l '#include <cm_' -- Source \
        | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g'
      
      git grep -l '#include <cmsys/' -- Source \
        | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g'
      
      git grep -l '#include <cm[A-Z]' -- Source \
        | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
      1d829c86
  6. 08 Nov, 2016 1 commit
  7. 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
  8. 16 Sep, 2016 1 commit
  9. 13 Sep, 2016 1 commit
    • Bill Hoffman's avatar
      Add support for creating prebuilt Android.mk files · 42ce9f1e
      Bill Hoffman authored
      Add options to the `install()` and `export()` commands to export the
      targets we build into Android.mk files that reference them as prebuilt
      libraries with associated usage requirements (compile definitions,
      include directories, link libraries).  This will allow CMake-built
      projects to be imported into projects using the Android NDK build
      system.
      
      Closes: #15562
      42ce9f1e