Commit Graph

14006 Commits

Author SHA1 Message Date
Brad King 0d250dd021 ExternalProject: Honor CMAKE_TLS_VERIFY environment variable
Issue: #23608
2024-03-30 09:22:05 -04:00
Brad King e8404502b1 ExternalProject: Revise TLS_VERIFY wording to use TLS_VERSION pattern 2024-03-30 09:22:05 -04:00
Brad King 31aea3d4ca Merge topic 'cpack-wix'
03884f4f32 CPack/WIX: Add support for WiX Toolset v4
cfe5bbdc54 ci: Add scripts to provide WiX 4 package on Windows
c8e2694679 ci: Add script to repackage WiX .NET tool for our needs
e7f5ad8df2 Tests: Prepare RunCMake.CPack_WIX to cover multiple WiX versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9369
2024-03-28 15:15:51 -04:00
Brad King 10def6c964 Merge topic 'ExternalProject-list-separator-docs-example'
5d33f41e23 ExternalProject: reword `LIST_SEPARATOR` to indicate what it *does*
611ffce98c ExternalProject: add an example of `LIST_SEPARATOR` usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9376
2024-03-28 11:51:04 -04:00
Ben Boeckel 5d33f41e23 ExternalProject: reword LIST_SEPARATOR to indicate what it *does*
Also remove the (IMO) confusing suggestion to have ` ` as a separator as
it interferes with things like spaces in argument values (e.g., paths)
or generated arguments such as `-GUnix Makefiles`. The new example is
likely more common usage of the facility.
2024-03-28 10:36:31 -04:00
Ben Boeckel 611ffce98c ExternalProject: add an example of LIST_SEPARATOR usage 2024-03-28 10:36:31 -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 03884f4f32 CPack/WIX: Add support for WiX Toolset v4
Add a `CPACK_WIX_VERSION` option to specify version WiX for
which the project is configured.

Fixes: #23910
2024-03-24 15:26:39 -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