Commit Graph

14001 Commits

Author SHA1 Message Date
Sung, Po Han
06c99ce73b CheckSymbolExists: Avoid removing the flag after -Werror
In commit 1ab7c3cd28 (CheckSymbolExists: Work around GCC failure with
-pedantic-errors option, 2021-10-22, v3.23.0-rc1~498^2) we used the same
code that was fixed by commit cec6f98018 (CMakeDetermineCompilerABI:
Avoid removing the flag after -Werror, 2023-05-29, v3.26.5~4^2).
Apply the fix to CheckSymbolExists too.
2024-03-28 13:16:40 -04:00
Sung, Po Han
e60281e968 CMakeDetermineCompilerABI: Remove -Werror from per-config flags
Extend the fixes from

* commit 079ea66468 (CMakeDetermineCompilerABI: Handle NVCC-style -Werror
  flags, 2020-10-04, v3.19.0-rc1~45^2), and
* commit cec6f98018 (CMakeDetermineCompilerABI: Avoid removing the flag
  after -Werror, 2023-05-29, v3.26.5~4^2)

to apply to the per-config flags propagated by CMP0066's NEW behavior.
2024-03-28 13:16:18 -04:00
Brad King
6f8cb8f988 Merge topic 'FindPkgConfig-no-Strawberry-Perl'
d0dd134bdb FindPkgConfig: Avoid finding Strawberry Perl's pkg-config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9375
2024-03-27 08:17:06 -04:00
Brad King
209c0ff56c Merge topic 'patch-find-sqlite3'
fb30b18437 FindSQLite3: Use pkg-config for SQLite3 hints

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9374
2024-03-27 08:15:37 -04:00
Brad King
c90bcf58ee Merge topic 'FindCURL-libcurl_a'
a76aad6ca6 FindCURL: Add support for finding static `libcurl_a.lib` on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9367
2024-03-26 09:01:01 -04:00
Brad King
d0dd134bdb FindPkgConfig: Avoid finding Strawberry Perl's pkg-config
Strawberry Perl may be in the `PATH` to provide `perl`, but it also
comes with a `pkg-config` tool that is unrelated to normal MinGW
distributions.  Since commit c6efbd78d8 (MSVC: Teach find_library to
consider the 'libfoo.a' naming convention, 2024-01-19, v3.29.0-rc1~91^2)
we need to avoid searching Strawberry Perl's `.../c/lib` directory, so
do not let its `pkg-config` point us there.

Fixes: #25820
Issue: #23975
2024-03-26 08:51:32 -04:00
Peter Kokot
fb30b18437 FindSQLite3: Use pkg-config for SQLite3 hints 2024-03-26 13:08:00 +01:00
Brad King
41de1c3813 Merge topic 'swift-color-diagnostics'
ff7a09d719 Swift: Honor CMAKE_COLOR_DIAGNOSTICS for command-line build systems

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9365
2024-03-26 07:56:12 -04:00
Brad King
60de0b410e Merge topic 'open-watcom'
71d3aa1499 OpenWatcom: Fix Windows3x DLL linking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9370
2024-03-26 07:55:18 -04:00
Alex Overchenko
a76aad6ca6 FindCURL: Add support for finding static libcurl_a.lib on Windows
Fixes: #25810
2024-03-25 15:31:30 -04:00
Evan Wilde
ff7a09d719 Swift: Honor CMAKE_COLOR_DIAGNOSTICS for command-line build systems
Add the missing flags to enable and disable color diagnostics for Swift.

Fixes: #25815
2024-03-25 15:06:13 -04:00
Jiri Malak
71d3aa1499 OpenWatcom: Fix Windows3x DLL linking
Fix DLL creation for 16-bit Windows.
2024-03-25 14:49:50 -04:00
Brad King
b5bb6f7a6d Merge topic 'IntelLLVM-Fortran-no-isystem'
a80d8e839d IntelLLVM: Revert accidental use of -external:I with Fortran compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9368
2024-03-25 10:51:16 -04:00
Brad King
a80d8e839d IntelLLVM: Revert accidental use of -external:I with Fortran compilers
In commit 8218aed118 (IntelLLVM: support marking include paths as SYSTEM
directories, 2023-08-15, v3.29.0-rc1~81^2) this flag was added for the C
and C++ compilers, but was accidentally added for Fortran too.  Remove
it for the latter, as it is unsupported.

