Commit Graph

13197 Commits

Author SHA1 Message Date
Brad King
1d7fb31778 Merge topic 'Apple-handle-Text-Stubs'
ede33f30cf Apple: Handle generation and comsuption of text-based stubs (.tbd files)
fcbd723a50 Enhance support functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !8204
2023-03-02 09:53:03 -05:00
Brad King
d7df908fc5 Merge topic 'FindPython-fix-CMAKE_SHARED_LIBRARY_SUFFIX-matching'
764441e672 FindPython: fix erroneous ${CMAKE_SHARED_LIBRARY_SUFFIX} matching

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8271
2023-03-01 09:35:42 -05:00
Greg Thain
296d2bef06 ExternalProject: Also retry curl download on timeout error
Since commit f24e34975a (ExternalProject: retry download on recoverable
errors, 2020-08-08, v3.19.0-rc1~298^2~1) ExternalProject has a list of
curl errors which trigger a retry today: 6, 7, 8 and 15.

Add curl error 28.  It is a "timeout error", and should also trigger a
retry attempt at a download of an external project.  The complete list
of curl errors is https://curl.se/libcurl/c/libcurl-errors.html
2023-03-01 09:31:04 -05:00
Brad King
882abea3d8 Merge topic 'FindVulkan-mingw-cross-compiling'
829f1b5be4 FindVulkan: Add more search paths for MINGW when cross compiling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8256
2023-03-01 09:22:53 -05:00
Marc Chevrier
764441e672 FindPython: fix erroneous ${CMAKE_SHARED_LIBRARY_SUFFIX} matching
Fixes: #24556
2023-03-01 12:34:13 +01:00
Marc Chevrier
ede33f30cf Apple: Handle generation and comsuption of text-based stubs (.tbd files)
Fixes: #24123
2023-03-01 12:23:28 +01:00
Brad King
2e469212c8 Dart,FindDart: Add policy to remove these modules
These modules and the "DART" tool they support have long been replaced
by CTest.
2023-02-28 08:43:45 -05:00
Ralf Habacker
829f1b5be4 FindVulkan: Add more search paths for MINGW when cross compiling
Fixes: #24536
2023-02-28 08:32:01 +01:00
Ben Boeckel
0cca309dfd FindX11: support the xcb-{cursor,shape,xrm} components
Fixes: #24417
2023-02-27 17:40:48 -05:00
Craig Scott
57f09a818c Merge topic 'fetchcontent-reject-CMAKE_TOOLCHAIN_FILE-env-var'
c15674a9cb FetchContent: Reject CMAKE_TOOLCHAIN_FILE env var in sub-build
31ef93f19f FetchContent: Only use @-@ replacements for sub-build CMakeLists.txt

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8248
2023-02-25 17:16:37 -05:00
Brad King
d6831f99fa Merge topic 'FetchContent-generator-instance'
9af0e67ee5 FetchContent: Relay CMAKE_GENERATOR_INSTANCE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8195
2023-02-24 08:36:25 -05:00
Brad King
7552276e6e Merge topic 'GenerateExportHeader-Fix-Clang-support-on-Windows'
1e19936320 GenerateExportHeader: Fix Clang support on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Adrien De Coninck <deconinck.adrien@gmail.com>
Merge-request: !8221
2023-02-24 08:33:23 -05:00
Brad King
2ce23aec9c Merge topic 'find-openssl-find-pthread'
24c7279a6f FindOpenSSL: Search for -pthread flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8246
2023-02-24 08:29:53 -05:00
Craig Scott
c15674a9cb FetchContent: Reject CMAKE_TOOLCHAIN_FILE env var in sub-build
The sub-build should never try to use a toolchain file. The toolchain file
may itself be getting downloaded by FetchContent. If the
CMAKE_TOOLCHAIN_FILE environment variable is set, CMake uses it to
initialize the CMake variable of the same name. We need to explicitly
clear them before the first project call of the sub-build.

