Commit Graph

5160 Commits

Author SHA1 Message Date
Brad King 7df7eea7cf Merge topic 'autogen-generators-refactor'
51fd7b71 Autogen: Tests: Add a change-not test to the mocRerun test
c8f92db7 Autogen: Tests: Disable an AUTOMOC_DEPENDS_FILTER test for Ninja
3c77515e Autogen: Tests: Refactor the QtAutogenRebuild rccDepends test
04a0daee Autogen: Tests: Move each rerun test script to a NAME.cmake file
e5c6610a Autogen: Tests: Extend CMAKE_AUTOMOC_DEPEND_FILTERS rebuild test
93265652 Autogen: Tests: Add <SUBDIR>/ui_view.h AUTOUIC includes to sameName test
4eb7d817 Autogen: Tests: Add <SUBDIR>/item.moc includes to sameName test
3f223743 Autogen: Read relative paths from rcc output
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1244
2017-09-22 10:15:54 -04:00
Brad King 33eec57232 Merge topic 'cpack-rpm-deb-version'
74b7457f CPack RPM and DEB: improved package version handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1296
2017-09-22 10:14:49 -04:00
Domen Vrankar 74b7457f12 CPack RPM and DEB: improved package version handling
Adds support for epoch version to CPackRPM and
CPackDeb packagers.
Also adds better version checking to CPackDeb
that complies with Debian rules.

Fixes: #17057
2017-09-21 19:54:17 +02:00
Justin Berger 28d2c6ef7e test: Added additional unit test to variable_watch
This tests adding a variable_watch inside the callback to an existing
callback
2017-09-21 11:09:24 -04:00
Brad King 5737bb3756 Merge topic 'cpack-different-checksum-file-per-generator'
b06870e5 CPack: use a distinct checksum file for each generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1291
2017-09-21 08:19:52 -04:00
Brad King 5c5b28dd9d Merge topic 'cpack-check-install-script'
09166339 CPack: Add missing check for CPACK_INSTALL_SCRIPT variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1090
2017-09-21 08:19:11 -04:00
Brad King cc5600f9fd Merge topic 'test_for_missing_sources'
55ed21e7 Tests: Add tests for missing sources in add_executable and add_library.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1269
2017-09-21 08:17:18 -04:00
Sebastian Holtermann 51fd7b714b Autogen: Tests: Add a change-not test to the mocRerun test 2017-09-21 09:58:24 +02:00
Sebastian Holtermann c8f92db72c Autogen: Tests: Disable an AUTOMOC_DEPENDS_FILTER test for Ninja
Ninja does not recognize changes in included files that are generated
by AUTOMOC on the first run. This is an open issue:

https://gitlab.kitware.com/cmake/cmake/issues/16776
2017-09-21 09:58:24 +02:00
Sebastian Holtermann 3c77515e13 Autogen: Tests: Refactor the QtAutogenRebuild rccDepends test
Refactors the QtAutogenRebuild rccDepends test script
to be more readable.
2017-09-21 09:58:24 +02:00
Sebastian Holtermann 04a0daeeed Autogen: Tests: Move each rerun test script to a NAME.cmake file 2017-09-21 09:58:24 +02:00
Sebastian Holtermann e5c6610aba Autogen: Tests: Extend CMAKE_AUTOMOC_DEPEND_FILTERS rebuild test
The CMAKE_AUTOMOC_DEPEND_FILTERS must also detect filtered file changes
from files that are registered to AUTOMOC by a `#include "moc_<NAME>.cpp"`
statement.
2017-09-21 09:58:24 +02:00
Sebastian Holtermann 932656527b Autogen: Tests: Add <SUBDIR>/ui_view.h AUTOUIC includes to sameName test 2017-09-21 09:58:24 +02:00
Sebastian Holtermann 4eb7d81791 Autogen: Tests: Add <SUBDIR>/item.moc includes to sameName test 2017-09-21 09:58:23 +02:00
Domen Vrankar b06870e5ff CPack: use a distinct checksum file for each generator
Different CPack generators could produce checksum files with the same
name which were overwritten by each other since only package name
without extensions was used for checksum file name generation.  This
patch adds package extension to checksum files to prevent collisions.

Fixes: #16840
2017-09-20 14:01:23 -04:00
Alex Turbov 091663395e CPack: Add missing check for CPACK_INSTALL_SCRIPT variable
Also add a test case that uses CPACK_INSTALL_SCRIPT.

