When `-pipe` is enabled, GCC passes data among its different executables
using pipes instead of temporary files. This leads to issues when cmake
attempts to infer compiler internals via the `-v` flag as each
executable will print to `stderr` in parallel. Avoid this by stripping
`-pipe` from the compilation flags during compiler inspection.
This extends commit d5895f50c3 (CMakeDetermineCompilerABI: Avoid failing
on warnings with -Werror, 2020-01-30, v3.17.0-rc1~32^2).
34067963cc LFortran: Improve detection of implicit link information for lfortran 0.40+
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9939
34067963cc LFortran: Improve detection of implicit link information for lfortran 0.40+
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9939
When using the WindowsKernelModeDriver, do not add the new paths
if the variable was not previously defined. Instead, append them
to the existing value.
Add a new GUID for the Experimental mode gate
The `BUILD_TESTING` variable is referenced in `add_test` and
`enable_testing`. It should be documented as it controls the
behavior tests working when projects use `include(CTest)`.
The linker configuration file is now optional: It is loaded only if
variable CMAKE_<LANG>_USE_LINKER_CONFIGURATION is set to TRUE.
The file CMakeAddNewLanguage.txt is updated to take into account the
linker configuration.
Fixes: #26393
When using generator expressions in the COMPILE_FLAGS argument, and the
generator expression expands to an empty string, command gets an empty
argument with double quotes where GNU bison command-line tool errors out
with `/usr/bin/bison: extra operand` error. This removes empty arguments
from the created bison command.
In commit 2785364b7b (iOS: Add support for Mac Catalyst, 2024-07-02,
v3.31.0-rc1~371^2) we forgot to update the conditions to use ad-hoc
signing from commit 89e1113e0c (Xcode: Use ad-hoc signing during
compiler id on macOS, 2022-06-10, v3.22.6~4^2~2).
Fixes: #26376
The dependency on nvJitLink was due to misunderstanding how runtime compiled code that uses
LTO is used. It doesn't require nvrtc to have a dependency on nvJitLink, just the caller.
In case libcurl was found via pkg-config, the properties
`INTERFACE_LINK_LIBRARIES`, `INTERFACE_LINK_OPTINS`, and
`INTERFACE_COMPILE_OPTINS` can be populated from the `PC_CURL_*`
variables if available.
Fixes: #26365
3a96346a3f Configure CMake itself with policies through CMake 3.30
10f8c6a274 export: Increase maximum policy version in exported files to 3.30
fe6cf6d28c Add deprecation warnings for policies CMP0139 and below
b51e6a0be7 Help/dev: Update export policy version in post-release development
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9892
The files generated by `install(EXPORT)`, `export()`, and
`install_jar_exports()` commands are known to work with policies
as of CMake 3.30, so enable them in sufficiently new CMake versions.
Depending on nvrtc-builtins breaks CUDA enhanced compatibility across
minor versions. The static version of nvrtc continues to need the
dependency due to undefined symbols
We do this for other compiler/language combinations, but these flags
were left out by commit 5df21adf46 (CUDA: Add support for Clang
compiler, 2020-03-07, v3.18.0-rc1~145^2~1).
7cc12caa32 FindDevIL: Restore http link after redirect was removed
51c737515b FindAVIFile: Restore http link after redirect was removed
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9877
84db8506ff Deprecate compatibility with CMake versions older than 3.10
9e3b559b6a Tests: Update cmake_minimum_required versions to 3.10
f4aa34daa7 Tests/RunCMake: Update cmake_minimum_required versions to 3.10
1d38d52995 Tests/RunCMake: Match diagnostic line numbers more robustly
55778f5a16 ExternalProject: Enable all policies in internal scripts
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9875
Revert the URL change from commit 8a59fb1c90 (FindDevIL: Replace http
link with its redirect, 2024-09-26), as the http redirect seems to have
been removed.
Revert the URL change from commit f77e36aa37 (FindAVIFile: Replace http
link with its redirect, 2024-09-26), as the http redirect seems to have
been removed.
Test names with square brackets can't be safely parsed in the
list returned through TEST_LIST, so they are omitted from the
list. This was implemented in 8b85b10fb3 (GoogleTest: Add
handling for square brackets in test names, 2022-01-05), but the
documentation wasn't updated as part of that change.
Remove some edge cases where if CPACK_DEBIAN_PACKAGE_DEPENDS is a list
it would not be expanded on all components leaving some with ';'(s) in
the Depends field of the control file.
Same goes for using CPACK_DEBIAN_PACKAGE_SHLIBDEPS.
This will now preserve empty values in the TEST_LAUNCHER and
CROSSCOMPILING_EMULATOR target properties for tests added by:
- The add_test() command.
- The ExternalData_Add_Test() command from the ExternalData module.
- The gtest_add_tests() or gtest_discover_tests() commands from the
GoogleTest module.
For the gtest_add_tests() and gtest_discover_tests() commands,
empty elements in the values passed after the EXTRA_ARGS keyword
are also now preserved.
Policy CMP0178 is added to provide backward compatibility with the
old behavior where empty values were silently discarded from the
above cases.
Fixes: #26337
8f4cea94da FindOpenMP: Add support for CUDA when supported by the toolchain
f8ed4d7c21 FindOpenMP: Factor out compiler id lookup
534923428a FindOpenMP: Simplify compiler driver check
42bf0f596e FindOpenMP: Simplify explicit "omp" library checks
5204262c0e ci: add libomp to cuda12.2 base image
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9861