Commit Graph
32397 Commits
Author SHA1 Message Date
Brad King d45b4f59a4 Merge topic 'verify-interface-header-sets-list'
aadaac7f6d VERIFY_INTERFACE_HEADER_SETS: Add property for list of header sets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7298
2022-05-26 09:12:21 -04:00
Brad King 799a01996b Merge topic 'automoc-build-dir'
76608c60d3 AutoMoc: Take AUTOMOC_BUILD_DIR into account in depfile

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: alcroito <alexandru.croitor@qt.io>
Merge-request: !7291
2022-05-26 09:11:07 -04:00
Kitware Robot 35d975fe4a CMake Nightly Date Stamp 2022-05-26 00:01:07 -04:00
Kyle Edwards aadaac7f6d VERIFY_INTERFACE_HEADER_SETS: Add property for list of header sets
Add a new property, INTERFACE_HEADER_SETS_TO_VERIFY, which contains
a list of header sets that should be verified by
VERIFY_INTERFACE_HEADER_SETS.

Fixes: #23522
2022-05-25 14:37:27 -04:00
Brad King 5dcf505f63 Merge topic 'dependency-providers'
2aa83fa15b Dependency providers: Add find_package and FetchContent support
8a28368feb FetchContent: Don't discard non-empty SOURCE_DIR and BINARY_DIR
8ce9bb8a0c FetchContent: Don't leak internal variables
74a6ddc339 cmFindPackageCommand: Handle Makefile variable definitions more robustly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Gerhard Olsson <gerhard.nospam@gmail.com>
Merge-request: !7276
2022-05-25 07:24:48 -04:00
Joerg Bornemann 76608c60d3 AutoMoc: Take AUTOMOC_BUILD_DIR into account in depfile
For the Ninja generator and targets that have AUTOMOC_BUILD_DIR set, the
AutoMoc target was always out of date.

That was because the depfile in the AutoMoc build directory was
referencing the wrong timestamp file:
    target_autogen/timestamp: ...dependencies...
instead of
    automoc_build_dir/timestamp: ...dependencies...

Use the relative path of the timestamp file as rule name for the
depfile.  That path is calculated with AUTOMOC_BUILD_DIR taken into
account.

