1. 21 Jan, 2019 1 commit
    • Brad King's avatar
      Refactor exclusion of -I/usr/include to avoid per-language values · 15ad8300
      Brad King authored
      Add a `CMAKE_PLATFORM_IMPLICIT_INCLUDE_DIRECTORIES` to contain the
      hard-coded list of paths to be excluded from `-I` arguments so that the
      values remain excluded even if the per-language
      `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` variants change.
      
      This is needed to preserve our historical exclusion of `-I/usr/include`
      even when it is not a real implicit include directory.  A policy may be
      needed to remove it later.
      15ad8300
  2. 17 Jan, 2019 1 commit
  3. 16 Jan, 2019 1 commit
  4. 19 Dec, 2018 1 commit
  5. 11 Nov, 2018 1 commit
  6. 06 Nov, 2018 1 commit
  7. 29 Oct, 2018 1 commit
    • Mateusz Zych's avatar
      MSVC: Respect CMAKE_RC_COMPILER and CMAKE_MT in vs_link_{dll,exe} · bd9bfc64
      Mateusz Zych authored
      CMake commands vs_link_dll and vs_link_exe, performing linking on MSVC,
      are responsible for calling resource compiler and manifest tool.
      
      Before this commit, both of these tools were called directly, with the
      expectation that they are available in the `PATH`. This has been fixed
      by respecting CMake variables `CMAKE_RC_COMPILER` and `CMAKE_MT`
      defining paths to these tools.
      
      Fixes: #17804
      bd9bfc64
  8. 26 Oct, 2018 1 commit
  9. 18 Oct, 2018 2 commits
  10. 16 Oct, 2018 1 commit
  11. 10 Oct, 2018 2 commits
    • Kyle Edwards's avatar
      add_subdirectory: Run subdirectory install rules in correct order · fc8955e8
      Kyle Edwards authored
      Before this change, install rules created by add_subdirectory()
      would be executed after all of the top-level install rules, even
      if they were declared before the top-level rules. This change
      adds a new policy, CMP0082, which interleaves the add_subdirectory()
      install rules with the other install rules so they are run in the
      correct order.
      fc8955e8
    • Brad King's avatar
      cmLocalGenerator: Remove AddCompileDefinitions method · 8f076acd
      Brad King authored
      This method offers the same definitions as `GetTargetDefines` except
      that it excludes the "export" macro on shared libraries.  Update call
      sites to use `GetTargetDefines` instead.  Some of them were incorrectly
      excluding the export macro.
      8f076acd
  12. 19 Sep, 2018 1 commit
    • Brad King's avatar
      Restore possibly regressed CMP0018 logic · d686f81e
      Brad King authored
      Refactoring in commit f4ff60a8 (cmMakefile: Make GetSafeDefinition
      return std::string const&, 2018-09-05) changed the treatment of the
      empty string in CMP0018 diagnostic logic.  Restore the behavior.
      d686f81e
  13. 18 Sep, 2018 1 commit
  14. 10 Sep, 2018 1 commit
  15. 05 Sep, 2018 2 commits
  16. 27 Aug, 2018 1 commit
  17. 15 Aug, 2018 1 commit
  18. 12 Aug, 2018 1 commit
  19. 07 Aug, 2018 2 commits
  20. 30 Jul, 2018 1 commit
  21. 25 Jul, 2018 5 commits
    • Sebastian Holtermann's avatar
      cmLocalGenerator: Extend the functionality of ``GetIncludeDirectories()`` · b0b820ea
      Sebastian Holtermann authored
      What ``cmLocalGenerator::GetIncludeDirectories`` does
      -----------------------------------------------------
      
      In general it concatenates the
      
      1. ``target->GetIncludeDirectories(LANG)`` and the
      2. ``CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES``.
      
      Additionally it performs some sorting and special treatment of the
      
      - ``CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES``.
      
      By default all ``CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`` are stripped from
      the result list.
      
      When explicitly requested (by setting ``stripImplicitInclDirs=false``) *some*
      implicit directories are appended to the result list.  The implicit directories
      that *are* appended are those that were requested to be included by
      
      1. ``target->GetIncludeDirectories(LANG)`` or
      2. ``CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES``.
      
      All other implicit directories are still stripped from the result list.
      
      The reason to not simply append all implicit directories is that Qt4's moc has
      problems to parse some headers that might be found in the implicit system
      include directories (See commit d2536579
      and
      [QTBUG-28045](https://bugreports.qt.io/browse/QTBUG-28045)
      ).
      That has been solved in Qt5's moc though.
      
      Extension request to ``cmLocalGenerator::GetIncludeDirectories``
      ----------------------------------------------------------------
      
      For Qt5's moc we like to have an option that allows to append *all* implict
      include directories to the result list, not just those that were user requested.
      
      Changes to ``cmLocalGenerator::GetIncludeDirectories``
      ------------------------------------------------------
      
      - Shorten the function parameter name ``stripImplicitInclDirs`` to
        ``stripImplicitDirs``.
      
      - Add new boolean function parameter ``appendAllImplicitDirs``
        with a default value ``false``.
      
      The old default behavior of the function stays the same, but a specialized
      behavior can be requested by AUTOMOC for Qt4/Qt5 respectively.
      b0b820ea
    • Sebastian Holtermann's avatar
      cmLocalGenerator: Style changes: Private local variable renames · 1f36652e
      Sebastian Holtermann authored
      Code style change in ``cmLocalGenerator::GetIncludeDirectories``.
      
      Rename a variable to reflect its purpose a little bit better.
      1f36652e
    • Sebastian Holtermann's avatar
      cmLocalGenerator: Style change: Wrap temporary strings and code in braces · db866d05
      Sebastian Holtermann authored
      Code style change in ``cmLocalGenerator::GetIncludeDirectories``.
      
      Embrace ``{}`` temporary strings and code that uses them to minimize their
      lifetime.
      db866d05
    • Sebastian Holtermann's avatar
      cmLocalGenerator: Style change: Wrap temporary strings and code in braces · 3713dc9b
      Sebastian Holtermann authored
      Code style change in ``cmLocalGenerator::GetIncludeDirectories``.
      
      Embrace ``{}`` temporary strings and code that uses them to minimize their
      lifetime.
      3713dc9b
    • Sebastian Holtermann's avatar
      cmLocalGenerator: Style change: Use return value of std::set::insert · d1077c1c
      Sebastian Holtermann authored
      Code style change in ``cmLocalGenerator::GetIncludeDirectories()``.
      
      Use the return value of ``std::set::insert`` instead of testing
      if the entry already exists in the set using ``std::find``.
      d1077c1c
  22. 06 Jun, 2018 1 commit
    • Marc Chevrier's avatar
      LINK_OPTIONS: Add new family of properties · c1f5a44b
      Marc Chevrier authored
      This family enable to manage link flags
      
      Three new properties:
      * directory property: LINK_OPTIONS
      * target properties: LINK_OPTIONS and INTERFACE_LINK_OPTIONS
      
      Two new commands
      * add_link_options(): to populate directory property
      * target_link_options(): to populate target properties
      
      Fixes: #16543
      c1f5a44b
  23. 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
  24. 23 Apr, 2018 1 commit
  25. 27 Mar, 2018 1 commit
  26. 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
  27. 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
  28. 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
  29. 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
  30. 26 Jan, 2018 1 commit
  31. 24 Jan, 2018 1 commit
  32. 23 Jan, 2018 1 commit