Fixes: #24535
2023-02-24 17:17:36 +11:00
Craig Scott
31ef93f19f FetchContent: Only use @-@ replacements for sub-build CMakeLists.txt
There was a mix of ${} and @-@ substitutions in the CMakeLists.txt.in
file. It is sometimes useful to temporarily put ${} evaluations there while
working on issues, but they get replaced. Using @ONLY leaves them
untouched and uses a consistent substitution method for the whole file.
2023-02-24 17:07:01 +11:00
Máté Ferenc Nagy-Egri
9af0e67ee5 FetchContent: Relay CMAKE_GENERATOR_INSTANCE
If set, relay `CMAKE_GENERATOR_INSTANCE`.  It may affect compiler
detection in the subbuild folder.

Fixes: #24404
2023-02-23 17:07:50 -05:00
Kyle Edwards
24c7279a6f FindOpenSSL: Search for -pthread flag
Because -pthread doesn't begin with -l, it doesn't show up in the
pkgconfig LIBRARIES variable, causing FindOpenSSL to not add the
Threads::Threads dependency. Explicitly search LDFLAGS_EXTRA
for -pthread and add the dependency if it's found.

Fixes: #24532
2023-02-23 13:31:23 -05:00
Corentin Damman
1e19936320 GenerateExportHeader: Fix Clang support on Windows
When using Clang with Visual Studio, the GenerateExportHeader function
generates the DEPRECATED definition "__attribute__ ((__deprecated__))",
because Clang can compile such instruction. However, if a user wants to compile
the library with this generated header with MSVC, the declaration is not valid.

We suggest to always use the DEPRECATED definition "__declspec(deprecated)" on
Windows, which is valid for both Clang and MSVC.
2023-02-23 09:19:06 +01:00
Brad King
13d0c2d636 Merge topic 'iar-lang-vars'
3b365c461f IAR: Tolerate variables named for languages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8235
2023-02-22 08:43:21 -05:00
Weiqun Zhang
18c2970a97 FindHDF5: Fix detection of Parallel HDF5
To detect Parallel HDF5, the output of `h5pcc -showconfig` was compared
with `Parallel HDF5: yes`.  However, the Boolean flag is not always
`yes` or `no`, because it was set by the value in `HDF5_ENABLE_PARALLEL`
if CMake was used for the configuration.  This commit instead checks to
see if the value is interpreted by CMake as "true".
2023-02-21 12:29:28 -08:00
Joakim Lönnberg
3b365c461f IAR: Tolerate variables named for languages
If a project or user sets a variable or cache entry named `C` or `CXX`,
we were previously comparing those language names to the value of that
variable, rather than the name itself.  Double-quote the string to take
advantage of policy `CMP0054`, but also add "x" prefixes to support
projects that do not set the policy.

This extends a similar fix from commit c8eb357738 (CompilerId: Tolerate
variables named for languages, 2021-06-17, v3.21.0-rc1~9^2).
2023-02-21 09:24:14 -05:00
Brad King
ebf0088efc Merge topic 'GetPrerequisites-linux-x86'
cf2ad9995a GetPrerequisites: Ignore relative paths printed by ldd

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8229
2023-02-21 08:50:59 -05:00
Brad King
286dd53d6c Merge topic 'FindEXPAT-multi-config'
13079f382b FindEXPAT: Fix for debug and other modified builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8225
2023-02-21 08:41:14 -05:00
Brad King
8d5314eff8 Merge topic 'BundleUtilities-chmod-later'
1430f7f574 BundleUtilities: Avoid unnecessary chmod in fixup_bundle_item

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8232
2023-02-21 08:39:00 -05:00
Brad King
70ecc3c36a Merge topic 'BundleUtilities-chmod-later' into release-3.26
1430f7f574 BundleUtilities: Avoid unnecessary chmod in fixup_bundle_item

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8232
2023-02-21 08:38:59 -05:00
Brad King
c4218a7fd1 Merge topic 'FindOpenSSL-threads'
a8cedb1572 FindOpenSSL: Fix regression in dependency on threads

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Bret Brown <mail@bretbrownjr.com>
Acked-by: Matias Lopez <imatlopez@gmail.com>
Merge-request: !8230
2023-02-21 08:37:50 -05:00
Brad King
1430f7f574 BundleUtilities: Avoid unnecessary chmod in fixup_bundle_item
Move the permissions modification added by commit 88fed668b1 (Make
bundle items writable before fixup, 2010-09-07, v2.8.3~129^2) inside the
condition added by commit 45ed314bff (BundleUtilities: do not run
install_name_tool on scripts, 2020-07-27, v3.19.0-rc1~404^2).
There is no reason to add write permissions to a file that we are
not going to modify.

