Commit Graph

30466 Commits

Author SHA1 Message Date
Brad King
8ebd5521f7 Merge topic 'fix-CMP0118-NEW'
17eb610a31 Help: Document CMP0118 requirement for boolean values
06feb845aa CMP0118: Fix NEW behavior when looking up target sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5921
2021-03-19 11:17:20 -04:00
Kitware Robot
87cd4f3ba0 CMake Nightly Date Stamp 2021-03-19 00:01:17 -04:00
Brad King
06feb845aa CMP0118: Fix NEW behavior when looking up target sources
Under the CMP0118 NEW behavior, sources generated in one directory
should be visible when added to targets in other directories.  This was
accidentally left out of commit 6624b65b3f (GENERATED prop: Add
implementation for policy CMP0118 being set to NEW, 2020-11-09,
v3.20.0-rc1~393^2~1).

Fixes: #18399
2021-03-18 09:57:49 -04:00
Brad King
7483843816 Merge topic 'lang_win32_console'
56c759b000 Per-language Win32/Console flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5906
2021-03-18 09:42:44 -04:00
Brad King
f3d9cedc8b Merge topic 'fileapi-codemodel-directory'
049bf98f63 fileapi: Add installers to codemodel-v2 "directory" object
eae2256a52 fileapi: Add backtraceGraph to codemodel-v2 "directory" object
a12d7f70b1 fileapi: Add a "directory" object to codemodel-v2
fd30bd93e6 fileapi: Re-organize backtrace infrastructure
415ead8153 cmFileAPICodemodel: Build map from each target to its index
f73b6879e9 cmInstallTargetGenerator: Report namelink mode with list of files
ea430582f9 cmInstallTargetGenerator: Drop unused GetNamelinkMode method

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5917
2021-03-18 09:41:59 -04:00
Kitware Robot
dd952f28e9 CMake Nightly Date Stamp 2021-03-18 00:01:15 -04:00
Raul Tambre
56c759b000 Per-language Win32/Console flags
Allows using different compilers with different flags for different languages.
For example Clang with GNU-like commandline for CXX and MSVC as host compiler
for CUDA.

Should help with #21914.
2021-03-17 17:51:56 +02:00
Brad King
fab7fe7ef5 CMake 3.20.0-rc5 2021-03-17 10:16:33 -04:00
Brad King
03a61ae509 Merge topic 'ninja-regenerate-no-recompact'
6fd9c68ed0 Ninja: Do not recompact deps log in regeneration during a build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5916
2021-03-17 09:39:38 -04:00
Brad King
74a65b0033 Merge topic 'ninja-regenerate-no-recompact' into release-3.20
6fd9c68ed0 Ninja: Do not recompact deps log in regeneration during a build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5916
2021-03-17 09:39:37 -04:00
Brad King
432de16343 Merge topic 'dev/safreed/invalidconfigurepreset'
bc663dc333 Merge branch 'master' into invalid-configure-preset
b9eb3541cf Tests: update tests to catch invalid configurePreset at read-time
83eeeff7dc Fail at read-time if configurePreset field invalid

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5912
2021-03-17 09:14:55 -04:00
Kitware Robot
ac4f83d98f CMake Nightly Date Stamp 2021-03-17 00:01:19 -04:00
Brad King
049bf98f63 fileapi: Add installers to codemodel-v2 "directory" object
Co-Authored-by: Kyle Edwards <kyle.edwards@kitware.com>
2021-03-16 16:47:57 -04:00
Brad King
eae2256a52 fileapi: Add backtraceGraph to codemodel-v2 "directory" object
Co-Authored-by: Kyle Edwards <kyle.edwards@kitware.com>
2021-03-16 16:47:55 -04:00
Brad King
a12d7f70b1 fileapi: Add a "directory" object to codemodel-v2
This object will contain more detailed directory-level information.

