Commit Graph

57606 Commits

Author SHA1 Message Date
Brad King 49e31d9c55 Merge topic 'msvc-compilers-default-to-ZI'
5fcadc481e MSVC: Default to -ZI instead of /Zi for x86 and x64

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7295
2022-05-27 09:10:43 -04:00
Brad King 6a2ee6f977 Merge topic 'mingw-compiler-PATH'
55ba10dcfd MSYS/MinGW Makefiles: Simplify selection of windres as Resource Compiler
9019537670 MSYS/MinGW Makfiles: Select the compiler occurring first in PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: مهدي شينون (Mehdi Chinoune) <mehdi.chinoune@hotmail.com>
Merge-request: !7301
2022-05-27 09:09:23 -04:00
Kitware Robot 8ab866c641 CMake Nightly Date Stamp 2022-05-27 00:01:09 -04:00
Brad King 55ba10dcfd MSYS/MinGW Makefiles: Simplify selection of windres as Resource Compiler
Since commit 957c2aac7f (RC: Simplify selection of resource compiler
based on C/C++ toolchain, 2015-05-07, v3.3.0-rc1~101^2~3), `windres` is
selected automatically when using compilers that target the GNU ABI.
Drop the generator-specific preference to make behavior more consistent
with the Ninja generator.

Issue: #23542
2022-05-26 13:26:54 -04:00
Brad King 9019537670 MSYS/MinGW Makfiles: Select the compiler occurring first in PATH
Extend the change from commit e01990999a (Ninja: On Windows, select the
compiler occurring first in PATH, 2020-04-17, v3.18.0-rc1~291^2) to
apply to the MSYS/MinGW Makefiles generators too.  Drop the implied
`gcc` and `g++` default compilers.  This allows MinGW/Clang environments
to work out of the box.

Inspired-by: Mehdi Chinoune <mehdi.chinoune@hotmail.com>
Fixes: #23542
2022-05-26 13:22:58 -04:00
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
Glen Chung 5fcadc481e MSVC: Default to -ZI instead of /Zi for x86 and x64
Add a policy for compatibility.

For more information, see [1].

[1] https://docs.microsoft.com/en-us/cpp/build/reference/z7-zi-zi-debug-information-format?view=msvc-170

Fixes: #10189
2022-05-26 09:06:01 -04:00
Brad King 711496b672 Merge topic 'LLVMFlang-compiler'
85749766df LLVMFlang: Add support for LLVM Flang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7246
2022-05-26 08:52:02 -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 dca78722b7 Merge branch 'release-3.23' 2022-05-25 13:36:25 -04:00
Brad King a8bd06dfd4 CMake 3.23.2 v3.23.2 2022-05-25 09:42:51 -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
Brad King 7120221e24 Merge topic 'cpack-component-special-chars'
11ac6751a8 CPack: Support component names with special characters, too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7290
2022-05-25 07:20:58 -04:00
Brad King fb04ef3f16 Merge topic 'doc-cmake-compiler-is-gnu-deprecation'
711031df7c Help: Deprecate the CMAKE_COMPILER_IS_GNU* variables
c058fdb92a Help: Remove wrong versionadded for CMAKE_COMPILER_IS_GNU* variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7293
2022-05-25 07:20:12 -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 bb50072355 Merge branch 'release-3.23' 2022-05-24 13:59:28 -04:00
Brad King c6f03a2225 Merge topic 'doc-hip-genex-versionadded'
9f863cbd93 Help: Document when HIP_COMPILER generator expressions were added

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7289
2022-05-24 13:59:28 -04:00
Brad King 8f2484e1b8 Merge topic 'doc-hip-genex-versionadded' into release-3.23
9f863cbd93 Help: Document when HIP_COMPILER generator expressions were added

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7289
2022-05-24 13:59:27 -04:00
Brad King efe060b04f Merge branch 'release-3.23' 2022-05-24 13:39:20 -04:00
Brad King 980d0727ed Merge branch 'release-3.22' 2022-05-24 13:39:17 -04:00
Brad King 4f2843136b Merge topic 'update-libarchive'
c1cb9844a6 Merge branch 'backport-update-libarchive' into update-libarchive
e2fe1d17e6 libarchive: Update build within CMake after changes in 3.5.3
ac5e524763 libarchive: include archive_platform.h first in blake2s sources
b93d8b1714 Merge branch 'upstream-LibArchive' into update-libarchive
9fd16c5b5b LibArchive 2022-02-08 (673c1eae)
de38c89252 libarchive: Update script to get 3.5.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7294
2022-05-24 13:38:49 -04:00
Brad King a2fb6efd7f Merge branch 'release-3.22' into release-3.23 2022-05-24 13:36:38 -04:00
Brad King 38e1ec008d Merge topic 'backport-update-libarchive' into release-3.23
e2fe1d17e6 libarchive: Update build within CMake after changes in 3.5.3
ac5e524763 libarchive: include archive_platform.h first in blake2s sources
b93d8b1714 Merge branch 'upstream-LibArchive' into update-libarchive
9fd16c5b5b LibArchive 2022-02-08 (673c1eae)
de38c89252 libarchive: Update script to get 3.5.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7294
2022-05-24 13:36:15 -04:00
Brad King d763ec0fdb Merge topic 'backport-update-libarchive' into release-3.22
e2fe1d17e6 libarchive: Update build within CMake after changes in 3.5.3
ac5e524763 libarchive: include archive_platform.h first in blake2s sources
b93d8b1714 Merge branch 'upstream-LibArchive' into update-libarchive
9fd16c5b5b LibArchive 2022-02-08 (673c1eae)
de38c89252 libarchive: Update script to get 3.5.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7294
2022-05-24 13:35:06 -04:00
Brad King c1cb9844a6 Merge branch 'backport-update-libarchive' into update-libarchive
Use the "ours" merge strategy to keep our side, which is already
a newer version of libarchive than the update we're backporting
to the 3.22 and 3.23 series.
2022-05-24 13:32:57 -04:00
Deniz Bahadir 11ac6751a8 CPack: Support component names with special characters, too
The macros `cpack_append_variable_set_command` and
`cpack_append_string_variable_set_command` became functions, in order to
support arguments with special characters (e.g. `:`).
2022-05-24 19:07:36 +02:00
Brad King e2fe1d17e6 libarchive: Update build within CMake after changes in 3.5.3 2022-05-24 12:35:53 -04:00
Brad King ac5e524763 libarchive: include archive_platform.h first in blake2s sources
This is the libarchive convention in all other `.c` sources.  It ensures
that the configured `_WIN32_WINNT` value is defined before including any
system headers.
2022-05-24 12:35:26 -04:00
Brad King b93d8b1714 Merge branch 'upstream-LibArchive' into update-libarchive
* upstream-LibArchive:
  LibArchive 2022-02-08 (673c1eae)