Co-Author: Domen Vrankar <domen.vrankar@gmail.com>
Fixes: #15005
2017-09-20 13:33:22 -04:00
Deniz Bahadir 55ed21e72e Tests: Add tests for missing sources in add_executable and add_library. 2017-09-20 07:35:09 -04:00
Brad King 706b37b7f5 Enable clang-tidy modernize-loop-convert lint
Fix remaining diagnostics by this lint and remove it from our list of
disabled lints.
2017-09-19 09:32:25 -04:00
Brad King 71c752a63b Merge topic 'gtest-fix-windows-linking'
e2cca9f8 FindGTest: Avoid macro name collision
4636c64b FindGTest: Improve test to catch link error
35061791 FindGTest: Fix shared linking on Windows
9fd9e448 FindGTest: Avoid using find_dependency in a find module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1267
2017-09-19 08:24:25 -04:00
Brad King bc2009b724 Merge topic 'findmpi-overhaul'
bf1e606f FindMPI: Add support for FreeBSD and SLES
2f673da6 FindMPI: Support components for various languages
9a58e69c FindMPI: Modernization from ground up

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !893
2017-09-18 10:11:04 -04:00
Matthew Woehlke 4636c64bfe FindGTest: Improve test to catch link error
Add a reference to one of Google Test's command-line flags to the
FindGTest test. This will ensure that we are using the correct compile
definitions on Windows, as the test will otherwise fail to link. (IOW,
this tests the changes made by the previous commit.)
2017-09-18 10:01:15 -04:00
Brad King 7200ab491b Tests: Fix CMake syntax warning in VSGNUFortran test 2017-09-15 10:49:42 -04:00
Brad King 9da13bc3f7 Tests: Fix some references to 'cmake' executable
Use `${CMAKE_CMAKE_COMMAND}` rather than `cmake` or `${CMAKE_COMMAND}`
in order to ensure we always refer to the `cmake` command being tested.
2017-09-15 10:49:12 -04:00
Brad King f1f109e971 Tests: Drop tests that have not run for over 10 years 2017-09-15 08:58:02 -04:00
Christian Pfeiffer 2f673da69f FindMPI: Support components for various languages 2017-09-15 14:55:08 +02:00
Brad King c0c5f924fe Merge topic 'refactor-iwyu-code'
3bbe95f5 Clean up iwyu code to not be one big if statement.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1247
2017-09-15 08:54:32 -04:00
Brad King ead879df20 Merge topic 'fphsa-fix-version-exact'
5dc215e0 FPHSA: fix typo in comment
a8f70b32 FPHSA: replace left-over VERSION by _FOUND_VERSION.
549366cb FPHSA: Add (failing) unit test when checking EXACT on full version number

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1259
2017-09-15 08:42:16 -04:00
Brad King a7a6ae5edd Tests: Update RunCMake/README.rst to clarify meaning of -result.txt
The content of `-result.txt` files is a regex, but the documentation
didn't make this clear.

Suggested-by: Deniz Bahadir <dbahadir@benocs.com>
2017-09-14 14:15:26 -04:00
Yves Frederix 5dc215e03b FPHSA: fix typo in comment 2017-09-14 08:21:38 -04:00
Yves Frederix 549366cbfc FPHSA: Add (failing) unit test when checking EXACT on full version number
This test detects a regression introduced by commit aec27c152e (FPHSA:
use more localized _FOUND_VERSION instead of VERSION, 2017-09-05).
2017-09-14 08:21:22 -04:00
Bill Hoffman 3bbe95f58a Clean up iwyu code to not be one big if statement.
This commit changes the internal -E__run_iwyu to be -E__run_co_compile. This
is used for co-compile commands. These are tools that want to mirror the
compiler. For each compiler invocation the tool will be invoked first. This
started as a way to implement include what you use (iwyu), but has expanded
to include cpplint, cppcheck and others. Likely there will be more in the
future as well. This commit implements each one in its own function and
provides a way to add additional ones in the future with less work.
2017-09-13 17:44:49 -04:00
Brad King 31f73eb12d get_filename_component: Revise PROGRAM/PROGRAM_ARGS split semantics
The KWSys `SystemTools::SplitProgramFromArgs` implementation goes into
an infinite loop when the value is just " " (a space).  Since the
"program path with unquoted spaces plus command-line arguments"
operation it is trying to provide is poorly defined (string parsing
should not depend on filesystem content), just stop using it.

Instead consider the main two use cases the old approach tried to handle:

* The value is the name or absolute path of a program with no quoting
  or escaping, but also no command-line arguments.  In this case we
  can use the value as given with no parsing, and assume no arguments.

* The value is a command-line string containing the program name/path
  plus arguments.  In this case we now assume that the command line
  is properly quoted or escaped.

