1. 07 Jul, 2017 1 commit
    • 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
  2. 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
  3. 26 Jun, 2017 2 commits
  4. 22 Jun, 2017 1 commit
    • Brad King's avatar
      VS: Fix support for rc /nologo flag in per-source COMPILE_FLAGS · 974f4333
      Brad King authored
      Since commit v3.9.0-rc1~160^2 (VS: Use tool-specific flag table for
      COMPILE_FLAGS parsing, 2017-05-03) we now correctly use the `rc` flag
      table to process the COMPILE_FLAGS flags of `.rc` source files instead
      of incorrectly using the `cl` flag table as before.  However, our `rc`
      flag table is not complete.  The `/nologo` flag was working before only
      by accident because the `cl` flag table entry for it happened to match.
      Add the proper entry to the `rc` flag table.
      
      Fixes: #16991
      974f4333
  5. 21 Jun, 2017 3 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
    • Michael Stürmer's avatar
      51865fc6
  6. 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
  7. 05 Jun, 2017 1 commit
  8. 02 Jun, 2017 1 commit
  9. 31 May, 2017 2 commits
  10. 30 May, 2017 3 commits
  11. 29 May, 2017 2 commits
  12. 26 May, 2017 3 commits
  13. 23 May, 2017 2 commits
    • Alex Turbov's avatar
      Improve Doxygen support · 59ffabfe
      Alex Turbov authored
      Except Graphviz's `dot` Doxygen may use few other utilities like
      `mscgen` (Message Sequence Chart) and `dia` (Diagram Editor).
      
      Now this module allows to manage Doxygen settings from `CMakeLists.txt`
      and forget about `Doxyfile`s. Also it provides a helper function
      to add a target to generate documentation: `doxygen_add_docs`.
      
      Implement code review notes:
      
      - Introduce `COMPONENTS` to find: `dot`, `mscgen` and `dia`;
      - Deprecate variables `DOXYGEN_SKIP_DOT`, `DOXYGEN_EXECUTABLE`,
        `DOXYGEN_DOT_EXECUTABLE`, `DOXYGEN_DOT_FOUND` in favour of
        `doxygen_add_docs ` usage instead;
      - Properly handle paths to found tools in Windows;
      - Prevent adding a custom target if Doxygen was not really found;
      - Introduce exported (executable) targets for found components.
      
      Co-Author: Craig Scott <craig.scott@crascit.com>
      59ffabfe
    • Christoph Grüninger's avatar
      find_package: shorten output for missing package in config mode · d0b9d1cc
      Christoph Grüninger authored
      If CONFIG or MODULE is given and the package is not REQUIRED,
      output a one-liner instead of the full warning.
      
      Update Tests/RunCMake/find_package expected output to match.
      d0b9d1cc
  14. 22 May, 2017 2 commits
    • Matthew Woehlke's avatar
      Improve find_dependency argument handling · ab358d6a
      Matthew Woehlke authored
      Remove highly specialized and totally positional argument handling in
      find_dependency macro, and instead just pass arguments through to
      find_package. This gives users access to the full suite of arguments
      that find_package knows, and is backward compatible with the old
      arguments.
      
      Also, rewrite the unit tests for this, since the old tests are
      exclusively focused on testing the old argument handling and are no
      longer applicable, and add some success tests (the old tests did not
      even set up the CMake state in a way that CMake had any hope of ever
      finding the test package).
      ab358d6a
    • Brad King's avatar
      FindProtobuf: Rename imported targets to match upstream names · a5ccddf0
      Brad King authored
      Rename our recently added imported targets to match those provided by
      the upstream's CMake-based build.  That way a project using
      `find_package(Protobuf)` can get the same target names no matter how
      protobuf is found.
      Suggested-by: Konstantin Podsvirov's avatarKonstantin Podsvirov <konstantin@podsvirov.pro>
      a5ccddf0
  15. 20 May, 2017 1 commit
    • Christian Pfeiffer's avatar
      ImplicitLinkInfo: Add support for PGI on Windows · c2c2d366
      Christian Pfeiffer authored
      Since PGI does not write linker directives into objects, the necessary
      libraries have to be parsed from commandline. PGI does however link the
      Visual C++ runtime libraries, so they have to be filtered out to ensure
      no collision with settings of other languages can occur.
      c2c2d366
  16. 18 May, 2017 3 commits
    • Craig Scott's avatar
      Tests: Make function name not match SONAME · 94cd4505
      Craig Scott authored
      We look for `SONAME` in the output of `readelf` to check whether the
      binary contains the field.  Do not provide a symbol that may
      accidentally match.
      
      Fixes: #16894
      94cd4505
    • Brad King's avatar
      Tests: Fix RunCMake.CMP0022 tll case for Debug configuration · 70c65572
      Brad King authored
      The `CMP0022-WARN-tll` case overrides legacy properties set by
      `target_link_libraries` so that we can verify that the policy
      warning is emitted.  When building in the Debug configuration,
      the `_DEBUG` variant of the legacy property is set/checked too.
      
      Fix the test case to override both variants.  Previously it only
      passed because `cmComputeTargetDepends::AddInterfaceDepends`
      always evaluated dependencies with the "" configuration.
      70c65572
    • André Apitzsch's avatar
      FindProtobuf: add tests · e4e1d194
      André Apitzsch authored
      e4e1d194
  17. 17 May, 2017 2 commits
  18. 16 May, 2017 2 commits
  19. 15 May, 2017 2 commits
  20. 14 May, 2017 2 commits
  21. 11 May, 2017 1 commit
  22. 10 May, 2017 1 commit
  23. 09 May, 2017 1 commit
    • Bernhard Burgermeister's avatar
      Ninja: Fix command concatenation on Windows · 5e0e03d9
      Bernhard Burgermeister authored
      Put commands that contain `||` into brackets to avoid early abort of
      execution by `cmd.exe` because `||` has higher precedence than `&&` in
      `cmd.exe`.
      
      Add test to check for command execution after `||` as part of a
      parameter and as command separator.
      
      Fixes: #16850
      5e0e03d9