Commit Graph

8159 Commits

Author SHA1 Message Date
Asit Dhal dbcf86d24d Ctest: Support build tree on command line
Fixes: #21268
2020-12-17 05:01:03 +01:00
Craig Scott d2456b29f4 Merge topic 'unity-anon-ns'
0fe9c40494 Unity Build: Add option for generating per-file unique id

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4784
2020-12-16 07:40:41 -05:00
Brad King 34469a4f71 Merge topic 'custom-command-output-genex-nmc'
1526ae3aba Tests: Add cases for Ninja Multi-Config cross-config custom commands
dcf9f4d2f7 Ninja Multi-Config: Add support for cross-config custom commands
15467f12f7 cmLocalGenerator: Adopt custom target 'force' output name generation
7b64b0cd5a cmLocalGenerator: Refactor custom command generator construction
d29da8ed3e cmMakefile: Simplify custom target 'force' output name generation
2b1cc175ee Help: Clarify version adding add_custom_{command,target} OUTPUT genex support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5612
2020-12-16 06:20:39 -05:00
Brad King 1526ae3aba Tests: Add cases for Ninja Multi-Config cross-config custom commands 2020-12-15 08:17:55 -05:00
Brad King 807c903c55 Merge topic 'issue-20915'
6d0712c225 file(configure): Order of named options should be specified in any order

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5608
2020-12-15 07:43:36 -05:00
Brad King 38acdc5d3a Merge topic 'issue-21557-test-cases'
8851637e9f cmake_policy: Implement test cases for cmake_policy VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5610
2020-12-15 07:42:56 -05:00
Brad King 67f12dd1d6 Merge topic 'ispc_control_header_suffixes'
c9a50f3556 ISPC: Generated Headers suffix configurable with a better default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5597
2020-12-15 07:40:34 -05:00
Kyle Edwards dcf9f4d2f7 Ninja Multi-Config: Add support for cross-config custom commands
Co-Author: Brad King <brad.king@kitware.com>
2020-12-15 07:01:21 -05:00
Stephen Kelly 0fe9c40494 Unity Build: Add option for generating per-file unique id
Fixes: #21477
2020-12-15 22:26:09 +11:00
Marc Chevrier 55c3b6a77e CMakePackageConfigHelpers: Relax restrictions on version range 2020-12-15 09:24:09 +11:00
Robert Maynard c9a50f3556 ISPC: Generated Headers suffix configurable with a better default
The target property `ISPC_HEADER_SUFFIX` and associated global
variable now can control the suffix used when generating the
C/C++ interoperability ISPC headers.

In addition the default suffix is now "_ispc.h" which matches the
common convention that the ISPC compiler team uses and recommends.
2020-12-14 13:13:09 -05:00
Brad King fedfe763ee Merge topic 'custom-command-output-genex'
c257c25419 add_custom_{command,target}: Add genex support to OUTPUT and BYPRODUCTS
f36af9228b cmLocalGenerator: Evaluate generator expressions in custom command outputs
c887cefd9a cmLocalGenerator: Simplify custom command output cmSourceFile creation
947ba01bf9 cmLocalGenerator: Factor out helper to expand custom command output paths
1902d28ebc cmLocalGenerator: Refactor UpdateOutputToSourceMap to avoid boolean trap
e4034eabe9 cmLocalGenerator: Re-order logic in CreateGeneratedSource
706c48301d cmCustomCommandGenerator: Treat relative outputs w.r.t. build dir
5d23c5446e cmCustomCommandGenerator: Refactor OUTPUT and DEPENDS path evaluation
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5402
2020-12-14 07:22:45 -05:00
Brad King 04ed1e73dd Merge topic 'execute_process-command-error' into release-3.19
e5a4ffaad1 execute_process: Improve COMMAND_ERROR_IS_FATAL error capture scenarios

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5588
2020-12-14 07:07:46 -05:00
Brad King 922ad5c6b9 Merge topic 'execute_process-command-error'
e5a4ffaad1 execute_process: Improve COMMAND_ERROR_IS_FATAL error capture scenarios

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5588
2020-12-14 07:07:46 -05:00
Asit Dhal 8851637e9f cmake_policy: Implement test cases for cmake_policy VERSION 2020-12-14 04:55:03 +01:00
Asit Dhal 6d0712c225 file(configure): Order of named options should be specified in any order
Fixes: #20915
2020-12-13 09:45:11 +01:00
Brad King 794aa36b1f Merge topic 'apple-silicon-host-arch'
b7f0327dcd Tests: Cover macOS host architecture selection on Apple Silicon hosts
5f882f6ce5 macOS: Offer control over host architecture on Apple Silicon hosts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5589
2020-12-11 13:05:34 -05:00
Brad King c257c25419 add_custom_{command,target}: Add genex support to OUTPUT and BYPRODUCTS
Move rejection of `#`, `<`, and `>` characters in outputs and byproducts
to a generate-time check.  This removes the front-end check that
disallowed generator expressions.  The generators have already been
updated to handle them.

