1. 07 Aug, 2017 1 commit
  2. 05 Aug, 2017 2 commits
  3. 03 Aug, 2017 1 commit
  4. 02 Aug, 2017 1 commit
  5. 01 Aug, 2017 1 commit
    • Sebastian Holtermann's avatar
      Autogen: Add AUTOMOC test for target dependencies forwarding · a3a62fcc
      Sebastian Holtermann authored
      Adds an AUTOMOC test that tests if dependencies from add_dependencies()
      of an ORIGIN target are forwarded to the ORIGIN_autogen target.
      
      Also fixes the AUTOMOC test that tests if dependencies from
      target_link_libraries() of an ORIGIN target are forwarded to the
      ORIGIN_autogen target. The test now fails in the ORIGIN_autogen build
      if SimpleLib wasn't built before.
      a3a62fcc
  6. 28 Jul, 2017 1 commit
  7. 21 Jul, 2017 2 commits
    • Sebastian Holtermann's avatar
      Autogen: Move repeated tests to new QtAutogenRerun test · 0e434fcf
      Sebastian Holtermann authored
      By moving QtAutogen tests that run repeatedly to a new QtAutogenRerun
      test, the `ctest -R Qt[45]Autogen -j4` call runs approximately 25%
      faster.
      0e434fcf
    • Ben Boeckel's avatar
      cmStringCommand: clear intermediate matches · b7941641
      Ben Boeckel authored
      When `string(REGEX REPLACE)` or `string(REGEX MATCHALL)` loop
      internally, they store their matches, but they do not clear the previous
      match from an earlier iteration. This can leave the contents of
      `CMAKE_MATCH_<N>` with bogus values for later matches in the string if
      they have groups which earlier matched a non-empty string, but now match
      an empty string.
      
      Fixes #17079.
      b7941641
  8. 20 Jul, 2017 1 commit
  9. 18 Jul, 2017 1 commit
    • Sebastian Holtermann's avatar
      Autogen: Process GENERATED files. Add CMP0071. · dca5df16
      Sebastian Holtermann authored
      This lets AUTOMOC and AUTOUIC process GENERATED files which
      used to be ignored before.
      A new policy CMP0071 ensures that the old behavior of ignoring
      GENERATED files is enabled when the CMake compatibility version
      CMAKE_MINIMUM_REQUIRED is < 3.10.
      
      Closes #16186
      dca5df16
  10. 17 Jul, 2017 2 commits
    • Craig Scott's avatar
      ExternalProject: Improve documentation · 8842a027
      Craig Scott authored
      - Added clearer structure by grouping the options into logical sections.
      - Expanded the details for many of the options.
      - Added Examples section to show how to use the various commands.
      - Specifically highlighted that the contents of SOURCE_DIR may be lost
        if a download method is also provided.
      - Updated argument-matching regex to be more robust and account for the
        varying leading spaces before keywords in the docs.
      - Updated tests to account for slightly changed error messages.
      8842a027
    • Brad King's avatar
      MSVC: Add flags for C++ language standards · 131c721f
      Brad King authored
      Visual Studio 2015 Update 3 introduced the notion of language standard
      levels to MSVC.  The language standard level is defined in `_MSVC_LANG`
      instead of `__cplusplus`.  It also added support for the `-std:c++14`
      and `-std:c++latest` flags, although the compiler defaults to its C++14
      mode anyway.  Visual Studio 2017 Update 3 will introduce support for the
      `-std:c++17` flag.
      
      Fixes: #16482
      131c721f
  11. 14 Jul, 2017 2 commits
    • Brad King's avatar
      Diagnose object library self-reference · d89e10cd
      Brad King authored
      The code
      
          add_library(A OBJECT a.c)
          target_sources(A PRIVATE $<TARGET_OBJECTS:A>)
      
      used to crash CMake via infinite recursion while evaluating the
      generator expression.  Then the change in commit v3.9.0-rc1~266^2~1
      (cmGeneratorTarget: Replace source classifier implementation,
      2017-04-07) avoided the infinite recursion because GetKindedSources now
      creates a map entry and initializes it once.  If it is called again on
      the same target during that initialization, the partially computed
      results are returned.  This is still wrong but does not crash.
      Detect and diagnose this case instead.
      
      Co-Author: Ben Boeckel <ben.boeckel@kitware.com>
      Fixes: #16578
      d89e10cd
    • André Klitzing's avatar
  12. 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
  13. 12 Jul, 2017 4 commits
  14. 11 Jul, 2017 2 commits
  15. 10 Jul, 2017 2 commits
  16. 09 Jul, 2017 1 commit
  17. 07 Jul, 2017 2 commits
    • Brad King's avatar
      find_package: Restore longer message when config files were considered · e7730d78
      Brad King authored
      Since commit v3.9.0-rc1~58^2 (find_package: shorten output for missing
      package in config mode, 2017-05-09) we print only the one line
      
          - Could NOT find Foo (missing: Foo_DIR)
      
      when package Foo cannot be found in CONFIG mode and it is not REQUIRED.
      However, in the case that package configuration files were found but not
      used, this one line message leaves out important information.  This can
      happen when a package configuration file sets `Foo_FOUND` to `FALSE` or
      when its package version file does not match the requested version.
      Restore the longer message in these cases.  Otherwise a seemingly valid
      explicit `Foo_DIR` setting appears to be silently ignored even if it was
      considered.
      
      Fixes: #17029
      e7730d78
    • Brad King's avatar
      Autogen: Skip generated files for compatibility with CMake 3.8 · 9a34e95a
      Brad King authored
      The change in commit v3.9.0-rc1~464^2~8 (Autogen: Add AUTOMOC/UIC
      support for generated source files, 2017-03-02) changes behavior of
      existing projects that may not expect `AUTOGEN` on generated files and
      do not yet set `SKIP_AUTOGEN` on them.  Disable the behavior change for
      now to fix the regression for CMake 3.9.  We can restore it later with a
      policy.
      
      In order to keep the implementation and tests working, add an
      undocumented property we can use in the tests to enable the behavior
      before the policy is introduced.
      
      Fixes: #17031
      Issue: #16186
      9a34e95a
  18. 06 Jul, 2017 1 commit
  19. 04 Jul, 2017 1 commit
  20. 28 Jun, 2017 1 commit
  21. 27 Jun, 2017 1 commit
    • Brad King's avatar
      VS: Fix support for nvcc flags not in our flag table · bbc1f364
      Brad King authored
      The change in commit v3.9.0-rc4~3^2 (VS: Improve workaround for CUDA
      -Xcompiler placement bug, 2017-06-21) accidentally appended to the
      `AdditionalOptions` as if it were a `;`-separated list, but it is
      actually a command-line string.  Append with a space instead.
      
      While at it, fix the same problem for the `AdditionalOptions` added to
      `CudaLink` by commit v3.9.0-rc3~1^2 (CUDA: When linking device code
      suppress CUDA 8.0+ deprecation warnings, 2017-06-09).
      
      Fixes: #17008
      bbc1f364
  22. 26 Jun, 2017 2 commits
  23. 22 Jun, 2017 3 commits
  24. 21 Jun, 2017 4 commits
    • Brad King's avatar
      VS: Improve workaround for CUDA -Xcompiler placement bug · 3b754215
      Brad King authored
      In commit v3.9.0-rc1~431^2~6 (VS: Place CUDA host compiler options in
      proper project file fields, 2017-03-07) we worked around a bug in the
      CUDA VS integration by dropping `AdditionalCompilerOptions`.  However,
      this silently drops `-Xcompiler=` options given by the user that don't
      map to one of CudaCompile's dedicated settings.  Improve the workaround
      to instead put the remaining `AdditionalCompilerOptions` into the
      `AdditionalOptions` field behind `-Xcompiler=` ourselves.
      3b754215
    • Brad King's avatar
      VS: Fix target_compile_options for CUDA · f2059585
      Brad King authored
      Fix the VS generator to honor `COMPILE_OPTIONS` for CUDA.  The exclusion
      added by commit v3.9.0-rc1~431^2~7 (VS: Do not pass CUDA compile options
      to C compiler, 2017-03-07) was correct but we need additional logic to
      pass the CUDA compile options to the CUDA compiler.  Also we should
      still pass the CXX or C options to MSVC (ClCompile) when those languages
      are enabled even if the link language is CUDA.
      f2059585
    • Brad King's avatar
      Tests: Simplify CUDA rpath on macOS · fff782f6
      Brad King authored
      Use the `BUILD_RPATH` property and reference the CMake-computed location
      of the runtime libraries.
      fff782f6
    • Michael Stürmer's avatar