Commit Graph

13925 Commits

Author SHA1 Message Date
Brad King 0e4db17764 CMakePackageConfigHelpers: Restore undocumented PACKAGE_PREFIX_DIR variable
Revert commit 6ddf8712cd (CMakePackageConfigHelpers: Use unique variable
name for pkg prefix, 2024-03-30, v3.29.1~8^2).  It regressed existing
projects that rely on the undocumented `PACKAGE_PREFIX_DIR` variable in
package configuration files generated by `CMakePackageConfigHelpers`.

Fixes: #25873
Fixes: #25885
Issue: #25827
2024-04-11 09:23:46 -04:00
Kai Pastor 4ab860c4c7 FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
In commit 6e8754c625 (FindJasper: Add IMPORTED target, 2021-10-06,
v3.22.0-rc1~20^2) this property was not set correctly.  This was
detected by `CMP0160` because the `IMPORTED` property is read-only.
2024-04-10 12:12:05 -04:00
Matthias Isele 9ff5dae3f6 FindOpenSSL: Update layout for Shining Light Productions debug libraries
The installer no longer names debug libraries with a `d` suffix.  They
are distinguished by the per-runtime-library directory containing them.

Fixes: #25856
2024-04-03 16:59:30 -04:00
Matthias Isele aa86f487c2 FindOpenSSL: Update layout for Shining Light Productions 32-bit package
Issue: #25856
2024-04-03 16:59:13 -04:00
Brad King 26d1a5aec8 Merge topic 'artos-lib-prefix' into release-3.29
e6b63b5cb2 ARTOS: Add support for finding library files named with 'lib' prefix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Bert Ezendam <bert.ezendam@alliander.com>
Merge-request: !9399
2024-04-03 09:36:19 -04:00
Brad King a045c5c4ec Merge topic 'vs-intel-oneapi' into release-3.29
3f5cd0389f IntelLLVM: Fix link flags with Visual Studio generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9398
2024-04-03 09:35:19 -04:00
Brad King 3f5cd0389f IntelLLVM: Fix link flags with Visual Studio generators
The link flag wrapping added by commit 5d5a712303 (IntelLLVM: Pass
linker flags to the compiler when used as linker, 2022-05-27,
v3.25.0-rc1~344^2~4) is not needed with Visual Studio generators because
MSBuild invokes the linker directly.  Furthermore, that commit omitted
wrapping of the per-config linker flags.

Revise the logic to add the link flag wrapping more precisely.

Fixes: #25533
2024-04-02 12:54:01 -04:00
Brad King e6b63b5cb2 ARTOS: Add support for finding library files named with 'lib' prefix
Update the platform module added by commit 462fbd1eca (Add support for
ARTOS platform using GNU C with ac compiler driver, 2015-08-13,
v3.4.0-rc1~201^2) to tell `find_library` to consider library file names
starting in `lib`.

FindEXPAT needs this on ARTOS since commit 13079f382b (FindEXPAT: Fix
for debug and other modified builds, 2023-02-18, v3.27.0-rc1~463^2)
removed its explicit `libexpat` library name candidate.

Fixes: #25776
2024-04-02 12:48:24 -04:00
Evan Wilde 3fb4092826 Swift: Add CMAKE_LINKER_TYPE support
Extend commit 96a953b1ed (Add options to specify linker tool, 2023-09-27,
v3.29.0-rc1~577^2) with the `CMAKE_Swift_USING_LINKER_*` variables
needed to support `CMAKE_LINKER_TYPE` for Swift.
2024-04-02 10:42:12 -04:00
Brad King e6dee2a4bd FindMPI: Fix finding IntelLLVM wrappers on Windows
In commit 5e700411d2 (FindMPI: add IntelLLVM MPI wrappers, 2024-01-19,
v3.29.0-rc1~92^2) we added `mpiicpx.bat` for C++ on Windows, but that is
a GNU-like front-end that we do not yet support.  Use `mpiicx.bat` for
both C and C++ on Windows, just as we use `icx` to compile both.

Fixes: #25807
2024-04-01 12:11:32 -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 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 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 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
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
scivision bade9832e6 FindMatlab: R2024a version map 2024-03-21 10:13:59 -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
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 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 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
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 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 d914c76d63 Merge topic 'llvm-objdump' into release-3.29
c51f84b96a GET_RUNTIME_DEPENDENCIES: Allow more whitespace before objdump's "DLL Name:"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9325
2024-03-11 10:15:16 -04:00
Alexander Neumann c34ef6c922 ASM_MARMASM: Remove broken partial support for preprocessor defines
Avoid passing unsupported options to the assembler.

In commit 3166547cf6 (ASM_MARMASM: Add support for Microsoft ARM
assembler language, 2022-10-14, v3.26.0-rc1~383^2) we copied the
assembler command line from `CMakeASM_MASMInformation`, but the
`marmasm` tool does not accept `-D` command-line options.

