Commit Graph

13125 Commits

Author SHA1 Message Date
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 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
Brad King da5c90ae2e Merge topic 'FindCUDAToolkit-nvrtc-builtins'
9688a8ebc2 FindCUDAToolkit: Fix `nvrtc_builtins_static` library name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8162
2023-02-07 09:00:36 -05:00
Brad King 7aee115ff4 Merge topic 'FindCUDAToolkit-nvrtc-builtins' into release-3.26
9688a8ebc2 FindCUDAToolkit: Fix `nvrtc_builtins_static` library name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8162
2023-02-07 09:00:35 -05:00
Brad King 6cb6a2fabe Merge topic 'docfix'
d3ece40602 Help: cmake (1): remove -E server as not available
b19036d8b3 Help: CheckSource{Compiles,Runs}: fix typo and clarify

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8164
2023-02-07 08:57:46 -05:00
Brad King cb0b9452e8 Android: Provide CMAKE_ANDROID_NDK_VERSION with NDK legacy toolchain file
This variable has been provided since commit 746906242d (Android: Detect
NDK version number, 2021-02-26, v3.20.0-rc3~1^2~3) when using CMake's
NDK support or the modern NDK toolchain file.  Since commit 005e2cdfb0
(Android: Do not use gold for ndk >= r22, 2021-02-26, v3.20.0-rc3~1^2)
we need the value in our compiler/platform information files, so provide
it when using the NDK legacy toolchain file too.

Revert commit 1c86e397fe (Android/Clang: Tolerate undefined
CMAKE_ANDROID_NDK_VERSION, 2022-09-16, v3.25.0-rc1~118^2) since the
variable should now always be defined.

Issue: #21772
Fixes: #24386
2023-02-06 17:17:25 -05:00
Alexander Neundorf 9a7612d2d0 Kate: make it possible to force a mode for the "files" entry
By default, kate will try to autodetect whether the project is
a svn or git checkout or not.
In case this does not give a satisfying result, the user can now
set CMAKE_KATE_FILES_MODE to the mode he wants.
2023-02-06 10:21:19 -05:00
scivision b19036d8b3 Help: CheckSource{Compiles,Runs}: fix typo and clarify 2023-02-06 09:55:23 -05:00
Paul Taylor 9688a8ebc2 FindCUDAToolkit: Fix nvrtc_builtins_static library name
Update the change from commit 2a94c762ed (FindCUDAToolkit: Add support
for CUDA::nvrtc_static, 2023-01-20, v3.26.0-rc1~55^2).  The lib is named
`libnvrtc-builtins_static.a`, not `libnvrtc_builtins_static.a`.
2023-02-06 09:36:43 -05:00
Brad King bfe24f1764 Merge topic 'compiler-id-flags-with-quotes'
7201bc072c CompilerId: Fix handling of CMAKE_<LANG>_FLAGS with quotes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8158
2023-02-06 09:25:37 -05:00
Alexander Neundorf 8a7aa2642b Help: add documentation for Kate-related variable 2023-02-03 23:19:13 +01:00
Kyle Edwards cabad8a37f ExternalProject: Always use $<CONFIG> for source files 2023-02-03 11:23:32 -05:00
Kyle Edwards 62e8884d3f CTestTargets: Use $<CONFIG> instead of ${CMAKE_CFG_INTDIR} 2023-02-03 11:15:44 -05:00
Russell Greene 7201bc072c CompilerId: Fix handling of CMAKE_<LANG>_FLAGS with quotes
Use `separate_arguments` to correctly parse arguments with quotes.