2022-05-24 12:20:20 -04:00
LibArchive Upstream 9fd16c5b5b LibArchive 2022-02-08 (673c1eae)
Code extracted from:

    https://github.com/libarchive/libarchive.git

at commit 673c1eae896c837081a627807b9d5e990684dbf7 (v3.5.3).
2022-05-24 12:18:12 -04:00
Brad King de38c89252 libarchive: Update script to get 3.5.3 2022-05-24 12:17:57 -04:00
friendlyanon 711031df7c Help: Deprecate the CMAKE_COMPILER_IS_GNU* variables
Fixes: #23526
2022-05-24 18:01:38 +02:00
friendlyanon c058fdb92a Help: Remove wrong versionadded for CMAKE_COMPILER_IS_GNU* variables
Commit 496ec6036f (Help: Add Sphinx 'versionadded' directives to each
top-level document, 2020-07-06, v3.19.0-rc1~558^2) added the
versionadded directive to many variables, but it wrongly detected the
commit a6d3f5418c (Help: Clarify documentation of
CMAKE_COMPILER_IS_GNU{CC,CXX,G77}, 2016-09-14, v3.7.0-rc1~120^2~1) as
the origin for these variables. In reality, these variables were
introduced in commit f5d95fb078 (Complete rework of makefile generators
expect trouble, 2002-11-08, v2.4.0~4935).
2022-05-24 17:51:10 +02:00
Tin Huynh 85749766df LLVMFlang: Add support for LLVM Flang
LLVM Flang (https://github.com/llvm/llvm-project/tree/main/flang) is an LLVM
Fortran compiler that shares the same name as Flang (also known as Classic
Flang). Classic Flang is in active development and is already identified by
CMake as Flang. As such, LLVM Flang will be identified as `LLVMFlang`.

Fixes: #22387
2022-05-24 10:37:33 -04:00
Eisuke Kawashima 9f863cbd93 Help: Document when HIP_COMPILER generator expressions were added
These were added by commit b50bfc8913 (HIP: Add language to CMake,
2020-08-28, v3.21.0-rc1~66^2~4).
2022-05-24 10:23:43 -04:00
Brad King f791cd23d4 Merge topic 'findvulkan-moltenvk'
d9b4264cb8 FindVulkan: Add component for `MoltenVK`
10a6bb16bb FindVulkan: Mark test target with `cxx_std_11` to avoid AppleClang warnings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7286
2022-05-24 10:10:46 -04:00
Brad King 60530da6f2 Merge topic 'gitignore-build'
2c1ab065fe gitignore: Tell Git to ignore build*/ directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Acked-by: مهدي شينون (Mehdi Chinoune) <mehdi.chinoune@hotmail.com>
Merge-request: !7283
2022-05-24 10:10:14 -04: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 ef6a7921e5 gitlab-ci: use Fedora 36 images and environments 2022-05-24 09:09:45 -04:00
Ben Boeckel 483ff3b903 ci: update Linux image to Fedora 36 2022-05-24 09:09:44 -04:00
Brad King 13c5153ccd ci: make rvm version comments consistent 2022-05-24 09:09:44 -04:00
Ben Boeckel 6c08dd972c clang-tidy: suppress google-readability-casting lint
It now complains about some things that are very pedantic.
2022-05-24 09:09:44 -04:00
Ben Boeckel 17b7bbf2a0 clang-tidy: suppress new readability-identifier-length lint
CMake uses short names all over the place; 3 character minimums is
excessive.
2022-05-24 09:09:44 -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