Commit Graph

30337 Commits

Author SHA1 Message Date
Kyle Edwards
3b864b2583 Ninja Multi-Config: Include configs in long CC scripts
Fixes: #21973
2021-03-25 13:18:47 -04:00
Craig Scott
a6a5256395 CPack: Validate and document NSIS branding text trim positions 2021-03-24 16:35:29 +11:00
Brad King
b7b0fb4303 CMake 3.20.0 2021-03-23 11:43: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
fab7fe7ef5 CMake 3.20.0-rc5 2021-03-17 10:16:33 -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
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
Sam Freed
83eeeff7dc Fail at read-time if configurePreset field invalid 2021-03-15 14:44:43 -07: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
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
Brad King
c69d4b177f CMake 3.20.0-rc4 2021-03-11 09:23:18 -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
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
Brad King
9ec50ff157 cmake-gui: Restore search bar case insensitivity
Since these changes:

* commit f1de6f6682 (cmake-gui: Support building against Qt6,
                     2020-12-17, v3.20.0-rc1~205^2~7)
* commit 134d69121e (cmake-gui: Restore search bar for cache view and
                     environment dialog, 2021-02-22, v3.20.0-rc2~12^2)

the search bar is no longer case insensitive when using Qt 5.12.[0-1],
and possibly some later versions.  It works as of Qt 5.15 though, so
update our version check accordingly.

Fixes: #21884
2021-03-04 11:25:54 -05:00
Brad King
12a139f2b6 CMake 3.20.0-rc3 2021-03-03 11:43:22 -05:00
Brad King
498b7da2e4 CMake 3.20.0-rc2 2021-02-24 11:21:15 -05:00
Brad King
0ecd9de6dd CMake 3.19.6 2021-02-24 10:08:43 -05:00
Brad King
e95f7aa0ed Merge topic 'preset-flag-consistency' into release-3.20
6fa3647023 ctest: Add support for '--prefix=<prefix>' form of the argument
3357d37761 cmake: Add support for '--build --prefix=<prefix>' form of the argument
2f13fdef0a cmake: Document '--preset <preset>' form of the argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5849
2021-02-24 09:46:52 -05:00
Brad King
14c6a88db6 Merge topic 'LINK_LANGUAGE-genex-respects-LINKER_LANGUAGE-property' into release-3.20
b722eea925 Genex: LINK_LANGUAGE respects LINKER_LANGUAGE property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5841
2021-02-24 09:45:50 -05:00
Brad King
261ba00668 Merge topic 'autogen-cmp0116-fix' into release-3.20
339dbc901f Help: Note that CMP0116 is recorded at the time of CC creation
e3740e020e Tests: Test Qt autogen target with CMP0116 set to WARN
cf34011ce7 Tests: Test per-CC behavior of CMP0116
3a95503512 Ninja: Use CMP0116 status recorded at time of custom command's creation
f01f10e8fb cmCustomCommand: Record value of CMP0116 at time of creation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5848
2021-02-24 09:44:59 -05:00
Brad King
06e16ea008 Merge branch 'backport-3.19-preset-no-comments' into preset-no-comments 2021-02-24 09:33:59 -05:00
Kyle Edwards
431dd59b5e CMakePresets.json: Remove undocumented support for comments
Fixes: #21858
2021-02-24 09:28:36 -05:00
Brad King
6fa3647023 ctest: Add support for '--prefix=<prefix>' form of the argument
The main `cmake --preset` argument for configure presets supports both
forms, so support it for `ctest --preset` too.

Fixes: #21855
2021-02-23 09:22:00 -05:00
Kyle Edwards
3a95503512 Ninja: Use CMP0116 status recorded at time of custom command's creation 2021-02-23 09:14:31 -05:00
Kyle Edwards
f01f10e8fb cmCustomCommand: Record value of CMP0116 at time of creation 2021-02-23 09:14:31 -05:00
Brad King
3357d37761 cmake: Add support for '--build --prefix=<prefix>' form of the argument
The main `cmake --preset` argument for configure presets supports both
forms, so support it for `cmake --build --preset` too.

Issue: #21855
2021-02-23 09:11:44 -05:00
Brad King
2f13fdef0a cmake: Document '--preset <preset>' form of the argument
This form already works.  Document it and add tests.

Issue: #21855
2021-02-23 09:11:32 -05:00
Marc Chevrier
b722eea925 Genex: LINK_LANGUAGE respects LINKER_LANGUAGE property
If target property LINKER_LANGUAGE is set, LINK_LANGUAGE generator
expression evaluation must be always successful.