Fixes: #23547
2022-05-25 13:04:01 +02:00
Kitware Robot 5aa6b9db76 CMake Nightly Date Stamp 2022-05-25 00:01:15 -04:00
Craig Scott 2aa83fa15b Dependency providers: Add find_package and FetchContent support
Fixes: #22619
2022-05-25 08:46:18 +10:00
Brad King 7c3169417d Merge topic 'curl-debug-callback'
e243b379ca cmFileCommand: Fix signature of CURLOPT_DEBUGFUNCTION callback

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7288
2022-05-24 10:09:35 -04:00
Brad King 5ceed2bb28 Merge topic 'reduce-policy-eval-scope'
cb19a63499 cmConditionEvaluator: Reduce the scope of the CMP0064 evaluation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7287
2022-05-24 10:08:52 -04:00
Brad King 9eb81b2f9a Merge topic 'ci-fedora-36'
ef6a7921e5 gitlab-ci: use Fedora 36 images and environments
483ff3b903 ci: update Linux image to Fedora 36
13c5153ccd ci: make rvm version comments consistent
6c08dd972c clang-tidy: suppress `google-readability-casting` lint
17b7bbf2a0 clang-tidy: suppress new `readability-identifier-length` lint
16e6e4e7dd cmFileCommand: remove an unnecessary cast
b89c085237 clang-tidy: fix `readability-static-definition-in-anonymous-namespace` lints
c8c9d7de03 clang-tidy: fix `bugprone-exception-escape` lints
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7271
2022-05-24 10:05:33 -04:00
Ben Boeckel 16e6e4e7dd cmFileCommand: remove an unnecessary cast
`cmCryptoHash::New` already returns a `unique_ptr`.
2022-05-24 09:09:44 -04:00
Ben Boeckel b89c085237 clang-tidy: fix readability-static-definition-in-anonymous-namespace lints 2022-05-24 09:09:44 -04:00
Ben Boeckel c8c9d7de03 clang-tidy: fix bugprone-exception-escape lints 2022-05-24 09:09:44 -04:00
Ben Boeckel aa3649eb04 clang-tidy: fix performance-unnecessary-copy-initialization lints 2022-05-24 09:09:44 -04:00
Ben Boeckel 6ff03d463f clang-tidy: address google-readability-casting lints
At least those involving `static_cast`.
2022-05-24 09:09:43 -04:00
Ben Boeckel 9409e5c04f clang-tidy: address readability-container-data-pointer lints 2022-05-24 09:09:43 -04:00
Ben Boeckel a5f8cbe8b1 clang-tidy: address modernize-use-default-member-init lints 2022-05-24 09:09:43 -04:00
Kitware Robot ced9a3b0bb CMake Nightly Date Stamp 2022-05-24 00:01:07 -04:00
Brad King e243b379ca cmFileCommand: Fix signature of CURLOPT_DEBUGFUNCTION callback
Curl documents that the callback should return type `int`.
2022-05-23 10:05:06 -04:00
Alex Turbov cb19a63499 cmConditionEvaluator: Reduce the scope of the CMP0064 evaluation
When evaluatig conditions, avoid testing CMP0064 unless it's really needed
(Cuz most of the time it doesn't)
2022-05-23 09:08:51 -04:00
Kitware Robot cf68f3eb8b CMake Nightly Date Stamp 2022-05-23 00:01:24 -04:00
Kitware Robot f7910af39b CMake Nightly Date Stamp 2022-05-22 00:01:05 -04:00
Ben Boeckel 634d6f20c9 cmGlobalGenerator: check for nullptr in GetLanguageFromExtension
Found by `clang-analyzer`.
2022-05-21 17:23:19 -04:00
Ben Boeckel 97220f5b3f cmCTestSubmitHandler: avoid double fetching envvars
Technically, they can change between these two calls, so use the
verified pointer to assign to strings. Discovered by `clang-analyzer`.
2022-05-21 17:23:19 -04:00
Kitware Robot c97fd9f065 CMake Nightly Date Stamp 2022-05-21 00:01:07 -04:00
Brad King 918e98e131 Merge topic 'vs-system-include'
7a2496daad VS: Add support for SYSTEM include directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7238
2022-05-20 09:12:57 -04:00
Brad King 88ed9355f5 Merge topic 'win_arm64_native_toolchain'
af6928ce92 VS: ARM64 as default toolset architecture for ARM64 host

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7264
2022-05-20 09:11:15 -04:00
Brad King 4b140fa621 Merge topic 'vs2022-only'
235b5fb05b file(GET_RUNTIME_DEPENDENCIES): Support VS 2022 without VS 2019

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7282
2022-05-20 09:04:00 -04:00
Kitware Robot f43c0e0f7b CMake Nightly Date Stamp 2022-05-20 00:01:08 -04:00
Brad King 235b5fb05b file(GET_RUNTIME_DEPENDENCIES): Support VS 2022 without VS 2019
Find MSVC tools in VS 2022 installation.
2022-05-19 17:50:06 -04:00
Ben Boeckel 13ab9fbf36 cmMakefileLibraryTargetGenerator: improve output building
GCC warns about buffer juggling here. To avoid the warning, improve the
code to avoid resizing on the following two pushes.
2022-05-19 15:54:28 -04:00
Ben Boeckel f1d55ff7e9 style: use cmStrCat in some more locations 2022-05-19 15:54:28 -04:00
Niyas Sait af6928ce92 VS: ARM64 as default toolset architecture for ARM64 host
Visual Studio 2022 17 Preview introduced a native ARM64 toolchain.
2022-05-19 09:57:54 -04:00
Brad King 758756d1ba Merge topic 'ignore-werror-command-arg'
65f7053d6c COMPILE_WARNING_AS_ERROR: Add command-line option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7268
2022-05-19 09:43:53 -04:00
Brad King f808b19020 Merge topic 'verify-interface-header-sets'
259c265112 VERIFY_HEADER_SETS: Rename to VERIFY_INTERFACE_HEADER_SETS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7279
2022-05-19 09:41:52 -04:00
Kitware Robot 80c2b994d6 CMake Nightly Date Stamp 2022-05-19 00:01:09 -04:00
Josiah Bills 7a2496daad VS: Add support for SYSTEM include directories
Fixes: #17904
2022-05-18 18:52:00 -04:00
Martin Duffy 65f7053d6c COMPILE_WARNING_AS_ERROR: Add command-line option
Add command-line option `--compile-no-warning-as-error` to ignore value of
`COMPILE_WARNING_AS_ERROR`.

Issue: #19085
2022-05-18 10:30:30 -04:00
Kyle Edwards 259c265112 VERIFY_HEADER_SETS: Rename to VERIFY_INTERFACE_HEADER_SETS
Issue: #23448
2022-05-18 10:18:40 -04:00
Brad King 114acce9a1 Merge topic 'ccmake-fix-infinite-loop-search'
432a8ab739 ccmake: Fix infinite loop during invalid search

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7269
2022-05-18 08:43:31 -04:00
Martin Duffy 432a8ab739 ccmake: Fix infinite loop during invalid search
Fix issue introduced in commit 2defe9ff95 (ccmake: Fix crash when
deleting all cache entries, 2022-05-12).

Leaving the Empty Cache widget always on the Entry list had unforeseen
consequences, including that it caused an infinite loop when searching
for a string that did not match any variables.
2022-05-18 08:04:10 -04:00
Kitware Robot 9f469d533d CMake Nightly Date Stamp 2022-05-18 00:01:10 -04:00
Brad King a7cd15a61c Merge topic 'try_compile-project-platform-vars'
a6562ff579 try_compile: Add option to skip passing platform variables
4843a37676 try_compile: Propagate platform variables in project-mode too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7265
2022-05-17 08:57:55 -04:00
Brad King 2adfa82e28 Merge topic 'install-all-components-fix'
b0c8e31b54 install: Don't ignore EXCLUDE_FROM_ALL when used with ALL_COMPONENTS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7263
2022-05-17 08:50:33 -04:00
Craig Scott 74a6ddc339 cmFindPackageCommand: Handle Makefile variable definitions more robustly
During argument parsing in InitialPass(), Makefile variables were
being added for components. Most other such variables were set
in the call to SetModuleVariables(), which happens much later.
Both sets of variables were then restored to their previous values
as part of a call to AppendSuccessInformation(), but that is not an
obvious nor robust place to undo those variable changes.

InitialPass() also pushes a new item to the package root stack, but
the corresponding pop was in AppendSuccessInformation().
Again, this puts a symmetric operation in an asymmetric place.

Refactor the code slightly such that Makefile variables are set in
one clear location, then restored later in the same function.
Also move the package root stack pop into the same function as
the push. AppendSuccessInformation() now has one clear
responsibility and doesn't perform any unrelated cleanup on
behalf of InitialPass().
2022-05-17 14:33:29 +10:00
Kitware Robot 943210856a CMake Nightly Date Stamp 2022-05-17 00:01:08 -04:00
Brad King a6562ff579 try_compile: Add option to skip passing platform variables
Add a `CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES` variable to tell
`try_compile` not to pass platform variables to the test project.

Issue: #23219
2022-05-16 10:47:21 -04:00
Brad King 4843a37676 try_compile: Propagate platform variables in project-mode too
Add policy CMP0137 to propagate both our builtin variables and those
listed by `CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` to `try_compile`
whole-project builds.

Inspired-by: Alexander Neumann <Alexander.Neumann@hamburg.de>
Fixes: #23219
2022-05-16 10:39:42 -04:00
Nils Gladitz b0c8e31b54 install: Don't ignore EXCLUDE_FROM_ALL when used with ALL_COMPONENTS
Fixes: #23494
2022-05-16 09:34:31 -04:00