Fixes: #17262
2017-09-13 10:47:04 -04:00
Brad King 28adf3833c Merge topic 'vs_improve_custom_command'
9ed24280 VS: only add custom command line if it is not empty
34c4108b add HasOnlyEmptyCommandLines() method to cmCustomCommandGenerator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1050
2017-09-11 07:53:18 -04:00
Brad King bf19bb5609 Merge topic 'timestamp'
014ad298 Timestamp: support %A and %B

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1228
2017-09-11 07:49:40 -04:00
Bill Hoffman 5b829c89b8 CTest: Weight reported test times by PROCESSORS in summaries
This commit changes the times reported by labels and subprojects to be
weighted by the PROCESSORS property. It is reported with `sec*proc`
instead of just `sec`.
2017-09-08 10:03:01 -04:00
Bill Hoffman a6e32eb0c2 CTest: Split out labels and subproject labels in summary output
This commit splits out the reporting of labels and labels used for sub
projects. If a label is a sub project label it will not be included in
the label summary.  To implement this the commit creates
PrintLabelOrSubprojectSummary which is able to do the work of both
PrintLabelSummary and PrintSubprojectSummary avoiding code duplication.
2017-09-08 10:02:39 -04:00
Brad King d4f58a9cd8 Merge topic 'fphsa-version-cleanup'
91935d9e FPHSA: lower-case for cmake_parse_arguments + move config-mode related code
aec27c15 FPHSA: use more localized _FOUND_VERSION instead of VERSION.
0019bfeb FPHSA: Add (failing) unit test in case a cache variable VERSION is present
81844334 FPHSA: add (failing) unit test for found version being equal to 0.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rolf Eike Beer <eike@sf-mail.de>
Merge-request: !1224
2017-09-08 09:48:15 -04:00
Brad King 8bd26d7eac Merge topic 'findfreetype-importedtargets'
b1d1c56c Help: Add notes for topic 'FindFreetype-importedtargets'
457c2021 FindFreetype: Add imported target, docs, and test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1219
2017-09-08 09:46:00 -04:00
Bernhard M. Wiedemann 014ad2989c Timestamp: support %A and %B
These are defined both by [1] and [2] to give full names of a weekday
and month.

[1] http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html
[2] https://msdn.microsoft.com/de-de/library/fe06s4ak.aspx
2017-09-07 13:36:11 -04:00
Ben Morgan 457c202196 FindFreetype: Add imported target, docs, and test 2017-09-07 17:52:33 +01:00
Sebastian Holtermann 2be0acb71e Autogen: Tests: Add AUTOGEN_TARGET_DEPENDS test to mocDepends tests 2017-09-07 18:03:14 +02:00
Brad King 14ea80ab0c Merge topic 'findexpat-importedtargets'
3a4f82e9 Help: Add notes for topic 'FindEXPAT-importedtargets'
bfe51369 FindEXPAT: Add unit test of target and variables
78f166f8 FindEXPAT: Add imported target and documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1207
2017-09-07 11:22:26 -04:00
Brad King 70a2a5d1e0 Merge topic 'vs-csharp-ref-no-asm'
94e70e53 Merge branch 'backport-vs-csharp-ref-no-asm' into vs-csharp-ref-no-asm
7e57e6ae VS: Do not reference output assemblies if not possible for CSharp target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1203
2017-09-06 10:45:38 -04:00
Yves Frederix 0019bfebc9 FPHSA: Add (failing) unit test in case a cache variable VERSION is present 2017-09-05 21:20:00 +02:00
Yves Frederix 8184433428 FPHSA: add (failing) unit test for found version being equal to 0. 2017-09-05 21:18:34 +02:00
Brad King 94e70e5329 Merge branch 'backport-vs-csharp-ref-no-asm' into vs-csharp-ref-no-asm 2017-09-05 09:42:16 -04:00
Michael Stürmer 7e57e6ae12 VS: Do not reference output assemblies if not possible for CSharp target
Since commit v3.9.0-rc4~4^2 (Vs: allow CSharp targets to be linked to
CXX targets, 2017-06-20) CSharp targets get `ProjectReference` entries
to their dependencies.  This causes VS to also reference the
dependency's output assembly by default, which is incorrect for
non-managed targets.

Fix this by setting `ReferenceOutputAssembly` to `false` for targets
that can't provide output assemblies.  Unmanaged C++ targets (shared
libs & executables) can still be referenced and a warning will be shown
in the IDE but the build will not break anymore.

Fixes: #17172
2017-09-05 09:41:40 -04:00
Brad King 20e5f7a9c9 Merge topic 'ExternalProject-command'
15617484 ExternalProject: Prevent COMMAND from being treated as a true keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1178
2017-09-05 09:31:06 -04:00
Michael Stürmer 9ed2428078 VS: only add custom command line if it is not empty 2017-09-04 11:42:35 +02:00
Craig Scott 1561748496 ExternalProject: Prevent COMMAND from being treated as a true keyword
The known keywords for each function are obtained by scraping the
documentation for lines matching a particular regular expression. In
commit 8842a027 (ExternalProject: Improve documentation, 2017-07-09),
the docs were overhauled and the COMMAND docs subsequently matched the
regular expression when they shouldn't have. This made COMMAND appear as
a true keyword, which thwarted the special handling logic elsewhere for
the intended use of COMMAND arguments.

This commit contains a workaround for issue #17229 to force a dependency
of the patch step on the update step to ensure a predictable step order.

Fixes: #17198
2017-09-02 17:53:16 +10:00