Commit Graph

30487 Commits

Author SHA1 Message Date
Matt Jaeger
2fe39dc306 cmake: Fix loading CMake sources from long paths on Windows
Pass a Windows extended path to the lexer so it can open long paths.
2021-03-25 15:49:48 -04:00
Brad King
fde2347f98 Merge topic 'nsis-branding-trim-position'
f226a1678f Merge branch 'master' into nsis-branding-trim-position
a6a5256395 CPack: Validate and document NSIS branding text trim positions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5928
2021-03-25 10:23:25 -04:00
Kitware Robot
c0aa4244f5 CMake Nightly Date Stamp 2021-03-25 00:01:17 -04:00
Craig Scott
f226a1678f Merge branch 'master' into nsis-branding-trim-position 2021-03-24 16:35:49 +11:00
Craig Scott
a6a5256395 CPack: Validate and document NSIS branding text trim positions 2021-03-24 16:35:29 +11:00
Kitware Robot
88060f4717 CMake Nightly Date Stamp 2021-03-24 00:01:16 -04:00
Brad King
b7b0fb4303 CMake 3.20.0 2021-03-23 11:43:17 -04:00
Brad King
0310097377 Merge topic 'vs-custom-flag-table'
608ef8a6fc VS: Add a mostly-undocumented hook to load custom JSON flag tables
8dd8d63665 Tests: Add RunCMake hook to describe test variants

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5895
2021-03-23 11:20:18 -04:00
Brad King
928f4bda30 Merge topic 'cmake-presets-condition'
8bc5c8961e CMakePresets.json: Add the ability to conditionally disable presets
ce6ea7c927 Refactor: Move some common code into separate file
ebbd475e54 Refactor: Move cmCMakePresetsFile::ReadJSON into a separate file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5919
2021-03-23 10:33:59 -04:00
Brad King
a740e8b311 Merge topic 'cxx-module-extensions'
7c4c4f1406 Treat '.ixx' and '.cppm' files as C++ sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5926
2021-03-23 10:33:03 -04:00
Kitware Robot
6e7ff52af7 CMake Nightly Date Stamp 2021-03-23 00:01:09 -04:00
Kyle Edwards
8bc5c8961e CMakePresets.json: Add the ability to conditionally disable presets 2021-03-22 15:04:54 -04:00
Brad King
608ef8a6fc VS: Add a mostly-undocumented hook to load custom JSON flag tables
The names and formats of our VS flag tables are internal implementation
details.  However, some institutions need to maintain support for
non-public VS platforms and toolsets.  Provide a hook that their
projects can use to load custom flag table files.  This helps avoid
distributing a custom CMake package within such institutions.

Document the hook itself, but explicitly specify that the files the
hook loads are not considered a stable interface.
2021-03-22 13:28:27 -04:00
Andrew Gilewsky
7c4c4f1406 Treat '.ixx' and '.cppm' files as C++ sources
These extensions are used by convention for C++ modules and interface
units with MSVC.
2021-03-22 11:58:44 -04:00
Kitware Robot
6d4cbf7416 CMake Nightly Date Stamp 2021-03-22 00:01:18 -04:00
Kitware Robot
8f0cbaf2e0 CMake Nightly Date Stamp 2021-03-21 00:03:25 -04:00
Kitware Robot
9b4390e76b CMake Nightly Date Stamp 2021-03-20 00:01:15 -04:00
Kyle Edwards
ce6ea7c927 Refactor: Move some common code into separate file
This code is going to be needed by both cmCMakePresetsFile and
cmCMakePresetsFileReadJSON when the upcoming condition types are
created. Move it into a header file.
2021-03-19 11:30:07 -04:00
Kyle Edwards
ebbd475e54 Refactor: Move cmCMakePresetsFile::ReadJSON into a separate file
Some compilers complain about translation units that are too large.
In order to prepare for upcoming additions to cmCMakePresetsFile,
split ReadJSON into a separate file.
2021-03-19 11:30:02 -04:00
Brad King
888c1cb276 Merge topic 'update_cuda_custom_toolkit_location_folder_structure'
c73b847b03 VS: switch to new folder structure while keeping the old one working

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5911
2021-03-19 11:26:20 -04:00
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
Marcel Ritzschke
c73b847b03 VS: switch to new folder structure while keeping the old one working
Fixes: #21170
2021-03-18 15:44:13 +01: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