1. 26 Mar, 2019 1 commit
  2. 11 Feb, 2019 1 commit
    • Zsolt Parragi's avatar
      Tests: Teach tests when to treat clang-cl as MSVC · 091afa73
      Zsolt Parragi authored
      * Disable the system include unused variable test in ExportImport when
        clang is in MSVC compatible mode.
      
      * Disable CxxDialect testcase when clang is in MSVC compatible mode, as
        it doesn't support `typeof`.
      
      * Teach Module.WriteCompilerDetectionHeader to treat clang-cl as MSVC.
      
      * Disable the SystemIncludeDirectories testcase within
        IncludeDirectories when clang is in MSVC compatible mode.
      
      * Disable the CMakeOnly.CheckCXXCompilerFlag testcase when clang is in
        MSVC compatible mode.
      
      * Treat clang-cl as MSVC in LinkOptions.cmake in the try_run and
        try_compile testcases.
      091afa73
  3. 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
  4. 23 Apr, 2018 1 commit
  5. 12 Mar, 2018 2 commits
    • Brad King's avatar
      Genex: Fix COMPILE_LANGUAGE propagation through try_compile · 1b5e52fd
      Brad King authored
      When evaluating include directories during export to a `try_compile`
      test project, thread the compile language through to the generator
      expression evaluator so it can support `$<COMPILE_LANGUAGE:...>`.
      
      Issue: #17811
      1b5e52fd
    • Brad King's avatar
      Genex: Fix COMPILE_LANGUAGE in SYSTEM include directories · 2deb9b7f
      Brad King authored
      When evaluating `INTERFACE_SYSTEM_INCLUDE_DIRECTORIES`, or evaluating
      `INTERFACE_INCLUDE_DIRECTORIES` on an imported target, thread the
      compile language through to the generator expression evaluator so
      that it can support `$<COMPILE_LANGUAGE:...>`.
      
      Fixes: #17811
      2deb9b7f
  6. 27 Dec, 2016 1 commit
  7. 28 Nov, 2016 1 commit
  8. 09 Aug, 2016 1 commit
    • Gregor Jasny's avatar
      Xcode: Obey SYSTEM keyword for includes (#15687) · 93ac2a78
      Gregor Jasny authored
      CMake used to put all header search paths into HEADER_SEARCH_PATHS
      attribute. Unfortunately this attribute does not support to declare
      a search path as a system include.
      
      As a hack one could add a -isystem /path to the cflags but then include
      ordering is not deterministic. A better approach was chosen with this
      patch by not filling HEADER_SEARCH_PATHS at all and to populate
      the C, C++, and Fortran flags directly. The include paths used by
      Xcode should be now identical to the ones used by Unix Makefiles and
      Ninja generator.
      93ac2a78
  9. 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
  10. 25 May, 2016 1 commit
    • Brad King's avatar
      Add a variable to specify language-wide system include directories · c1340827
      Brad King authored
      Create a `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` variable to specify
      system include directories for for `<LANG>` compiler command lines.
      This plays a role for include directories as the existing
      `CMAKE_<LANG>_STANDARD_LIBRARIES` variable does for link libraries.
      c1340827
  11. 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
  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. 25 Sep, 2015 1 commit
  14. 11 Aug, 2015 1 commit
  15. 22 Jan, 2015 1 commit
  16. 06 Jan, 2014 1 commit
    • Stephen Kelly's avatar
      cmTarget: Fix system include annotation propagation. · faedd2be
      Stephen Kelly authored
      Direct users of IMPORTED targets treat INTERFACE_INCLUDE_DIRECTORIES
      as SYSTEM, after commit a63fcbcb (Always consider includes from IMPORTED
      targets to be SYSTEM., 2013-08-29).  It was intended that transitive
      use of an IMPORTED target would have the same behavior, but that
      did not work.  The implementation processed only direct dependencies
      in cmTarget::FinalizeSystemIncludeDirectories.
      
      Implement transitive evaluation of dependencies by traversing the
      link interface of each target in the link implementation.
      faedd2be
  17. 09 Oct, 2013 1 commit
  18. 07 Oct, 2013 1 commit
    • Brad King's avatar
      Clang: Add separate "AppleClang" compiler id · ab658624
      Brad King authored
      Apple distributes their own Clang build with their own version numbers
      that differ from upstream Clang.  Use the __apple_build_version__ symbol
      to identify the Apple Clang compiler and report the Apple Build Version
      as the fourth version component in CMAKE_<LANG>_COMPILER_VERSION.  Add
      Compiler/AppleClang-<lang> and Platform/Darwin-AppleClang-<lang> modules
      that simply include the upstream equivalents.
      
      Fix comparisons of CMAKE_<LANG>_COMPILER_ID to Clang in CMake's own
      source and tests to account for AppleClang.
      ab658624
  19. 24 Aug, 2013 1 commit
    • Stephen Kelly's avatar
      Fix OLD behavior of CMP0021. · eef6df5c
      Stephen Kelly authored
      Exclude Ninja and Xcode from the CMP0021 test
      
      They do not behave the same as the makefile generator with
      relative paths.
      
      Don't overwrite the header file for in-source builds.
      eef6df5c
  20. 24 Jul, 2013 1 commit
    • Stephen Kelly's avatar
      Remove the LINK_LANGUAGE generator expression. · 4f6bd702
      Stephen Kelly authored
      It accepted an optional argument to test for equality, but no way
      to get the linker language of a particular target.
      
      TARGET_PROPERTY provides this flexibility and STREQUAL provides
      the necessary API for equality test.
      
      Extend the CompileDefinitions test to cover accessing the
      property of another target.
      4f6bd702
  21. 16 Jul, 2013 1 commit
  22. 05 Jun, 2013 1 commit
    • Stephen Kelly's avatar
      Genex: Fix the HEAD target used for evaluated expressions · 5b222354
      Stephen Kelly authored
      If the expression $<TARGET_PROPERTY:prop> appears in the content
      of a target property, the target that prop is read from is
      the 'head target' of the expression. In contexts such as evaluating
      the content of a target property during generation, such
      as INCLUDE_DIRECTORIES, the 'head target' is the one on which the
      initial request was made.
      
      If evaluating a generator expression which is not a target property
      content, the target must be explicitly specified. Such contexts
      include add_custom_command and file(GENERATE). The content might
      then look like
      
       $<TARGET_PROPERTY:tgt,prop>
      
      However, as there is no HeadTarget set, any generator expressions
      evaluated as part of reading prop from tgt which do not specify
      the tgt directly report an error.
      
      Modify the logic of the TARGET_PROPERTY generator expression so
      that in such contexts, the 'head target' is set to the appropriate
      target which was first encountered.
      5b222354
  23. 30 May, 2013 1 commit
  24. 24 May, 2013 2 commits
  25. 23 May, 2013 1 commit
  26. 21 May, 2013 1 commit
  27. 16 May, 2013 1 commit
    • Stephen Kelly's avatar
      Add the JOIN generator expression. · a7ba4520
      Stephen Kelly authored
      This generator expression joins a list with a separator. The separator
      may contain arbitrary content, such as commas, which is ordinarily a
      delimiter in the generator expression syntax.
      a7ba4520
  28. 10 Apr, 2013 1 commit
  29. 12 Feb, 2013 1 commit
  30. 31 Jan, 2013 1 commit
  31. 07 Jan, 2013 1 commit
  32. 04 Jan, 2013 1 commit
  33. 22 Oct, 2012 1 commit
  34. 17 Oct, 2012 1 commit
  35. 28 Sep, 2012 1 commit
  36. 18 Jun, 2012 1 commit
  37. 22 Feb, 2012 1 commit
  38. 03 Jun, 2011 1 commit