1. 12 Oct, 2016 1 commit
  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 lin...
      86578ecc
  3. 03 Sep, 2016 1 commit
  4. 16 Aug, 2016 1 commit
  5. 15 Aug, 2016 1 commit
  6. 03 Aug, 2016 1 commit
    • Tobias Hunger's avatar
      Refactor extra generator registration to use factories · a354f60c
      Tobias Hunger authored and Brad King's avatar Brad King committed
      This will allow additional information about the availability
      and capabilities of extra generators to be queried without
      actually creating them.
      
      Instead of a static NewFactory() method like the main generator
      factories have, use a static GetFactory() method to get a pointer to a
      statically allocated extra generator factory.  This simplifies memory
      management.
      a354f60c
  7. 28 Jun, 2016 1 commit
  8. 17 Jun, 2016 1 commit
  9. 16 May, 2016 1 commit
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format · d9fd2f54
      Kitware Robot authored and Brad King's avatar Brad King committed
      Run the `Utilities/Scripts/clang-format.bash` script to update
      all our C++ code to a new style defined by `.clang-format`.
      Use `clang-format` version 3.8.
      
      * If you reached this commit for a line in `git blame`, re-run the blame
        operation starting at the parent of this commit to see older history
        for the content.
      
      * See the parent commit for instructions to rebase a change across this
        style transition commit.
      d9fd2f54
  10. 09 May, 2016 1 commit
    • Brad King's avatar
      Remove `//------...` horizontal separator comments · 0ac18d40
      Brad King authored
      Modern editors provide plenty of ways to visually separate functions.
      Drop the explicit comments that previously served this purpose.
      Use the following command to automate the change:
      
          $ git ls-files -z -- \
              "*.c" "*.cc" "*.cpp" "*.cxx" "*.h" "*.hh" "*.hpp" "*.hxx" |
            egrep -z -v "^Source/cmCommandArgumentLexer\." |
            egrep -z -v "^Source/cmCommandArgumentParser(\.y|\.cxx|Tokens\.h)" |
            egrep -z -v "^Source/cmDependsJavaLexer\." |
            egrep -z -v "^Source/cmDependsJavaParser(\.y|\.cxx|Tokens\.h)" |
            egrep -z -v "^Source/cmExprLexer\." |
            egrep -z -v "^Source/cmExprParser(\.y|\.cxx|Tokens\.h)" |
            egrep -z -v "^Source/cmFortranLexer\." |
            egrep -z -v "^Source/cmFortranParser(\.y|\.cxx|Tokens\.h)" |
            egrep -z -v "^Source/cmListFileLexer\." |
            egrep -z -v "^Source/cm_sha2" |
            egrep -z -v "^Source/(kwsys|CursesDialog/form)/" |
            egrep -z -v "^Utilities/(KW|cm).*/" |
            xargs -0 sed -i '/^\(\/\/---*\|\/\*---*\*\/\)$/ {d;}'
      
      This avoids modifying third-party sources and generated sources.
      0ac18d40
  11. 29 Apr, 2016 2 commits
    • Brad King's avatar
      Format include directive blocks and ordering with clang-format · e1c77472
      Brad King authored
      
      
      Sort include directives within each block (separated by a blank line) in
      lexicographic order (except to prioritize `sys/types.h` first).  First
      run `clang-format` with the config file:
      
          ---
          SortIncludes: false
          ...
      
      Commit the result temporarily.  Then run `clang-format` again with:
      
          ---
          SortIncludes: true
          IncludeCategories:
            - Regex:    'sys/types.h'
              Priority: -1
          ...
      
      Commit the result temporarily.  Start a new branch and cherry-pick the
      second commit.  Manually resolve conflicts to preserve indentation of
      re-ordered includes.  This cleans up the include ordering without
      changing any other style.
      
      Use the following command to run `clang-format`:
      
          $ git ls-files -z -- \
              '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' |
            egrep -z -v '(Lexer|Parser|ParserHelper)\.' |
            egrep -z -v '^Source/cm_sha2' |
            egrep -z -v '^Source/(kwsys|CursesDialog/form)/' |
            egrep -z -v '^Utilities/(KW|cm).*/' |
            egrep -z -v '^Tests/Module/GenerateExportHeader' |
            egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' |
            xargs -0 clang-format -i
      
      This selects source files that do not come from a third-party.
      Inspired-by: Daniel Pfeifer's avatarDaniel Pfeifer <daniel@pfeifer-mail.de>
      e1c77472
    • Brad King's avatar
      Source: Stabilize include order · 180538c7
      Brad King authored
      Each source file has a logical first include file.  Include it in an
      isolated block so that tools that sort includes do not move them.
      180538c7
  12. 24 Oct, 2015 2 commits
  13. 20 Oct, 2015 1 commit
  14. 17 Oct, 2015 1 commit
  15. 14 Oct, 2015 1 commit
    • Stephen Kelly's avatar
      cmState: Move TargetType enum from cmTarget. · eac15298
      Stephen Kelly authored
      Mostly automated:
      
       values=( "EXECUTABLE" "STATIC_LIBRARY" "SHARED_LIBRARY" "MODULE_LIBRARY" "OBJECT_LIBRARY" "UTILITY" "GLOBAL_TARGET" "INTERFACE_LIBRARY" "UNKNOWN_LIBRARY" "TargetType")
       for i in "${values[@]}"; do     git grep -l cmTarget::$i | xargs sed -i "s|cmTarget::$i|cmState::$i|g"; done
      eac15298
  16. 12 Oct, 2015 1 commit
  17. 10 Oct, 2015 1 commit
  18. 08 Oct, 2015 2 commits
  19. 07 Oct, 2015 1 commit
  20. 28 Aug, 2015 1 commit
  21. 20 Apr, 2015 1 commit
  22. 09 Mar, 2015 1 commit
  23. 07 May, 2014 1 commit
  24. 02 Apr, 2014 1 commit
    • Stephen Kelly's avatar
      cmTarget: Make the source files depend on the config. · e6971df6
      Stephen Kelly authored
      Disallow the use of config-specific source files with
      the Visual Studio and Xcode generators. They don't have
      any way to represent the condition currently.
      
      Use the same common-config API in cmQtAutoGenerators. While
      it accepts config-specific files, it doesn't have to support
      multiple configurations yet.
      
      Loop over the configs in cmTargetTraceDependencies
      and cmGlobalGenerator::WriteSummary and consume all source
      files.
      
      Loop over the configs in cmComputeTargetDepends and compute the
      object library dependencies for each config.
      e6971df6
  25. 11 Mar, 2014 1 commit
    • Stephen Kelly's avatar
      Remove some c_str() calls. · 21c573f6
      Stephen Kelly authored
      Use the clang RemoveCStrCalls tool to automatically migrate the
      code. This was only run on linux, so does not have any positive or
      negative effect on other platforms.
      21c573f6
  26. 08 Mar, 2014 5 commits
  27. 11 Feb, 2014 1 commit
  28. 09 Jan, 2014 1 commit
  29. 12 Nov, 2013 1 commit
    • Brad King's avatar
      Refactor tool selection for edit_cache (#14544) · 684063c0
      Brad King authored
      Refactor edit_cache tool selection to ask each global generator for its
      preference.  Teach the Ninja generator to always use cmake-gui because
      Ninja by design cannot run interactive terminal dialogs like ccmake.
      Teach the Makefile generator to use cmake-gui when also using an "extra"
      generator whose IDE has no terminal to run ccmake, and otherwise fall
      back to CMAKE_EDIT_COMMAND selection for normal Makefile build systems.
      684063c0
  30. 16 Oct, 2013 1 commit
  31. 11 Jul, 2013 1 commit
  32. 02 Jul, 2013 1 commit
  33. 27 Jun, 2013 1 commit
    • Brad King's avatar
      Refactor target COMPILE_OPTIONS and COMPILE_FLAGS handling · d221eac8
      Brad King authored
      Replace the cmLocalGenerator GetCompileOptions method with an
      AddCompileOptions method since all call sites of the former simply
      append the result to a flags string anyway.
      
      Add a "lang" argument to AddCompileOptions and move the
      CMAKE_<LANG>_FLAGS_REGEX filter into it.  Move the call sites in each
      generator to a location that has both the language and configuration
      available.  In the Makefile generator this also moves the flags from
      build.make to flags.make where they belong.
      d221eac8