Commit Graph

14118 Commits

Author SHA1 Message Date
Brad King ae41bfc6c2 Merge topic 'nested-package-config-file'
6ddf8712cd CMakePackageConfigHelpers: Use unique variable name for pkg prefix
91b9d35608 CMakePackageConfigHelpers: Remove unused variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9390
2024-04-01 09:35:09 -04:00
Craig Scott 6ddf8712cd CMakePackageConfigHelpers: Use unique variable name for pkg prefix
Fixes: #25827
2024-04-01 09:32:37 +11:00
Craig Scott 91b9d35608 CMakePackageConfigHelpers: Remove unused variable 2024-04-01 09:32:28 +11:00
Brad King 7139944264 ctest: Fall back to CMake environment variable for TLS server verification
Use `ENV{CMAKE_TLS_VERIFY}` if `CTEST_TLS_VERIFY` or `CMAKE_TLS_VERIFY`
is not set.

Issue: #23608
2024-03-30 09:22:05 -04:00
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
Juan Ramos 3cd64287fe Modules: Fix CMP0159 warnings in modules when tracing
Closes: #25829
2024-03-29 13:51:59 -07:00
Tyler 588371d2d5 Modules: Rename CMakeDetermine{CompileFeatures -> CompilerSupport}
Rename the CMake script at
`${CMAKE_ROOT}\Modules\CMakeDetermineCompileFeatures.cmake` to
`${CMAKE_ROOT}\Modules\CMakeDetermineCompilerSupport.cmake`. Also,
rename the function defined in that script from
`cmake_determine_compile_features()` to
`cmake_determine_compiler_support()`.

Modify existing CMake scripts which were including the previous
CMake script to refer to the new file and call the new function.
2024-03-29 14:29:20 -06:00
Tyler 4d27ef55bd Modules: Factor out helpers for GNU language standard flags
Add the following macros to `${CMAKE_ROOT}\Modules\Compiler\GNU.cmake`:

* `__compiler_gnu_c_standards()`
* `__compiler_gnu_cxx_standards()`

These macros are used to define the
`CMAKE_<LANG><STANDARD>_STANDARD_COMPILE_OPTION` and
`CMAKE_<LANG><STANDARD>_EXTENSION_COMPILE_OPTION` variables for C-
and C++-based languages for GCC. The macros are similar to the
existing `__compiler_clang_cxx_standards()` macro found in
`${CMAKE_ROOT}\Modules\Compiler\Clang.cmake`.
2024-03-29 14:27:20 -06: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
Sung, Po Han cebcc07a80 CheckSymbolExists: Remove -Werror from per-config flags
Extend the fix from commit 1ab7c3cd28 (CheckSymbolExists: Work around
GCC failure with -pedantic-errors option, 2021-10-22, v3.23.0-rc1~498^2)
to apply to the per-config flags propagated by CMP0066's NEW behavior.
2024-03-28 13:19:20 -04:00
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 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
Brad King c5c524394e Merge topic 'ExternalProject-list-separator-docs-example' into release-3.29
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:02 -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 d0272bea04 Merge topic 'FindPkgConfig-no-Strawberry-Perl' into release-3.29
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:05 -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