Fixes: #12877
2020-12-11 08:24:21 -05:00
Brad King b7f0327dcd Tests: Cover macOS host architecture selection on Apple Silicon hosts
Add test cases verifying that `CMAKE_APPLE_SILICON_PROCESSOR` set as
either a cache or environment variable causes that to be selected as the
host architecture.  Also verify that sources compile using whatever is
selected as the host architecture, even when the explicit setting is not
used.

Issue: #21554
2020-12-10 12:08:15 -05:00
Brad King 9109475bfb Merge topic 'cpp23'
9f3c70a333 CUDA, CXX, OBJCXX: C++23 support with Clang 12
af7e1545c8 CUDA, CXX: Remove HAS_FULL_SUPPORT for C++17 and 20

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5576
2020-12-10 07:00:17 -05:00
Brad King 419adf0eef Merge topic 'test-macos-version'
55193c8013 ci: Hard-code XCTest deployment target to 10.15
40877903ac Tests: Remove outdated exclusion of tests on OS X 10.3
c404d7f221 Tests: Add cache entry to control XCTest deployment target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5593
2020-12-10 06:57:54 -05:00
Brad King 020e1e2031 Merge topic 'test-macos-version' into release-3.19
55193c8013 ci: Hard-code XCTest deployment target to 10.15
40877903ac Tests: Remove outdated exclusion of tests on OS X 10.3
c404d7f221 Tests: Add cache entry to control XCTest deployment target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5593
2020-12-10 06:57:53 -05:00
Brad King 9f66eb74a5 Merge topic 'ispc-system-includes' into release-3.19
8da25e4a3c ISPC: Treat system includes as '-I' includes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5591
2020-12-10 06:57:04 -05:00
Brad King e966c23be2 Merge topic 'ispc-system-includes'
8da25e4a3c ISPC: Treat system includes as '-I' includes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5591
2020-12-10 06:57:04 -05:00
Asit Dhal e5a4ffaad1 execute_process: Improve COMMAND_ERROR_IS_FATAL error capture scenarios
1.  COMMAND_ERROR_IS_FATAL ANY will capture errors if the exit code is
    non zero, there is a timeout or an abnormal exit.

2.  COMMAND_ERROR_IS_FATAL LAST
    will capture if only the last process has an exit code non zero, there
    is a timeout or an abnormal exit.

Fixes: #21562
2020-12-10 06:09:59 -05:00
Brad King 40877903ac Tests: Remove outdated exclusion of tests on OS X 10.3 2020-12-09 13:10:44 -05:00
Brad King c404d7f221 Tests: Add cache entry to control XCTest deployment target 2020-12-09 13:10:17 -05:00
Robert Maynard 8da25e4a3c ISPC: Treat system includes as '-I' includes
ISPC doesn't have specific syntax for system includes.
2020-12-09 11:33:44 -05:00
Brad King acc9c89914 Merge topic 'cmp0116-automoc'
1080935732 AutoGen: Account for CMP0116 in the depfile
287c591079 cmake -E: Fix cmake_transform_depfile escaping of transformed paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !5584
2020-12-09 09:14:00 -05:00
Kyle Edwards 1080935732 AutoGen: Account for CMP0116 in the depfile
Fixes: #21467
2020-12-08 14:51:36 -05:00
Raul Tambre 9f3c70a333 CUDA, CXX, OBJCXX: C++23 support with Clang 12
Clang 12 landed initial support for C++23 language mode flag -std={c|gnu}++2b
in commit 6627a3c2873fdf7ccba1a1573371079be48b36e8.
2020-12-08 18:43:59 +02:00
Brad King d00d5ac0cd Merge topic 'correct_ispc_path_computation' into release-3.19
9af93fef11 ISPC: Handle OBJECT sources in different directories
72ae15ebcb ISPC: Ninja properly compute ISPC_HEADER_DIRECTORY location

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5581
2020-12-08 10:17:33 -05:00
Brad King 60d95fe2c2 Merge topic 'correct_ispc_path_computation'
9af93fef11 ISPC: Handle OBJECT sources in different directories
72ae15ebcb ISPC: Ninja properly compute ISPC_HEADER_DIRECTORY location

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5581
2020-12-08 10:17:33 -05:00
Robert Maynard 9af93fef11 ISPC: Handle OBJECT sources in different directories 2020-12-07 09:14:54 -05:00
Craig Scott ab1ee5aab8 get_directory_property: Check for empty or missing property name
Fixes: #21555
2020-12-06 09:38:12 +11:00
Brad King da7ad7997e WriteCompilerDetectionHeader: Add policy to remove module
See justification in the policy documentation.