Issue: #24317
2024-03-10 11:20:20 -04:00
Adrian Pop c51f84b96a GET_RUNTIME_DEPENDENCIES: Allow more whitespace before objdump's "DLL Name:"
LLVM's `llvm-objdump` has spaces before "DLL Name:" instead of tabs.
2024-03-10 11:03:21 -04:00
Charlie Savage c2bf3e46fa FindRuby: Fix finding Ruby 3.1+ on Windows
It switched to the UCRT C runtime.
2024-03-05 08:47:59 -05:00
Charlie Savage 867550db43 FindRuby: Add support for 3.3 2024-03-05 08:46:29 -05:00
Brad King e80ad5809b Merge topic 'FindTIFF-cmake-package' into release-3.29
b6b2f73f36 FindTIFF: Fix name of upstream TIFF cmake package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9300
2024-03-01 08:59:50 -05:00
Brad King b6b2f73f36 FindTIFF: Fix name of upstream TIFF cmake package
Since commit 6a3059e66f (FindTIFF: bridge `tiff-config` into
FindTIFF-compatible interface, 2023-09-14, v3.28.0-rc1~87^2)
we try to find the upstream TIFF cmake package.  However, it
is called `TiffConfig.cmake`, not `tiff-config.cmake`, so we
need to match the capitalization of the package name.
2024-02-29 08:47:53 -05:00
Brad King 9b4bbd26a9 Merge topic 'clang-use-arg1' into release-3.29
7008fc234b CMakeDetermineCompilerId: use `_ARG1` to query the clang resource dir

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9285
2024-02-27 09:05:12 -05:00
Ben Boeckel 7008fc234b CMakeDetermineCompilerId: use _ARG1 to query the clang resource dir
Other core queries do this, so do it here too.
2024-02-26 11:49:17 -05:00
Brad King 2c69f8abee Merge topic 'FindOpenSSL-SLP-layout' into release-3.29
1327e0ff75 FindOpenSSL: Update layout for Shining Light Productions package on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9283
2024-02-26 10:18:17 -05:00
Brad King d427bfae61 FindOpenMP: Restore support for Intel compilers on Windows
Fix the condition added by commit 3019af64c2 (FindOpenMP: Add support
for GNU-like Clang targeting MSVC ABI, 2024-02-08, v3.29.0-rc1~8^2~1)
to be more specific.

Fixes: #25711
2024-02-23 09:37:03 -05:00
Matthias Isele 1327e0ff75 FindOpenSSL: Update layout for Shining Light Productions package on Windows
Fixes: #25702
2024-02-23 08:46:11 -05:00
Brad King a4122c89c4 Merge topic 'cxxmodules-clang-resource-dir' into release-3.29
a3ada1a241 Clang: detect -resource-dir for clang-scan-deps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9274
2024-02-22 08:23:58 -05:00
Ben Boeckel a3ada1a241 Clang: detect -resource-dir for clang-scan-deps
When cross-compiling, `clang-scan-deps` needs help to find the correct
location of core headers such as `stddef.h`. Always determine this path
and pass it when available.

Fixes: #25590
2024-02-21 08:51:42 -05:00
Brad King 559231aec3 Merge topic 'doc-install-relative-paths' into release-3.29
af293ff7c3 Help: Explicitly discourage absolute install destinations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9261
2024-02-16 10:08:18 -05:00
Robert Maynard af293ff7c3 Help: Explicitly discourage absolute install destinations
Document some of the problems caused by absolute install destinations.
Encourage use of relative paths.
2024-02-16 09:53:55 -05:00
Ruslan Baratov 2d72a861d7 IPO: Support duplicate object names in large archives
Apply the fix from commit 1ec6485c6a (Support duplicate object names in
large archives, 2014-04-16, v3.1.0-rc1~629^2) to the IPO-specific
archiving rules.  Use "quick append" instead of "replace".

Fixes: #25675
Issue: #14874
2024-02-15 11:08:45 -05:00
Brad King 0f5b2109e6 Merge topic 'clang-windows-make-depends' into release-3.29
492f456c1c Clang: Fix typo to enable compiler-generated Makefile dependencies on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9245
2024-02-13 08:55:25 -05:00
Brad King 7f067a3c17 Merge topic 'mingw-objc-objcxx' into release-3.29
2a4e8f03ef MinGW: Add support for OBJC and OBJCXX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Merge-request: !9244
2024-02-13 08:53:15 -05:00
مهدي شينون (Mehdi Chinoune) 2a4e8f03ef MinGW: Add support for OBJC and OBJCXX 2024-02-12 19:46:41 -05:00
Brad King 492f456c1c Clang: Fix typo to enable compiler-generated Makefile dependencies on Windows
Fix a typo from commit 2c71d051fa (Makefiles Generators: use compiler
for dependencies generation, 2020-10-18, v3.20.0-rc1~392^2).
2024-02-12 14:14:07 -05:00