Commit Graph

4930 Commits

Author SHA1 Message Date
Alex Turbov 59ffabfeec Improve Doxygen support
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>
2017-05-24 10:15:45 +07:00
Brad King a5ccddf057 FindProtobuf: Rename imported targets to match upstream names
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 <konstantin@podsvirov.pro>
2017-05-22 10:51:55 -04:00
Brad King 8ca236592b Merge topic 'add-findpackage-root-prefix'
fe8f08d2 find_*: Add docs for PackageRoot search path group
57744ca9 find_*: Add tests for PackageRoot search path group
ef3d360a find_*: Add a new PackageRoot search path group

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !796
2017-05-22 10:40:04 -04:00
Brad King c9d9a3fb39 Merge topic 'pgi-fix-windows'
4eb15824 Windows-PGI: Add platform definitions
a94ae96e Windows-PGI: Adapt default compiler flags
c2c2d366 ImplicitLinkInfo: Add support for PGI on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !794
2017-05-22 10:37:57 -04:00
Christian Pfeiffer c2c2d36619 ImplicitLinkInfo: Add support for PGI on Windows
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.
2017-05-20 20:02:43 +02:00
Brad King 6867b882ec Merge topic 'target-depends-per-config'
87a37e64 cmComputeTargetDepends: Avoid nested loops over configurations
5a913794 cmComputeTargetDepends: Avoid computing with empty configuration
70c65572 Tests: Fix RunCMake.CMP0022 tll case for Debug configuration

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !865
2017-05-19 14:20:11 -04:00
Brad King 555f234fa2 Merge topic 'solarisEmptyFileFix'
1bfe3720 Tests: Ensure Solaris linker never sees empty contents

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !860
2017-05-19 14:19:28 -04:00
Brad King caba59b8fa Merge topic 'solaris_testLibSONAME'
94cd4505 Tests: Make function name not match SONAME

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !868
2017-05-19 14:18:31 -04:00
Brad King 561e5edc3c Merge topic 'FindProtobuf-targets'
37627217 Help: Add notes for topic 'FindProtobuf-targets'
e4e1d194 FindProtobuf: add tests
f29635b6 FindProtobuf: add targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !861
2017-05-19 14:17:50 -04:00
Craig Scott 94cd4505f7 Tests: Make function name not match SONAME
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
2017-05-18 10:26:09 -04:00
Brad King 70c6557285 Tests: Fix RunCMake.CMP0022 tll case for Debug configuration
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.
2017-05-18 10:18:50 -04:00
Brad King 44f8f839cb Merge topic 'cpack-archive-per-component-filename'
9e06e97d CPack/Archive: per component filenames support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !859
2017-05-18 09:01:57 -04:00
Brad King 10371cd6dc Merge topic 'source_group-TREE-relative-path'
4716f2be source_group: Restore TREE support for relative paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !852
2017-05-18 08:53:51 -04:00
Brad King 3738871626 Merge topic 'removeSetModulePath'
0fb0f346 Tests: Remove unnecessary setting of CMAKE_MODULE_PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !853
2017-05-18 08:47:04 -04:00
Brad King 6b1e35d207 Merge topic 'gtest_add_tests'
6edd1806 GoogleTest: Expand capabilities of gtest_add_tests()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !839
2017-05-18 08:46:02 -04:00
André Apitzsch e4e1d194bd FindProtobuf: add tests 2017-05-18 13:57:01 +02:00
Craig Scott 1bfe37201a Tests: Ensure Solaris linker never sees empty contents
Fixes the following tests on Solaris builds: wrapping, qtwrapping and
CMakeCommands.target_link_libraries
2017-05-18 10:32:03 +10:00
Mateusz Janek 4716f2be83 source_group: Restore TREE support for relative paths
The fix in commit v3.8.1~4^2 (source_group: Fix TREE with root that is
not current source dir, 2017-04-20) accidentally broke support for
specifying paths relative to the source directory.  Fix it and add a
test covering the case.

While at it, fix a typo in a variable name.

Fixes: #16876
2017-05-17 09:04:02 -04:00
Domen Vrankar 9e06e97d30 CPack/Archive: per component filenames support
Support for setting archive packager specific
per component filenames and monolithic package
filenames.
2017-05-17 00:47:15 +02:00
Chuck Atkins 57744ca9c0 find_*: Add tests for PackageRoot search path group 2017-05-16 15:19:45 -04:00
Craig Scott 0fb0f346c0 Tests: Remove unnecessary setting of CMAKE_MODULE_PATH 2017-05-16 08:05:32 +10:00
Craig Scott 6edd1806dd GoogleTest: Expand capabilities of gtest_add_tests()
Now has keyword-based arguments (old syntax form is still supported).
Discovered tests can have a prefix and/or suffix added to the test names
and the list of discovered tests is available to the caller. The working
dir can also be set and the dependency on the source files is now
optional instead of mandatory.
2017-05-16 07:57:27 +10:00
Domen Vrankar 2638406813 CPack test symlinks in package 2017-05-14 23:45:18 +02:00
Domen Vrankar 3eb0f08084 Improved CPack tests error logging 2017-05-14 23:45:18 +02:00
Brad King 5d13fe2822 Features: Record features for SunPro C 5.13 and 5.14 2017-05-11 15:59:48 -04:00
Brad King 4c638930b3 Merge topic 'print-function-server-tests'
a8f04a6f Tests/Server: import print_function from the future

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Matt Soucy <matthew.soucy@baesystems.com>
Merge-request: !822
2017-05-11 09:57:43 -04:00
Ben Boeckel a8f04a6f9c Tests/Server: import print_function from the future
This makes the output much more readable.