Issue: #25807
2024-03-24 15:03:11 -04:00
Brad King
ac25c645a7 CPack/WIX: Improve formatting of CPACK_WIX_CUSTOM_XMLNS expansion 2024-03-22 09:58:42 -04:00
Brad King
d2f4836f8e CPack/WIX: Prepare to provide version-specific WiX templates
Move our template for WiX Toolset v3 to a versioned location.
2024-03-22 09:51:06 -04:00
Brad King
5b2e785431 Merge topic 'FindPython_MKL_Workaround'
df551ee538 FindPython: fix NumPy detection when Intel MKL library is installed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9359
2024-03-22 09:14:39 -04:00
Brad King
0f141fbd68 Merge topic 'matlab-2024a'
bade9832e6 FindMatlab: R2024a version map

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9360
2024-03-22 09:01:54 -04:00
Even Rouault
df551ee538 FindPython: fix NumPy detection when Intel MKL library is installed
In an environment where both NumPy and a recent Intel MKL library are
installed, the detection of numpy include directory fails because a
'import numpy' outputs a MKL related warning message on stdout...
(namely "Intel MKL WARNING: Support of Intel(R) Advanced Vector
Extensions (Intel(R) AVX) enabled only processors has been deprecated.
Intel oneAPI Math Kernel Library will use Intel(R) Streaming SIMD
Extensions 4.2 (Intel(R) SSE4.2) instructions instead.")

I've successfully tested the workaround mentioned at
https://github.com/numpy/numpy/issues/23775#issuecomment-1923327310
which consists in setting the MKL_ENABLE_INSTRUCTIONS=SSE4_2 environment
before importing numpy, hence this proposed workaround.
2024-03-21 16:07:49 +01:00
scivision
bade9832e6 FindMatlab: R2024a version map 2024-03-21 10:13:59 -04:00
Brad King
1485b65b0d Merge topic 'FindSWIG-enhance-lookup-strategy'
8ff66a766f FindSWIG: Enhance lookup capabilities using VALIDATOR argument
ef51650558 FindSWIG: Search now all artifacts per directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9357
2024-03-21 09:28:12 -04:00
Brad King
aa8fec906f Merge topic 'check-strict-prototypes'
1a4610269a Modules: Fix checks under -Werror=strict-prototypes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9344
2024-03-21 09:27:09 -04:00
Marc Chevrier
8ff66a766f FindSWIG: Enhance lookup capabilities using VALIDATOR argument
Currently, swig executable naming strategy is a bit odd: For example swig4.0 executable
can have version 4.2.0!i Moreover, not all platforms provide a versioned executable.

So, to pick-up the right executable when multiple versions are available,
use find_program(... VALIDATOR ...).
2024-03-20 15:22:40 +01:00
Marc Chevrier
ef51650558 FindSWIG: Search now all artifacts per directory
Fixes: #25566
2024-03-20 15:22:40 +01:00
Brad King
9ef00786b2 Merge topic 'package-dispatch-apple'
85d6d3b2e3 generate_apple_*_selection_file: Add option to capture errors
2149dbd379 generate_apple_architecture_selection_file: Document $(ARCHS_STANDARD) support
be642f6ed5 generate_apple_architecture_selection_file: Simplify signature
8959ad9db1 Tests/RunCMake/CMakePackage: Fix Apple architecture selection argument order
677f3d721b Tests/RunCMake/CMakePackage: Add architecture i386 for macOS on Xcode < 10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9349
2024-03-20 09:51:45 -04:00
Brad King
3135a99467 Merge topic 'package-dispatch-apple' into release-3.29
85d6d3b2e3 generate_apple_*_selection_file: Add option to capture errors
2149dbd379 generate_apple_architecture_selection_file: Document $(ARCHS_STANDARD) support
be642f6ed5 generate_apple_architecture_selection_file: Simplify signature
8959ad9db1 Tests/RunCMake/CMakePackage: Fix Apple architecture selection argument order
677f3d721b Tests/RunCMake/CMakePackage: Add architecture i386 for macOS on Xcode < 10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9349
2024-03-20 09:51:43 -04:00
Peter Kokot
1a4610269a Modules: Fix checks under -Werror=strict-prototypes
This fixes configuration checks when using -Werror=strict-prototypes or
-Wstrict-prototypes compiler flag, for example, via the CMAKE_C_FLAGS.
2024-03-20 12:42:48 +01:00
Brad King
aa643b66a8 Merge topic 'doc-release-3.29-typos'
eceb368ccc Help: Fix typos in 3.29 docs
31fb693d06 Help: Fix typos and grammar in pre-3.29 docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9353
2024-03-19 10:10:16 -04:00
Brad King
85d6d3b2e3 generate_apple_*_selection_file: Add option to capture errors
Add an option to capture error messages in a variable instead of
terminating with a fatal error.

Fixes: #25778
2024-03-19 09:52:32 -04:00
Brad King
2149dbd379 generate_apple_architecture_selection_file: Document $(ARCHS_STANDARD) support
Also add a test case.

Fixes: #25780
2024-03-19 09:52:32 -04:00
Brad King
be642f6ed5 generate_apple_architecture_selection_file: Simplify signature
Allow callers to pass multiple values to list-valued arguments
instead of putting the entire list in a single quoted argument.

Fixes: #25779
2024-03-19 09:52:32 -04:00
Craig Scott
31fb693d06 Help: Fix typos and grammar in pre-3.29 docs 2024-03-19 21:47:21 +11:00
Brad King
8526943b8c Merge topic 'LINKER_TYPE-mold-support'
801ae06952 LINKER_TYPE: Support MOLD only on GCC versions that support it
939ac5287e LINKER_TYPE: fix spelling error in message
922883782b LINKER_TYPE: Document that linker tool should be in the PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9334
2024-03-14 11:45:14 -04:00
Brad King
8f0801cacc Merge topic 'LINKER_TYPE-mold-support' into release-3.29
801ae06952 LINKER_TYPE: Support MOLD only on GCC versions that support it
939ac5287e LINKER_TYPE: fix spelling error in message
922883782b LINKER_TYPE: Document that linker tool should be in the PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9334
2024-03-14 11:45:13 -04:00
Brad King
11f6df1c19 Merge topic 'fc-MakeAvailable-leak-var'
2b68048bdb FetchContent: Don't leak temporary variable and restore var robustly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9338
2024-03-14 11:44:01 -04:00
Brad King
d93a7c18d8 Merge topic 'fc-MakeAvailable-leak-var' into release-3.29
2b68048bdb FetchContent: Don't leak temporary variable and restore var robustly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9338
2024-03-14 11:44:00 -04:00
Marc Chevrier
801ae06952 LINKER_TYPE: Support MOLD only on GCC versions that support it
Fixes: #25748
2024-03-13 11:13:21 -04:00
Brad King
253397b018 Merge topic 'ctest-tls-options'
aeb8bcc055 ctest: Fall back to CMake options for TLS version
56e319ce4a ctest: Fall back to CMake options for TLS server verification
6671f17f65 ctest: Add explicit options for TLS version
0aba13a2f3 ctest: Add explicit options for TLS server verification
51728a6dd3 CTest: Create scope to isolate defaults for DartConfiguration.tcl
8a3a486fb5 cmCTestCurl: Factor out helper struct for curl options
7f668bb94f cmCTestCurl: Use inline member initialization
add81210df cmCurl: Assert that we cover all TLS versions supported by our vendored curl
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9318
2024-03-13 11:05:17 -04:00
Brad King
bdaa6b5457 Merge topic 'GoogleTest-source-line'
a0343abd59 GoogleTest: Add DEF_SOURCE_LINE property to gtest_add_tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9327
2024-03-13 11:00:45 -04:00
Brad King
1edb2b409a Merge topic 'ci-xcode-15.3'
682767e8a5 Merge branch 'backport-3.28-ci-xcode-15.3'
e572986231 LinkerId: Update detection of linker tool for Xcode 15.3
8a6d05aa9d gitlab-ci: update macOS jobs to use Xcode 15.3
7bf893bc30 Tests: Update RunCMake.CheckCompilerFlag for Xcode 15.3
7f5f0ab4b3 Tests: Update RunCMake.CompileFeatures for Xcode 15.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9333
2024-03-13 10:51:13 -04:00
Craig Scott
2b68048bdb FetchContent: Don't leak temporary variable and restore var robustly
In FetchContent_MakeAvailable(), the __fcprefix__ previously used
when pushing the value of CMAKE_EXPORT_FIND_PACKAGE_NAME
to the variable stack is not needed. The stack will never be empty
at that point, so pushing an empty value will be handled correctly.
By removing the __fcprefix__, we no longer need any temporary
variable when restoring CMAKE_EXPORT_FIND_PACKAGE_NAME.

But we need to ensure CMAKE_EXPORT_FIND_PACKAGE_NAME is
left undefined if it wasn't defined before, and pushing an empty
value doesn't let us distinguish between unset and set-but-empty.
Therefore, when CMAKE_EXPORT_FIND_PACKAGE_NAME is undefined,
push a specific value that can't be used by the project instead and
check for that when popping it again. This ensures we can robustly
distinguish the two cases and will always restore the right state.

Fixes: #25758
2024-03-13 17:27:18 +11:00
Brad King
aeb8bcc055 ctest: Fall back to CMake options for TLS version
Use `CMAKE_TLS_VERSION` or `ENV{CMAKE_TLS_VERSION}` if
`CTEST_TLS_VERSION` is not set.

Issue: #25701
2024-03-12 10:47:08 -04:00
Brad King
56e319ce4a ctest: Fall back to CMake options for TLS server verification
Use `CMAKE_TLS_VERIFY` if `CTEST_TLS_VERIFY` is not set.
2024-03-12 10:46:42 -04:00
Brad King
6671f17f65 ctest: Add explicit options for TLS version
Add a dedicated `TLSVersion` ctest option and a `CTEST_TLS_VERSION`
variable to control it.

Issue: #25701
2024-03-12 10:46:23 -04:00
Brad King
0aba13a2f3 ctest: Add explicit options for TLS server verification
Add a dedicated `TLSVerify` ctest option and a `CTEST_TLS_VERIFY`
variable to control it.  Deprecate `CurlOptions` because it exposes
internal implementation details.
2024-03-12 10:46:11 -04:00
Brad King
51728a6dd3 CTest: Create scope to isolate defaults for DartConfiguration.tcl 2024-03-12 10:43:38 -04:00
Brad King
e572986231 LinkerId: Update detection of linker tool for Xcode 15.3
Xcode now prints extra `ExecuteExternalTool` lines that happen to
mention the linker tool, but not in conjunction with actually linking
something.  Ignore them.
2024-03-12 09:48:01 -04:00
Brad King
68085730f4 Merge topic 'findcudatoolkit_remove_unneeded_deps'
d47c5e3358 FindCUDAToolkit: Remove unneeded dependencies on the cuda driver

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9331
2024-03-12 08:48:19 -04:00
Daniel Sim
a0343abd59 GoogleTest: Add DEF_SOURCE_LINE property to gtest_add_tests 2024-03-11 22:04:31 +00:00
Robert Maynard
d47c5e3358 FindCUDAToolkit: Remove unneeded dependencies on the cuda driver
The nvrtc-builtins and nvptxcompiler projects don't required linking
to the cuda driver. We previously did this due to reading the
upstream documentation incorrectly.
2024-03-11 15:51:11 -04:00