1. 24 Jul, 2019 1 commit
    • Brad King's avatar
      Clang: For MSVC ABI do not use modes older than C++14 · d50b31be
      Brad King authored
      Since commit d44c0db0 (clang: setup correct configuration in gnu mode,
      2019-02-20, v3.15.0-rc1~41^2~5) we support the GNU-like Clang that
      targets the MSVC ABI.  However, Clang cannot compile with the MSVC
      standard library unless it runs in a mode aware of C++14 (since MSVC
      itself does not even have a lower mode).  When `CMAKE_CXX_STANDARD` is
      set to 98 or 11, use C++14 anyway.
      
      Since Clang's default mode is aware of C++14, another option is to not
      add any flags for 98 or 11.  However, if a future Clang version ever
      defaults to a higher C++ standard, setting the standard to 98 or 11
      should at least not use a mode higher than 14.
      
      Also revert test updates from commit 4819ff96 (Tests: fix failures
      with gnu mode clang on windows, 2019-03-21, v3.15.0-rc1~41^2~3) that
      were meant to work around the standard selection problem.
      
      Fixes: #19496
      d50b31be
  2. 24 May, 2019 1 commit
    • Zsolt Parragi's avatar
      Tests: fix failures with gnu mode clang on windows · 4819ff96
      Zsolt Parragi authored
          Root causes were:
          * Using incorrect conditions (assuming MSVC-like command line mode)
          * Trying to compile the MSVC STL in C++11 mode, when parts of it require
            C++14 or enabling MS extensions in clang.
          * Missing flush in a testcase using stdout in a dll and a main part
          with static crt
      4819ff96
  3. 29 Mar, 2019 1 commit
    • Brad King's avatar
      Tests: Fix Plugin test for international characters on Windows · 15be06a5
      Brad King authored
      Build KWSys with `CP_UTF8` internal encoding so that we can dynamically
      load modules by absolute paths that contain international characters.
      This is needed now that KWSys DynamicLoader uses KWSys Encoding instead
      of hard-coding `CP_UTF8` itself.
      15be06a5
  4. 01 Jun, 2018 1 commit
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format-6.0 · d7204e64
      Kitware Robot authored
      Run the `clang-format.bash` script to update all our C and C++ code to a
      new style defined by `.clang-format`.  Use `clang-format` version 6.0.
      
      * 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.
      d7204e64
  5. 07 Aug, 2017 1 commit
    • Brad King's avatar
      HP-UX: Drop support for building CMake on HP-UX · 49640d36
      Brad King authored
      CMake will soon require both C++11 and libuv to build.  Neither of
      these works on HP-UX, so unfortunately we need to drop support for
      the platform until someone can get them working.
      
      Issue: #17137
      49640d36
  6. 26 May, 2017 1 commit
  7. 27 Jul, 2016 1 commit
    • Daniel Pfeifer's avatar
      Use string(APPEND) in Tests · 7a649111
      Daniel Pfeifer authored
      Automate with:
      
      find Tests -type f -print0 | xargs -0 perl -i -0pe \
      's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
      7a649111
  8. 09 Jun, 2016 1 commit
  9. 06 Jun, 2016 1 commit
  10. 16 May, 2016 1 commit
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format · d9fd2f54
      Kitware Robot authored
      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
  11. 03 May, 2016 1 commit
    • Brad King's avatar
      Tests: Fix Plugin test include order · a20d7d48
      Brad King authored
      Fix the order accidentally broken by commit e1c77472 (Format include
      directive blocks and ordering with clang-format, 2016-04-29).  Include
      the KWSys header first in its own block so that it is not moved by tools
      that re-order includes.  It must be included first to define large file
      support macros consistently.
      a20d7d48
  12. 29 Apr, 2016 1 commit
    • 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
  13. 10 Mar, 2016 1 commit
  14. 03 Sep, 2015 1 commit
    • Brad King's avatar
      Tests: Fix Plugin test on Watcom compiler · d2b8229d
      Brad King authored
      The Watcom compiler does not have stream operators for std::string.
      Since KWSys no longer provides the operators for us, just use c_str()
      to avoid the problem and allow the test to compile on Watcom.
      d2b8229d
  15. 01 Sep, 2015 1 commit
    • Raphael Kubo da Costa's avatar
      Tests: Use a less strict regular expression to look for "SONAME" · 21d99aa3
      Raphael Kubo da Costa authored
      Commit 899458ab (Tests: Cover NO_SONAME property for SHARED libraries,
      2015-08-20) introduced a few new ExportImport tests, and the
      check_lib_{no}soname.cmake scripts that parse readelf(1)'s output.
      
      Make the regular expression matching the SONAME line output by readelf
      less strict, as the output format varies across implementations: GNU
      binutils' readelf is the only one to write each ELF header within
      parentheses (which the previous regular expression expected).  The new
      tests were thus failing when either Fedora's elfutils (eu-readelf) or
      elftoolchain's readelf (present on recent FreeBSD versions) were being
      used, as they both list the headers without parentheses.
      
      The same issue also affected Tests/Plugin's check_mod_soname.cmake, so
      fix that one as well -- the only reason the test was not failing is that
      it tested that the regular expression did not match, which was always
      the case with a non-binutils readelf.
      21d99aa3
  16. 31 Aug, 2015 1 commit
  17. 20 Aug, 2015 1 commit
  18. 25 Apr, 2014 1 commit
  19. 24 Oct, 2013 1 commit
    • Stephen Kelly's avatar
      Refactor the Plugin test. · 30ff6cf9
      Stephen Kelly authored
      Policy CMP0024 was introduced to disallow the include() of a file
      generated by export().
      
      Use ExternalProject to test the plugins after building.
      30ff6cf9
  20. 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
  21. 30 Apr, 2012 1 commit
    • Brad King's avatar
      Test NO_SONAME property (#13155) · fdb3f878
      Brad King authored
      Teach the Plugin test to check that the NO_SONAME target property works
      as documented.  Check that the IMPORTED targets are written with the
      correct properties.  When readelf is available use it to check the
      actual binary files for SONAME fields.
      fdb3f878
  22. 08 Jul, 2009 1 commit
  23. 15 Jun, 2009 1 commit
    • Brad King's avatar
      BUG: Create an exe's implib output dir for VS · f4b3bdc6
      Brad King authored
      If an executable marks symbols with __declspec(dllexport) then VS
      creates an import library for it.  However, it forgets to create the
      directory that will contain the import library if it is different from
      the location of the executable.  We work around this VS bug by creating
      a pre-build event on the executable target to make the directory.
      f4b3bdc6
  24. 25 Mar, 2008 1 commit
  25. 10 Sep, 2007 1 commit
  26. 19 Apr, 2007 1 commit
  27. 17 Apr, 2007 4 commits