Suggested-by: Matt Soucy
2017-05-10 09:42:31 -04:00
Brad King 882ef5f33f Merge topic 'test-lang-fix'
9b541aae TestFindOpenMP,MPI: Disable default languages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !816
2017-05-10 09:26:10 -04:00
Brad King 8a19ce4767 Merge topic 'ninja-windows-command-concat'
5e0e03d9 Ninja: Fix command concatenation on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !801
2017-05-10 09:23:43 -04:00
Bernhard Burgermeister 5e0e03d953 Ninja: Fix command concatenation on Windows
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
2017-05-09 11:34:42 -04:00
Christian Pfeiffer 9b541aaeaa TestFindOpenMP,MPI: Disable default languages 2017-05-08 21:43:01 +02:00
Brad King 59f8445219 Tests: Fix RunCMake.Framework expectation for universal binaries
While at it, replace `\n` in with a real newline because such escape
sequences are not processed in this context.
2017-05-08 11:38:23 -04:00
Brad King 2f087606b7 Merge topic 'pgi-fix-linux'
d59e3509 Do not assume GCC libs are linked by all compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !800
2017-05-08 09:48:19 -04:00
Christian Pfeiffer d59e350985 Do not assume GCC libs are linked by all compilers
Not all compilers link libgcc and libgcc_s causing trouble when linking
C++ code with instance PGI Fortran and C compilers.
2017-05-05 17:26:29 +02:00
Brad King e1ae739e1f Merge topic 'ctest_submit_headers'
1a7d00bd ctest_submit: Add HTTPHEADER option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !793
2017-05-05 09:50:58 -04:00
Zack Galbreath 1a7d00bd12 ctest_submit: Add HTTPHEADER option
Allow CTest script writers to specify additional HTTP headers to be sent
to CDash during submission.

The motivating case for this feature is a corresponding change in CDash.
This will allow projects to refuse submissions from any site not bearing
a valid authentication token.
2017-05-04 12:21:21 -04:00
Brad King 1fe2dc5ef2 Merge topic 'ipo-xcode'
7e75568b Xcode: Support IPO (LTO)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !785
2017-05-03 11:04:17 -04:00
Ruslan Baratov 7e75568b00 Xcode: Support IPO (LTO) 2017-05-02 18:33:25 +03:00
Brad King 8fba1f4a03 Merge topic 'excludeFixtures'
c1b2b7c0 Add ctest options for limiting which tests fixtures add

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !778
2017-05-02 08:22:07 -04:00
Craig Scott c1b2b7c03c Add ctest options for limiting which tests fixtures add
The new options allow the user to restrict the setup and cleanup tests
automatically added for fixtures.
2017-05-02 01:54:13 +10:00
Brad King 12512bdb51 Merge topic 'separgs-native'
28d83837 separgs: Use NATIVE_COMMAND where appropriate
2a207aac separgs: Add a NATIVE_COMMAND mode
81841426 separgs: Migrate tests to RunCMake tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !753
2017-04-28 09:52:07 -04:00
Brad King 34a083a195 Merge topic 'bindexplib-consts'
afb21342 bindexplib: fix constants symbols export

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !763
2017-04-28 09:12:22 -04:00
Brad King 6cc5bf3dfa Merge topic 'test-install-objects-as-files'
f4c23ee2 Tests: Add case for install(FILES) with TARGET_OBJECTS
d272c4d5 Tests: Generalize RunCMake.install internal infrastructure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !769
2017-04-27 09:03:09 -04:00
Brad King 7402bd3871 Merge topic 'cuda-device-link-ar'
493671a5 CUDA: Static libraries can now explicitly resolve device symbols
8fb85c68 CUDA: Makefile uses relative path for device linking status messages
a36fb229 CUDA: Visual Studio now properly delays device linking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !759
2017-04-27 09:02:00 -04:00
Brad King f38147aebc Merge topic 'test-makefile-custom-target-includes'
434f5cef Tests: Add case for IMPLICIT_DEPENDS in custom target
6d1be6e3 Tests: Split RunCMake.BuildDepends make-only condition

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !766
2017-04-27 09:00:15 -04:00
Brad King ef205e04d4 Merge topic 'ctest_test-ignore-skipped-tests'
851b6c15 cmCTestTestHandler: indicate why a test did not run
25a7f14f Help: add release notes
ab8bbef9 cmCTestTestHandler: count skipped tests as disabled
202a44a4 cmCTestRunTest: do not count skipped tests as failed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !741
2017-04-27 08:55:40 -04:00
Brad King f4c23ee244 Tests: Add case for install(FILES) with TARGET_OBJECTS 2017-04-26 16:23:12 -04:00
Robert Maynard 493671a521 CUDA: Static libraries can now explicitly resolve device symbols
If a static library has the property CUDA_RESOLVE_DEVICE_SYMBOLS enabled
it will now perform the device link step. The normal behavior is
to delay calling device link until the static library is consumed by
a shared library or an executable.
2017-04-26 16:18:25 -04:00
Brad King d272c4d5f7 Tests: Generalize RunCMake.install internal infrastructure
Allow `run_install_test` to be used for simpler cases.
2017-04-26 16:16:04 -04:00
Mikhail Paulyshka afb21342ea bindexplib: fix constants symbols export 2017-04-26 22:23:33 +03:00