Fixes: #24385
2023-02-03 10:39:22 -05:00
Lisanna 5e8e5d4744 FindOpenCL: Add default install locations on Windows
Add the default install locations when OpenCL is built and installed
from source on Windows.
2023-02-03 09:05:13 -05:00
Lisanna 9b6eb2c909 FindPNG: Add default install locations on Windows
Add the default install locations when PNG is built and installed
from source on Windows.
2023-02-03 09:02:31 -05:00
Brad King 71f9c1943d FindImageMagick: Fix documentation syntax in usage example 2023-02-01 13:58:23 -05:00
Brad King ce0139a1df Merge topic '_hm_swift_threads_pthread'
d7963aa9ee FindThreads: Filter -pthread out for compatibility with Swift linker

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8142
2023-02-01 09:09:52 -05:00
Brad King 2f5b0ac34e Merge topic 'CMakePackageConfigHelpers-ARCH_INDEPENDENT'
77982de955 CMakePackageConfigHelpers: only emit arch check if needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8133
2023-01-31 09:33:53 -05:00
Harry Mallon d7963aa9ee FindThreads: Filter -pthread out for compatibility with Swift linker 2023-01-31 09:11:08 +00:00
Brad King 1c4825066b Merge topic 'msvc-showIncludes'
8f82e755f3 Ninja: Fix detection of MSVC showIncludes prefix in Italian
d6e7e4d4a1 Tests: Extend RunCMake.Ninja ShowIncludes cases to cover more languages
9596305c0b Tests: Generalize RunCMake.Ninja ShowIncludes test infrastructure
c6dd4fa21d Tests: Extend RunCMake.Ninja ShowIncludes case with sample path
a9d97492fd Ninja: Record showIncludes detection in configure log

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8129
2023-01-30 10:23:31 -05:00
Andrea Pappacoda 77982de955 CMakePackageConfigHelpers: only emit arch check if needed
Before this patch, the write_basic_package_version_file() function of
the CMakePackageConfigHelpers module always emitted an architecture
check, even if the ARCH_INDEPENDENT option was specified. While this is
not an issue when configuring builds, as the check is skipped, this can
create issues when the "arch independent" version files are installed in
the datadir (e.g. /usr/share) in a MultiArch environment like Debian,
where different architecture packages of the same libraries can be
coinstalled; as the amd64 version of a given library contains "8 * 8"
in the file, while the i386 one contains "4 * 8", there's a conflict, as
files in /usr/share are expected to be identical across architectures.

This patch fixes this issue by only emitting the architecture check code
if needed; when ARCH_INDEPENDENT is specified, no code is written at
all.

Here's a diff between the version files generated before and after this
patch:

    diff -u old/indep.cmake new/indep.cmake
    --- old/indep.cmake	2023-01-29 13:43:04.840671117 +0100
    +++ new/indep.cmake	2023-01-29 13:57:28.475191551 +0100
    @@ -52,19 +52,3 @@
     endif()

    -# if the installed project requested no architecture check, don't perform the check
    -if("TRUE")
    -  return()
    -endif()
    -
    -# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
    -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
    -  return()
    -endif()
    -
    -# check that the installed version has the same 32/64bit-ness as the one which is currently searching:
    -if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "8")
    -  math(EXPR installedBits "8 * 8")
    -  set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)")
    -  set(PACKAGE_VERSION_UNSUITABLE TRUE)
    -endif()
    diff -u old/no-indep.cmake new/no-indep.cmake
    --- old/no-indep.cmake	2023-01-29 13:42:05.010710508 +0100
    +++ new/no-indep.cmake	2023-01-29 13:57:40.914237219 +0100
    @@ -52,13 +52,8 @@
     endif()

    -# if the installed project requested no architecture check, don't perform the check
    -if("FALSE")
    -  return()
    -endif()
    -
     # if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it:
    -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")
    +if(CMAKE_SIZEOF_VOID_P STREQUAL "" OR "8" STREQUAL "")
       return()
     endif()

Fixes: #24375
2023-01-29 14:00:13 +01:00
Brad King 8f82e755f3 Ninja: Fix detection of MSVC showIncludes prefix in Italian
The prefix does not have two colons.  Update our regex.

Fixes: #24357
2023-01-28 07:16:58 -05:00
Brad King a9d97492fd Ninja: Record showIncludes detection in configure log
Also avoid running the detection multiple times.
2023-01-27 10:55:37 -05:00