Co-Authored-by: Kyle Edwards <kyle.edwards@kitware.com>
2021-03-16 16:47:43 -04:00
Brad King
fd30bd93e6 fileapi: Re-organize backtrace infrastructure
Make it available to more parts of the codemodel object.
2021-03-16 11:24:41 -04:00
Brad King
415ead8153 cmFileAPICodemodel: Build map from each target to its index 2021-03-16 11:24:28 -04:00
Brad King
f73b6879e9 cmInstallTargetGenerator: Report namelink mode with list of files 2021-03-16 11:06:46 -04:00
Brad King
ea430582f9 cmInstallTargetGenerator: Drop unused GetNamelinkMode method 2021-03-16 11:06:46 -04:00
Brad King
3cea13c2f3 Merge topic 'cmake-presets-host-system-name'
0d497e159b CMakePresets.json: Add ${hostSystemName} macro
79d03ab505 Help: Fix version numbers in CMakePresets.json documentation
69527a1979 Refactor: Pass CMakePresets.json version to ExpandMacros() functions
ad19da011d Refactor: Add cmSystemTools::GetSystemName()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5902
2021-03-16 10:51:32 -04:00
Brad King
e17303b16b Merge topic 'cstr-cleanup'
12624ebd7e Source: Reduce c_str() usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5900
2021-03-16 10:48:08 -04:00
Kyle Edwards
bc663dc333 Merge branch 'master' into invalid-configure-preset 2021-03-16 10:16:02 -04:00
Brad King
6fd9c68ed0 Ninja: Do not recompact deps log in regeneration during a build
Since commit fb18215904 (Ninja: clean ninja metadata once generated,
2019-05-13, v3.17.0-rc1~207^2) we recompact the ninja deps log during
regeneration.  That does not make sense during a build, so skip it if we
are regenerating during a build.

This problem went unnoticed previously because on non-Windows platforms
the deps log is just overwritten again by the outer build.  On Windows
platforms, recompaction during the build fails, but we did not actually
try to do that until commit 11f4259362 (Ninja: Clean metadata after
regen during build on Windows with 1.10.2+, 2020-11-30, v3.19.2~29^2~1).

Fixes: #21916
2021-03-16 09:37:35 -04:00
Kitware Robot
0cf1b5c5ad CMake Nightly Date Stamp 2021-03-16 00:01:17 -04:00
Sam Freed
83eeeff7dc Fail at read-time if configurePreset field invalid 2021-03-15 14:44:43 -07:00
Kyle Edwards
0d497e159b CMakePresets.json: Add ${hostSystemName} macro 2021-03-15 14:41:42 -04:00
Kyle Edwards
69527a1979 Refactor: Pass CMakePresets.json version to ExpandMacros() functions 2021-03-15 14:41:42 -04:00
Kyle Edwards
ad19da011d Refactor: Add cmSystemTools::GetSystemName()
And use it for CMAKE_HOST_SYSTEM_NAME and CMAKE_SYSTEM_NAME.
2021-03-15 14:41:42 -04:00
Brad King
22612dd53a CMake 3.19.7 2021-03-15 09:39:14 -04:00
Brad King
1e2513b612 Merge topic 'vs-toolset-version' into release-3.20
30c835428f VS: Accept and translate '-T version=' values with three components
58a50a3a0a VS: Fix '-T version=14.28' under VS 16.9
09f59da7f0 cmGlobalVisualStudioVersionedGenerator: Clarify local variable name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5903
2021-03-15 08:50:13 -04:00
Brad King
3d661c6c3a Merge topic 'vs-toolset-version'
30c835428f VS: Accept and translate '-T version=' values with three components
58a50a3a0a VS: Fix '-T version=14.28' under VS 16.9
09f59da7f0 cmGlobalVisualStudioVersionedGenerator: Clarify local variable name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5903
2021-03-15 08:50:13 -04:00
Kitware Robot
948b379e26 CMake Nightly Date Stamp 2021-03-15 00:01:19 -04:00
Kitware Robot
d4053aabce CMake Nightly Date Stamp 2021-03-14 00:01:09 -05:00
vvs31415
12624ebd7e Source: Reduce c_str() usage 2021-03-13 07:36:07 -05:00
Kitware Robot
982f7bb506 CMake Nightly Date Stamp 2021-03-13 00:01:18 -05:00
Brad King
30c835428f VS: Accept and translate '-T version=' values with three components
The VS 16.8 and VS 16.9 toolset versions differ only in their third
component.  The `vcvarsall` option `-vcvars_ver=` accepts a three
component version, so accept this format for VS toolset selection too.

