Commit Graph

1320 Commits

Author SHA1 Message Date
Brad King 6fba4ec0f5 Merge branch 'bindexplib-revert-consts' into release-3.9 2017-07-10 14:54:30 -04:00
Brad King 3250b9a122 bindexplib: Revert support for constants symbols
Revert the main logic change of commit v3.9.0-rc1~192^2 (bindexplib: fix
constants symbols export, 2017-04-26) and its test case.  Unfortunately
some constants may be provided by multiple object files with different
`@...` suffixes, leading to ambiguous references.  Revert support
pending further investigation.

Fixes: #17045
2017-07-10 14:54:07 -04:00
Brad King e7730d78b4 find_package: Restore longer message when config files were considered
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
2017-07-07 11:43:59 -04:00
Brad King e03a1b3b61 target_compile_features: Do not crash on non-enabled language
Fixes: #17011
2017-06-26 13:54:20 -04:00
Brad King 869904271b Tests: Enable languages explicitly in RunCMake.target_compile_features
Enable C or CXX (or nothing) as needed in each test case.
This will allow us to add test cases that do not enable CXX.
2017-06-26 13:54:20 -04:00
Brad King ba247ccaba IPO: Consider support for each language separately
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
2017-06-14 10:36:57 -04:00
Brad King 00639f2d5d Merge topic 'test-GNUInstallDirs-FreeBSD'
913736f1 Tests: Fix RunCMake.GNUInstallDirs on BSD platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !921
2017-06-05 09:42:36 -04:00
Brad King 913736f17d Tests: Fix RunCMake.GNUInstallDirs on BSD platforms
The `GNUInstallDirs` module has different defaults on BSD platforms.
Update the test expected output to account for the difference.

Fixes: #16887
2017-06-02 16:26:30 -04:00
Chuck Atkins e556f1b909 CompileFeatures: Makes tests work with meta-feature only 2017-05-29 13:51:45 -04:00
Brad King d6df882add Merge topic 'find_dependency-improvements'
ab358d6a Improve find_dependency argument handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !872
2017-05-25 15:13:47 -04:00
Brad King a9b11235a8 Merge topic 'find_package-shorter-message'
d0b9d1cc find_package: shorten output for missing package in config mode
d9df805f cmFindPackageCommand: Split condition to improve readability

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !851
2017-05-25 15:13:03 -04:00
Christoph Grüninger d0b9d1cceb find_package: shorten output for missing package in config mode
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.
2017-05-23 15:27:42 -04:00
Matthew Woehlke ab358d6a85 Improve find_dependency argument handling
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).
2017-05-22 13:32:43 -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 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 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
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
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 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
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 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 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
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
Christian Pfeiffer 2a207aaca1 separgs: Add a NATIVE_COMMAND mode 2017-04-26 20:34:06 +02:00
Christian Pfeiffer 81841426fc separgs: Migrate tests to RunCMake tests 2017-04-26 20:26:47 +02:00
Brad King 434f5cef65 Tests: Add case for IMPLICIT_DEPENDS in custom target
Use the `IMPLICIT_DEPENDS` option of `add_custom_command` and place the
command in a custom target.  Verify that `INCLUDE_DIRECTORIES` of that
custom target are honored.  This is a case that was not really designed
to work but happens to work, is useful, and makes sense.  Add a test
case make sure it continues to work.

Issue: #16830
2017-04-26 08:46:11 -04:00
Brad King 6d1be6e382 Tests: Split RunCMake.BuildDepends make-only condition 2017-04-26 08:34:16 -04:00
Brad King 7dca104e14 Merge topic 'deprecate-policy-old'
4f5bbbea Add deprecation warnings for policies CMP0036 and below

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !743
2017-04-25 09:39:06 -04:00
Ben Boeckel 851b6c1595 cmCTestTestHandler: indicate why a test did not run 2017-04-24 15:42:40 -04:00
Ben Boeckel ab8bbef9c6 cmCTestTestHandler: count skipped tests as disabled
The `Skipped` status is basically a runtime version of the `Disabled`
status (set as a property on the test by the configure step), so treat
them the same.
2017-04-24 15:42:40 -04:00
Brad King dc6632b9da Merge topic 'remove-xcode-2'
7373b389 Xcode: Drop support for Xcode versions below 3
eaf53849 Xcode: Compute version number earlier

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Gregor Jasny <gjasny@googlemail.com>
Merge-request: !737
2017-04-24 09:40:44 -04:00
Brad King 096c3bacea Merge topic 'vs8-deprecate'
81f9c9e8 Deprecate Visual Studio 8 2005 generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !739
2017-04-24 09:36:10 -04:00
Brad King 7373b389eb Xcode: Drop support for Xcode versions below 3 2017-04-22 15:19:11 -04:00
Brad King 4f5bbbeab9 Add deprecation warnings for policies CMP0036 and below
The OLD behaviors of all policies are deprecated, but only by
documentation.  Add an explicit deprecation diagnostic for some policies
to encourage projects to port away from setting policies to OLD.
2017-04-21 15:04:33 -04:00
Brad King 81f9c9e892 Deprecate Visual Studio 8 2005 generator
Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
2017-04-21 13:45:45 -04:00
Ben Boeckel 664591ce59 RunCMake.Ninja: add a test for assumed sources
This is a dark corner of the Ninja generator. It should be fixed in the
future, but add a test which shows its behaviors.
2017-04-21 08:57:40 -04:00