This fix can be helpful to elaborate a solution for issue #21818.
2021-02-23 08:14:14 -05:00
Brad King
8362915b9d Merge topic 'cmake-gui-restore-search' into release-3.20
134d69121e cmake-gui: Restore search bar for cache view and environment dialog

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5845
2021-02-23 08:07:31 -05:00
Brad King
049c257e1d Merge topic 'per-config-autogen-info-file' into release-3.20
a3df25c694 Autogen: Don't change the order of HEADERS array in AutogenInfo.json

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5840
2021-02-23 08:00:12 -05:00
Sankhesh Jhaveri
134d69121e cmake-gui: Restore search bar for cache view and environment dialog
This was broken by commit f1de6f6682 (cmake-gui: Support building
against Qt6, 2020-12-17, v3.20.0-rc1~205^2~7).

Fixes: #21850
2021-02-22 17:56:59 -05:00
Brad King
33d93089ef Merge topic 'vs-pch-one-lang' into release-3.20
9945b3b565 VS: Restore support for PCH in CXX but not C within once target
d9fd32b3b3 cmVisualStudio10TargetGenerator: Refactor per-source PCH logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5836
2021-02-22 10:40:28 -05:00
Brad King
48797098fe Merge topic 'cpackifw-scanbuild-fix' into release-3.20
90c2f138ee CPackIFWInstaller: Avoid potential null pointer dereference

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5832
2021-02-22 10:39:30 -05:00
Craig Scott
a3df25c694 Autogen: Don't change the order of HEADERS array in AutogenInfo.json
Qt6 reads our internal AutogenInfo.json file. In 92d7b456e5
(Autogen: Add support for per-config sources, 2020-10-20), the
ordering of the HEADERS array elements was changed and this
broke their cmake_automoc_parser. We don't need to change the
order of the array elements, we can append to the existing ones
instead. Do this to allow their cmake_automoc_parser to continue
to work.

Fixes: #21823
2021-02-22 16:11:26 +11:00
Brad King
9945b3b565 VS: Restore support for PCH in CXX but not C within once target
Fix logic from commit 9df1f33c9a (VisualStudio: move PCH rules to
projects when possible., 2020-10-15, v3.20.0-rc1~638^2) to explicitly
disable PCH on sources that should not use the target-wide PCH rules.

Fixes: #21827
2021-02-19 11:25:29 -05:00
Brad King
d9fd32b3b3 cmVisualStudio10TargetGenerator: Refactor per-source PCH logic
De-duplicate the link language lookup.
2021-02-19 11:25:03 -05:00
Craig Scott
90c2f138ee CPackIFWInstaller: Avoid potential null pointer dereference
In d16830324f (CPackIFW: Improve warning and docs for show page list
option, 2021-02-14), code was added to report the current QtIFW version.
That code didn't check that there was a Generator object before using it,
resulting in a scanbuild warning about a potential null pointer dereference.
Add a check and output a more general warning message if we don't have
the current QtIFW version available to report.
2021-02-19 17:11:53 +11:00
Brad King
06e5077688 bindexplib: remove stray debugging output when using llvm-nm
Remove a debugging message left by commit c856d4556b (bindexplib:
supporting llvm bitcode formats using llvm-nm, 2019-08-13,
v3.16.0-rc1~161^2~1).
2021-02-18 09:37:21 -05:00
Brad King
50fc9d5b45 CMake 3.20.0-rc1 2021-02-16 12:11:10 -05:00
Brad King
d5401de605 CMake 3.19.5 2021-02-15 11:48:33 -05:00
Sam Freed
121d602923 presets: Inherit 'quiet' property for test presets
This was missed in the original implementation.
2021-02-15 10:52:32 -05:00
Sam Freed
7fd6bb6895 presets: Remove unintended rerunFailed option from test presets
This was accidentally included after discussion in #21391 had decided to
leave it out.  It was never included in a release.

Issue: #21391
2021-02-15 10:52:32 -05:00
Brad King
7f2203ab4a Merge topic 'release-3.20-cleanups' into release-3.20
7c147b21c7 Help: Add Ninja Multi-Config and make generator types into links
5039ca1126 Help: Convert output directory variable mentions to cross-references
1a7e51b9d5 Help: Cleanup wording and links in 3.20 release notes
d16830324f CPackIFW: Improve warning and docs for show page list option
7ed7db88a4 CPackIFW: Fix cppcheck warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5810
2021-02-15 10:32:20 -05:00
Craig Scott
d16830324f CPackIFW: Improve warning and docs for show page list option 2021-02-14 15:33:45 +11:00
Craig Scott
7ed7db88a4 CPackIFW: Fix cppcheck warnings
The cppcheck warnings about uninitialised variables are likely harmless,
since they are initialised in ParseResource() anyway. Fix the warnings
anyway to reduce linting noise. The warning about a single argument
non-explicit constructor is worth fixing in general.
2021-02-14 15:24:25 +11:00
Brad King
436ad8e4b6 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2021-02-10 (dda7a943)
2021-02-10 08:45:46 -05:00
Brad King
f388ce5321 Begin 3.20 release versioning 2021-02-10 08:27:12 -05:00