Fixes: #24424
2023-02-20 13:17:04 -05:00
Brad King
a8cedb1572 FindOpenSSL: Fix regression in dependency on threads
Since commit 1b7804edd0 (FindOpenSSL: use extra dependencies from
pkg-config as well, 2022-12-05, v3.26.0-rc1~227^2) we conditionally find
Threads but unconditionally depend on it.  Make the conditions
consistent.

Fixes: #24505
2023-02-20 10:53:42 -05:00
Đoàn Trần Công Danh
cf2ad9995a GetPrerequisites: Ignore relative paths printed by ldd
On x86 Linux, the ldd output for its vDSO (linux-gate.so.1) is a bit
different from other Linux with standard vDSO name (linux-vdso.so.1).

    $ ldd /bin/ls
    linux-gate.so.1 => linux-gate.so.1 (0xf7f5e000)
    libcap.so.2 => /usr/lib32/libcap.so.2 (0xf7f22000)
    libc.so.6 => /usr/lib32/libc.so.6 (0xf7cfb000)
    /lib/ld-linux.so.2 => /usr/lib32/ld-linux.so.2 (0xf7f60000)

This fixes the `Tests/BundleUtilities` test on x86 Linux.
2023-02-20 09:30:40 -05:00
tobil4sk
13079f382b FindEXPAT: Fix for debug and other modified builds
Now considers debug builds, and various other build types which result
in a modified library name by the upstream build system.

Fixes: #24422
2023-02-20 08:48:09 -05:00
Brad King
f7be10b26a Merge topic 'ci-linkcheck'
0787148785 gitlab-ci: Report sphinx logs as artifacts of its lint job
14506f49a2 Utilities/Sphinx: Configure linkcheck allowed permanent redirects
3c5b34af9d Help: Replace links with their permanent redirects
1004be159f FindCUDAToolkit: Replace broken links to NVIDIA documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8210
2023-02-17 08:54:51 -05:00
Brad King
0089a32c2c Merge topic 'swift-debug-info'
9693191582 Swift: Emit debug information on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8090
2023-02-17 08:54:03 -05:00
Brad King
3c5b34af9d Help: Replace links with their permanent redirects 2023-02-17 08:45:01 -05:00
Brad King
1004be159f FindCUDAToolkit: Replace broken links to NVIDIA documentation
The cuFile API documentation has moved, so link to its new location.

The nvGRAPH library has been removed, so link to a web archive copy.

The NTVX library has a higher-level landing page.
2023-02-17 08:44:02 -05:00
Saleem Abdulrasool
9693191582 Swift: Emit debug information on Windows
When building on Windows, pass `-debug` to the linker to emit the PDB
(or `-debug:dwarf` when building with lld and using DWARF).  We would
previously not do this which meant that we never emitted the debug
information making debugging more difficult.

Fixes: #24423
2023-02-16 16:10:05 -05:00
makise-homura
9f9d121ddb LCC: Disable Fortran preprocessor testing if unsupported
LCC < 1.24 has no way to disable integrated Fortran preprocessor,
and it can't produce preprocessed files explicitly. So we
disable all functionality (and therefore tests) related to it.
2023-02-16 03:55:31 +03:00
makise-homura
5434547678 LCC: Don't require liblfortran on lcc versions that don't have it
There wasn't a liblfortran library before 1.24 (actually 1.24.01),
and it is replaced by libgfortran in 1.26.03 and later.
2023-02-16 00:05:16 +03:00
Brad King
a1140b61db Merge topic 'LLVMFlang-post-preprocessed'
3f1e58c5b9 LLVMFlang: Fix post-preprocess compile for fixed-form Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Andrzej Warzyński <andrzej.warzynski@gmail.com>
Merge-request: !8205
2023-02-15 08:19:32 -05:00
David Truby
3f1e58c5b9 LLVMFlang: Fix post-preprocess compile for fixed-form Fortran
LLVM Flang's preprocessor output is always valid fixed form Fortran with
a fixed line length of 72. If an application tries to use fixed form
with a different line length, this will fail in the
post-preprocessing compilation step as they will pass a flag asking for
a different fixed line length.