Closes: #17842
2020-12-05 21:57:08 +11:00
Brad King 74e1b36579 Merge topic 'test-CMP0118'
43506037d2 Tests: Avoid unnecessary use of toolchain in RunCMake.CMP0118

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5571
2020-12-04 10:50:52 -05:00
Brad King bb4d70c165 Merge topic 'GoogleTest-disabled-underscore'
dff56b0b97 GoogleTest: Match the full 'DISABLED_' prefix to disable tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matthew Woehlke <matthew.woehlke@kitware.com>
Merge-request: !5567
2020-12-04 08:30:40 -05:00
Brad King a6ffbc2170 Merge topic 'test-git-default-branch'
26ec2e2b0c Tests: Update CTest.UpdateGIT test for custom defaultBranch

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5565
2020-12-04 08:28:43 -05:00
Brad King 76685b985d Merge topic 'explicit-LANGUAGE-flag'
48aac247e9 Compile with explicit language flag when source LANGUAGE property is set
2e67a75acd Embarcadero: Simplify addition of -P flag for C++

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5522
2020-12-04 08:27:55 -05:00
Brad King 1c06bd1d20 Merge topic 'test-vs-windows-hosts'
dca8800cb5 Tests: Look for Visual Studio only on Windows hosts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5569
2020-12-04 08:25:43 -05:00
Brad King 43506037d2 Tests: Avoid unnecessary use of toolchain in RunCMake.CMP0118
The semantics of the `GENERATED` property do not depend on the kind of
target to which the sources are attached.  Convert the tests to use
custom targets instead of executables so that we do not have to enable
the CXX language and initialize support of its toolchain for every case.
This significantly reduces the time the test takes to run.
2020-12-03 16:32:09 -05:00
Brad King dca8800cb5 Tests: Look for Visual Studio only on Windows hosts
Update logic added by commit 6051a49c78 (Visual Studio: Add Android
support, 2020-06-12, v3.19.0-rc1~619^2) to only look for VS
installations using `cmake_host_system_information` on Windows hosts.
Otherwise the `VS_*_DIR` keys are not available.

Fixes: #21547
2020-12-03 10:21:56 -05:00
Brad King dff56b0b97 GoogleTest: Match the full 'DISABLED_' prefix to disable tests
Test names that start in `DISABLED` not followed by an underscore are
not disabled.

Fixes: #21543
2020-12-03 09:33:34 -05:00
Brad King 0eead931a3 Merge topic 'versionadded'
5000f93a91 Help: Fix grammar in `.. versionadded` directives
8fea95319b Help: Add `.. versionadded` directives to module docs
8634561dca Help: Improve formatting for FindBoost and FindCUDA
ea59b0cd34 Help: Fix version note for CMAKE_PROJECT_<PROJECT-NAME>_INCLUDE
05c3060b10 Help: Fix cmake_parse_arguments version note
dafcef8b50 Help: Improve styling for versionadded/deprecated directives
6ae216daef Tests: Make RunCMake.CMP0106 expected output robust to line number changes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5560
2020-12-03 08:49:25 -05:00
Brad King 48aac247e9 Compile with explicit language flag when source LANGUAGE property is set
This change was originally made by commit 74b1c9fc8e (Explicitly specify
language flag when source LANGUAGE property is set, 2020-06-01,
v3.19.0-rc1~722^2), but it was reverted by commit 30aa715fac (Revert
"specify language flag when source LANGUAGE property is set",
2020-11-19) to restore compatibility with pre-3.19 behavior.

Implement the change again, but add policy CMP0119 to make this change
while preserving compatibility with existing projects.

Note that the `Compiler/{Clang,Intel,MSVC}-CXX` modules do not need to
specify `-TP` for their MSVC-like variants because we already use the
flag in `CMAKE_CXX_COMPILE_OBJECT`.  Similarly for `Compiler/XL-CXX`
and `Platform/Windows-Embarcadero`.

Note also that this does not seem possible to implement for XL C.
Even with `-qsourcetype=c`, `xlc` complains about an unknown suffix:
`1501-218 (W) file /.../AltExtC.zzz contains an incorrect file suffix`.
It returns non-zero even with `-qsuppress=1501-218`.

Co-Author: Robert Maynard <robert.maynard@kitware.com>
Fixes: #14516, #20716
2020-12-02 11:39:11 -05:00
Brad King 26ec2e2b0c Tests: Update CTest.UpdateGIT test for custom defaultBranch
Git installation now prompts the user to choose a system-wide
name for the default branch in new repositories.
2020-12-02 11:27:39 -05:00
Brad King 6ae216daef Tests: Make RunCMake.CMP0106 expected output robust to line number changes 2020-12-02 21:00:27 +05:00
Brad King 2b0152ce09 Merge topic 'issue-20955'
5a6c199069 ctest: Provide hints about inspecting test failures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5552
2020-12-02 09:27:38 -05:00
Brad King dee36398d2 Merge topic 'error_out_on_unknown_argument'
1b6c5333a0 cmake: Error out on unknown arguments starting with `-`.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5553
2020-12-02 09:25:26 -05:00