1. 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
  2. 23 Apr, 2018 1 commit
  3. 27 Mar, 2018 1 commit
  4. 26 Mar, 2018 1 commit
    • Brad King's avatar
      Revert "Remove CTestTestfile.cmake when BUILD_TESTING is OFF" · 70c50aa2
      Brad King authored
      Revert commit v3.8.0-rc1~305^2 (Remove CTestTestfile.cmake when BUILD_TESTING
      is OFF, 2016-11-14) again.  We reverted it once in commit v3.8.0-rc3~22^2
      (Revert "Remove CTestTestfile.cmake when BUILD_TESTING is OFF", 2017-03-06) but
      it was accidentally restored by commit v3.11.0-rc1~387^2 (server: add
      "ctestInfo" request to get test info, 2017-10-25), perhaps due to conflict
      resolution during rebase.
      
      We cannot remove `CTestTestfile.cmake` when testing is off because it breaks
      projects that never enable testing but create their own `CTestTestfile.cmake`
      manually instead.  Revert the change again and add a test case.
      70c50aa2
  5. 12 Mar, 2018 1 commit
    • 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. 31 Jan, 2018 1 commit
    • Pavel Solodovnikov's avatar
      Reduce raw string pointers usage. · 653b8946
      Pavel Solodovnikov authored
      * Change some functions to take `std::string` instead of
        `const char*` in the following classes: `cmMakeFile`, `cmake`,
        `cmCoreTryCompile`, `cmSystemTools`,  `cmState`, `cmLocalGenerator`
        and a few others.
      * Greatly reduce using of `const char*` overloads for
        `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`.
      * Remove many redundant `c_str()` conversions throughout the code.
      653b8946
  7. 30 Jan, 2018 1 commit
    • Frank Winklmeier's avatar
      cmLocalGenerator: change ImportedGeneratorTargets from vector to map · aed227fd
      Frank Winklmeier authored
      For large number of targets significant amount of time is spent in
      cmLocalGenerator::FindGeneratorTargetToUse, which uses find_if on a
      vector to locate the given target. Using a map instead of vector for
      ImportedGeneratorTargets (as done for cmMakefile::ImportedTargets)
      provides a significant speedup (up to factor of 2).
      aed227fd
  8. 26 Jan, 2018 1 commit
  9. 24 Jan, 2018 1 commit
  10. 23 Jan, 2018 1 commit
  11. 08 Nov, 2017 1 commit
    • Domen Vrankar's avatar
      CMake: enable setting default dir creation permissions · deeba85f
      Domen Vrankar authored
      Introduces CMAKE_DEFAULT_DIRECTORY_INSTALL_PERMISSIONS
      variable which enables the user to specify the default
      permissions for directory creation. This setting is then
      used to auto set the permissions on directories which
      are implicitly created by install() and file(INSTALL)
      commands such as CMAKE_INSTALL_PREFIX directories.
      deeba85f
  12. 03 Nov, 2017 1 commit
  13. 23 Oct, 2017 1 commit
    • Matthias Männich's avatar
      Replace cmArray{Begin,End,Size} by their standard counterparts · 57132765
      Matthias Männich authored
      std::{begin,end} are part of C++11, std::{cbegin,cend} are part of C++14
      and an standard compliant implementation has been introduced within the
      'cm' namespace: cm::{cbegin,cend}.
      
      std::size is only part of C++17, hence exposing a compliant implementation
      within namespace cm (cm::size).
      
      where possible, the standard implementations are reused.
      57132765
  14. 21 Sep, 2017 1 commit
  15. 12 Sep, 2017 1 commit
  16. 30 Aug, 2017 1 commit
  17. 24 Aug, 2017 1 commit
  18. 16 Aug, 2017 1 commit
    • Aaron Orenstein's avatar
      Performance: Add an index to Change cmLocalGenerator::GeneratorTargets. · af3fd6f2
      Aaron Orenstein authored
      Add an index to Change cmLocalGenerator::GeneratorTargets for faster lookup by
      name.
      
      Also changed a bunch of uses of cmLocalGenerator::GetGeneratorTargets() to take
      const references instead of copying the vector.
      
      Represent generator targets as a map (name -> target) to make name lookups more
      efficient instead of looping through the entire vector to find the desired one.
      af3fd6f2
  19. 14 Jul, 2017 3 commits
  20. 13 Jul, 2017 1 commit
    • Brad King's avatar
      Android: Always add standard include directories last · 4bafa392
      Brad King authored
      The logic added in commit v3.6.0-rc1~30^2 (Add a variable to specify
      language-wide system include directories, 2016-05-24) to use
      `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` incorrectly filters them by
      `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`.  Rather than recognizing
      this, commit v3.8.0-rc1~60^2 (Android: Pass sysroot include directory
      explicitly, 2017-01-20) worked around the problem by incorrectly
      removing `/usr/include` from `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`
      so it worked in `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES`.
      
      By not filtering out `/usr/include` from user-specified include
      directories, we allow the code
      
          include_directories(${CMAKE_SYSROOT}/usr/include)
      
      to place the include directory too early on the command line.
      
      Fix support for standard include directories to not be filtered by
      implicit include directories, and do not remove `/usr/include` from the
      list of implicit include directories for Android builds.  Add a test
      case to verify that an explicit `/usr/include` is ignored in favor
      of the standard directory at the end.
      
      Fixes: #17059
      4bafa392
  21. 12 Jul, 2017 1 commit
    • Matthew Woehlke's avatar
      Add TEST_INCLUDE_FILES · ed5bde30
      Matthew Woehlke authored
      Add new directory property TEST_INCLUDE_FILES. This supersedes
      TEST_INCLUDE_FILE, though the latter is of course retained for
      compatibility.
      
      Basically, this is a list rather than a single file. This allows the
      feature to be used by generic utilities without conflicting with local
      use.
      ed5bde30
  22. 10 Jul, 2017 1 commit
  23. 29 Jun, 2017 3 commits
  24. 28 Jun, 2017 1 commit
  25. 14 Jun, 2017 1 commit
    • Brad King's avatar
      IPO: Consider support for each language separately · ba247cca
      Brad King authored
      We only define `INTERPROCEDURAL_OPTIMIZATION` behavior for C, CXX, and
      Fortran languages.  Do not try to enable support for other languages.
      Furthermore, each language builds with a different compiler, so check
      for support by CMake and the compiler for each language independently.
      
      Fixes: #16944
      ba247cca
  26. 03 Jun, 2017 1 commit
  27. 01 Jun, 2017 1 commit
  28. 26 May, 2017 1 commit
  29. 11 May, 2017 1 commit
  30. 09 May, 2017 1 commit
    • Brad King's avatar
      Add options for separate compile and link sysroots · 53e89b6a
      Brad King authored
      Add `CMAKE_SYSROOT_COMPILE` and `CMAKE_SYSROOT_LINK` variables to as
      operation-specific alternatives to `CMAKE_SYSROOT`.  This will be useful
      for Android NDKs that compile and link with different sysroot values
      (e.g. `r14` with unified headers).
      
      Co-Author: Florent Castelli <florent.castelli@gmail.com>
      53e89b6a
  31. 01 May, 2017 4 commits
    • Chuck Atkins's avatar
      25e83ce5
    • Brad King's avatar
      Features: On SunPro link with language standard compiler flag · e17b1791
      Brad King authored
      When C++ feature requirements or `CXX_STANDARD` cause us to compile
      on SunPro with the `-std=c++11` option, link with the option too.
      This is needed to make the compiler use the matching standard library.
      e17b1791
    • Brad King's avatar
      cmLocalGenerator: Add a hook for compiler flags used at link time · d037be12
      Brad King authored
      When using a compiler to drive linking we add compiler flags from
      `CMAKE_<LANG>_FLAGS` in case they affect the way the compiler invokes
      the linker, but we don't add flags from other places that are meant only
      for compiling sources.  Rather than calling the `AddLanguageFlags`
      method (which is used to add flags for compiling sources) directly, add
      an intermediate method that is used when adding the flags for linking.
      This will give us a way to add language-specific compiler flags needed
      when driving the linker in the same place on the command line as other
      compiler flags go.
      d037be12
    • Brad King's avatar
      Features: Refactor <LANG>_STANDARD update · b115bc49
      Brad King authored
      In order to support generator expressions in target COMPILE_FEATURES
      we apply them at generate time.  Move this step to the beginning of
      generation instead of doing it on demand while collecting flags.
      This avoids repeating the process unnecessarily, and will then allow
      `cmLocalGenerator::AddCompilerRequirementFlag` to be used any time
      during generation.
      b115bc49
  32. 28 Apr, 2017 1 commit
  33. 27 Apr, 2017 1 commit