Issue: #21922
2021-03-12 08:36:45 -05:00
Brad King
58a50a3a0a VS: Fix '-T version=14.28' under VS 16.9
CMake accepts the toolset version that is default in the current VS
version by matching the name later VS versions will use for the SxS
props files.  It predicts the future name based on the first two
components of the current VS version's default toolset.  However, this
heuristic breaks naming the VS 16.8 toolset version 14.28 under VS 16.9
because the latter's default toolset version is 14.28.29910, which did
not increment the second version component (unprecedented in VS).

Fix this by always using the requested version's SxS props file when it
exists, even if it matches the first two components of the current VS
version's default toolset.  Also add a special case for the name VS
16.10 will use for VS 16.9's default toolset, so that it can be used
with VS 16.9 too.

Fixes: #21922
2021-03-12 08:36:40 -05:00
Brad King
09f59da7f0 cmGlobalVisualStudioVersionedGenerator: Clarify local variable name 2021-03-12 06:33:51 -05:00
Kitware Robot
887e0c6c7b CMake Nightly Date Stamp 2021-03-12 00:01:17 -05:00
Brad King
c69d4b177f CMake 3.20.0-rc4 2021-03-11 09:23:18 -05:00
Brad King
9a80ce6d24 Merge topic 'add_prefix_cmake_option'
400536c317 cmCommandLineArgument: trim leading empty spaces
b227a9565e cmake: configure preset add support for --install-prefix mapping
38140713ad cmake: add support for --install-prefix command argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5843
2021-03-11 08:16:03 -05:00
Brad King
00eb4df37e Merge topic 'file-COPY_FILE-subcommand'
088444211e file: add `COPY_FILE` subcommand
100016e9cb cmSystemTools: add utilities to copy a file with error handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5885
2021-03-11 08:13:29 -05:00
Brad King
4606082742 Merge topic 'xcode-framework-quoting' into release-3.20
4f9a71974e Xcode: Restore support for spaces in framework names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5899
2021-03-11 08:10:42 -05:00
Brad King
e6695c7ad5 Merge topic 'xcode-framework-quoting'
00ecddd9eb Tests: Enable Framework test case with spaces everywhere possible
b6cc9be009 Merge branch 'backport-xcode-framework-quoting' into xcode-framework-quoting
4f9a71974e Xcode: Restore support for spaces in framework names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5899
2021-03-11 08:10:42 -05:00
Kitware Robot
8dacf533a9 CMake Nightly Date Stamp 2021-03-11 00:01:17 -05:00
Brad King
f23aa1c120 Merge topic 'ninja-utf8'
9af6e2e7b2 Ninja: Use new wincodepage tool to determine encoding

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5860
2021-03-10 11:24:39 -05:00
Ben Boeckel
088444211e file: add COPY_FILE subcommand
The `file(COPY)` subcommand is overloaded and busy for such a simple
operation. Instead, make a simpler subcommand with error handling
support.
2021-03-10 10:43:18 -05:00
Brad King
b6cc9be009 Merge branch 'backport-xcode-framework-quoting' into xcode-framework-quoting 2021-03-10 10:03:36 -05:00
Brad King
4f9a71974e Xcode: Restore support for spaces in framework names
In commit ce2dee9e5b (Xcode: Don't add framework as -framework argument
in linker info list, 2020-09-28, v3.19.0-rc1~47^2) we split up the path
to a framework into the directory and framework name parts, but only
retained the quoting on the directory part.  Restore quoting of the
framework name.

Fixes: #21910
2021-03-10 10:01:11 -05:00
Kitware Robot
bef1cc77ef CMake Nightly Date Stamp 2021-03-10 00:01:13 -05:00