To fix this we can pass -ffixed-line-length-72 to the post-preprocess
compilation stage. This will be ignored when the input is free form
Fortran, and force to a 72 line length when the input is fixed.
2023-02-14 09:22:12 -05:00
Brad King
aec5dd482f Merge topic 'lcc-major-version'
2a75edb342 LCC: Fix extraction of __LCC__ version components

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8199
2023-02-14 08:46:18 -05:00
Brad King
2a75edb342 LCC: Fix extraction of __LCC__ version components
Previously the logic only worked for major versions of the form `1.xx`.
Fix it to work with versions `2.xx` and above.
2023-02-13 09:29:32 -05:00
Brad King
d00613786f Merge topic 'findopenssl-static-findpkg-fix'
652f34eab9 FindOpenSSL: Use static pkgconfig if OPENSSL_USE_STATIC_LIBS=ON

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8174
2023-02-08 11:38:00 -05:00
Brad King
4ce614eb5a Merge topic 'findopenssl-static-findpkg-fix' into release-3.26
652f34eab9 FindOpenSSL: Use static pkgconfig if OPENSSL_USE_STATIC_LIBS=ON

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8174
2023-02-08 11:37:59 -05:00
Brad King
6736743f09 Merge topic 'doc-FetchContent-catch2'
6d48f48d5d FetchContent: Bump documented example Catch2 to v3.0.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8172
2023-02-08 11:36:26 -05:00
Eisuke Kawashima
6d48f48d5d FetchContent: Bump documented example Catch2 to v3.0.1
The previous Catch2 v2.13.4 does not compile on some platforms [1].

[1] https://github.com/catchorg/Catch2/issues/2326
2023-02-07 10:54:25 -05:00
Kyle Edwards
652f34eab9 FindOpenSSL: Use static pkgconfig if OPENSSL_USE_STATIC_LIBS=ON
Fixes: #24395
2023-02-07 10:38:20 -05:00
Brad King
8c61f15cdc Merge topic 'avoid-cmake-cfg-intdir'
2b17b6da6a cmGlobalGenerator: Avoid referencing CMAKE_CFG_INTDIR
f34876561f Tests: Remove or silence instances of ${CMAKE_CFG_INTDIR}
78cf427157 RULE_LAUNCH_*: Add support for generator expressions
cabad8a37f ExternalProject: Always use $<CONFIG> for source files
62e8884d3f CTestTargets: Use $<CONFIG> instead of ${CMAKE_CFG_INTDIR}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8169
2023-02-07 09:52:32 -05:00
Brad King
9492ca9a3f Merge topic 'KateImprovements'
e7f7bff4f5 Kate: improve the way the VCS-specific files are searched
96389b4cd3 Kate: add support for hg and fossil
4c32623f5f Help: fix typo in docs for set_property()
9a7612d2d0 Kate: make it possible to force a mode for the "files" entry
8a7aa2642b Help: add documentation for Kate-related variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8154
2023-02-07 09:48:23 -05:00
Brad King
60911f4ebc Merge topic 'android-ndk-legacy-toolchain'
cb0b9452e8 Android: Provide CMAKE_ANDROID_NDK_VERSION with NDK legacy toolchain file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8170
2023-02-07 09:32:20 -05:00
Brad King
5d40cf45fa Merge topic 'android-ndk-legacy-toolchain' into release-3.26
cb0b9452e8 Android: Provide CMAKE_ANDROID_NDK_VERSION with NDK legacy toolchain file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8170
2023-02-07 09:32:19 -05:00