| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
fc1f733cc7 BinUtils: Avoid searching CMAKE_PREFIX_PATH
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6434
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Our `find_program` calls specify `HINTS` to look in the toolchain's
directory first, and then in `PATH`. `CMAKE_PREFIX_PATH` may be
specified by the user to help find packages for project dependencies,
but this should not override the binutils.
Fixes: #22512
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| | |
9ac426e460 NVHPC-C: Add support for C17
f5dbc27c27 NVHPC-CXX: Add support for C++20
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !6430
|
| | |
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| | |
1af23c4de2 macOS: Restore support for Mac OS X 10.4 (Tiger)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6426
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit 4aed96e230 (Apple: Set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG
on non-macOS too, 2021-04-06, v3.20.1~5^2) we always enable support for
linking with `-rpath`. The intention of the change was to enable using
the flag on iOS, tvOS and watchOS by avoiding a Darwin-specific version
check. However, removing the check broke support for OS X 10.4 because
the flag is not supported on that version.
Restore a form of the check that disables the flag on OS X < 10.5 while
still allowing it for the other Apple platforms. Since no one is doing
iOS/tvOS/etc development on 10.4, this change should have no unintended
side effects.
Fixes: #22490
|
| |\
| | |
| | |
| | | |
Merge-request: !6328
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Clang does not define `__STDC__` if in MSVC compatibility mode, but does
define `__STDC_VERSION__`. Avoid the fallback for this combination.
This backports commit 7596d8b951 (CMakeCCompilerId: Fix C standard
detection in Clang MSVC mode, 2021-02-07, v3.21.0-rc1~587^2~14) to the
3.20 release series. This is needed since commit 5115dd1e2c (IntelLLVM:
Fix C/C++ standard level flags on Windows, 2021-07-07, v3.21.0-rc3~7^2^2)
now that we activate C/C++ standard level logic for IntelLLVM when
targeting the MSVC ABI.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was accidentally added by commit 34c8a23044 (CPackRPM: add
scriplets tags only if scripts exist, 2021-04-01, v3.21.0-rc1~387^2).
Fixes: #22501
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The behavior was added by commit 7ebc1cb2ff (Haiku: Several fixes to
platform module, 2013-10-05, v3.0.0-rc1~541^2~3), but was not explained
in its commit message. No other platform modules do this.
The include-once behavior results in incorrect variables set in some
larger projects, e.g. .NET Core, particularly when cross-compiling,
`CMAKE_DL_LIBS` being one of these. Remove it.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The fix from commit eafe740ead (FindXCTest: Fix output directory for
test bundle with new build system, 2021-02-09, v3.19.5~5^2) is not
necessary with Xcode 12.5, which seems to have changed/fixed the
behaviour again.
Fixes: #22462
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
d61bc4241d GNU: Correct C23 flags
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6376
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Non-final forms aren't supported yet, unlike C++23.
Seems I might've gotten confused due to that when I added these.
Fixes #22453.
|
|\ \ \ \
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | | |
5b9bfe738c IAR: Moved search logic to BinUtils.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6372
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The search logic for the IAR linker, librarian and related tools is
moved from `Modules/Compiler/IAR-FindBinUtils.cmake` to
`Modules/CMakeFindBinUtils.cmake` by introducing an new elseif block
for the IAR toolchain.
The search logic was refactored to omit repeating itself.
Fixes: #22425
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Revert commit 0665d9092e (CMakeDependentOption: Allow parentheses in the
depends string, 2021-06-13, v3.21.0-rc1~32^2). It broke existing use
cases with parentheses in regular expressions. Also add a test for this.
Fixes: #22447
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
09bc0785ee Help: Document CMAKE_EXECUTABLE_SUFFIX_<LANG> explicitly
05a3bafe65 Compiler/IAR: Avoid clobbering CMAKE_EXECUTABLE_SUFFIX
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6357
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Use `CMAKE_EXECUTABLE_SUFFIX_<LANG>` instead.
Fixes: #22426
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
IAR is available for both Linux and Windows OSes. Moreover,
binaries `*.exe` could be called from a Linux box, or vice versa.
See also commit 01a4eec446 (IAR: Changes required for Linux,
2019-04-25, v3.15.0-rc1~185^2).
Fixes: #22312
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Setting `CMAKE_EXECUTABLE_FORMAT` as a normal variable is unnecessary
because setting it as a cache entry already makes the value visible to
the calling scope.
Fixes: #22433
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
3ddd7f3576 enable_language: Fix test for working compiler with CMP0126 NEW behavior
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6355
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Update the logic that converts a `try_compile` result from a cache
entry to a normal variable to tolerate an existing normal variable
under CMP0126 NEW behavior. Otherwise the `try_compile` result
is ignored because CMake uses the false value of the normal variable,
and CMake incorrectly reports that the compiler does not work.
This went unnoticed for some languages (e.g. C and CXX) because the
check for a working compiler is skipped if ABI detection works.
It does affect other languages (e.g. CSharp).
Fixes: #22423
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
While the flag tables for C and C++ were generated from MSBuild `.xml`
files, the CSharp flag tables were written by hand. Copy the `v142`
flag table to use for the `v143` toolset.
|
|/ / / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Given the compiler to use, `CMakeFindBinUtils.cmake` automatically
determines a number of tools including linker (CMAKE_LINKER) and archiver
(CMAKE_AR) and stores them in a generated file `CMakeCCompiler.cmake` as
non-CACHE entries. The compiler-specific ARMClang.cmake then tries to
override CMAKE_LINKER and CMAKE_AR as CACHE entries.
Following the introduction of CMP0126, which is set to NEW in the test
for a working compiler, setting a CACHE entry does not replace a normal
entry of the same name anymore, resulting in a failed test due to wrong
linker and archiver.
To fix this, set CMAKE_LINKER and CMAKE_AR for ARMClang directly in
`CMakeFindBinUtils.cmake` as is done for other compilers. Check
for them in `ARMClang.cmake` to safeguard cases when a project explicitly
includes `ARMClang.cmake` prior to compiler determination (which some
projects do to work around other problems in older CMake versions).
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
805fa791d1 CPack/DEB: Avoid overriding user-provided `postinst` and `postrm`
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6335
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When a user provides `CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA` or
`CPACK_DEBIAN_<comp>_PACKAGE_CONTROL_EXTRA` variables in
`CMakeLists.txt` and the package contains dynamic libraries, the
`CPackDeb.cmake` sets `CPACK_ADD_LDCONFIG_CALL` to `1`. Later it
analyzes if defaulted `postinst`/`postrm` should be generated trying to
check if the user provides any in `CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA`
variable. However, the `foreach` loop uses the invalid variable
`PACKAGE_CONTROL_EXTRA` instead, so these files gonna be overridden.
Fix the variable name.
Fixes: #22410
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Logic added by commit 4c74c86f40 (FindBLAS/LAPACK: Add support for the
Fujitsu SSL2 library, 2021-01-27, v3.21.0-rc1~402^2~1) accidentally
expressed a boolean condition without proper grouping. The pattern was
then copied by commit 2c9e623e31 (Find{BLAS,LAPACK}: Add support for the
NVHPC LAPACK library, 2021-05-05, v3.21.0-rc1~192^2). The resulting
logic incorrectly tries Fujitsu and NVHPC vendors even after results are
found from another vendor, and then erases those. Fix the grouping.
Fixes: #22403
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
0de1f1503b FindJPEG: Revert "Search for 'turbojpeg' and 'turbojpeg-static' too"
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6326
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Revert commit 74cc2e3326 (FindJPEG: Search for 'turbojpeg' and
'turbojpeg-static' too, 2021-01-09, v3.20.0-rc1~176^2) pending further
investigation. The "turbo" variants are not drop-in replacements on all
platforms.
Fixes: #22333
|
| |\ \
| | |/
| |/|
| | | |
Merge-request: !6318
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In commit a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based
compilers, 2020-11-02, v3.20.0-rc1~89^2~20) we accidentally left out
activation of the C/C++ standard level selection logic when IntelLLVM is
targeting the MSVC ABI.
Fixes: #22388
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Update the IAR linker and archiver rules to use the `<CMAKE_LINKER>`
and `<CMAKE_AR>` placeholders instead of hard-coding the tool names.
Fixes: #22395
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
266fc8ada5 FindCUDAToolkit: Properly document the version support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6320
|
| | | | |
|
|\ \ \ \
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | | |
018d300ca0 Check*CompilerFlag: Do not set result as a normal variable too
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6318
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This was previously fixed by commit d46590910c (Check*CompilerFlag: Do
not set result as a normal variable too, 2020-09-21, v3.18.3~1^2^2), but
was regressed by refactoring in commit 90dead024c (CheckCompilerFlag:
unified way to check compiler flags per language, 2020-09-25,
v3.19.0-rc1~88^2) due to the changes being developed concurrently.
Fix it again, and add a test case.
Fixes: #21207
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In commit a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based
compilers, 2020-11-02, v3.20.0-rc1~89^2~20) we accidentally left out
activation of the C/C++ standard level selection logic when IntelLLVM is
targeting the MSVC ABI.
Fixes: #22388
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
0d54276c82 Correct CUDAToolkit_VERSION_MINOR variable name typo
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !6311
|
| | |/ /
| |/| | |
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
Update the change from commit c6aaaf066a (DetermineCompiler: Restore
identification of MSVC with no INCLUDE dirs, 2021-06-29,
v3.21.0-rc2~6^2) to also work with no `LIB` dirs. Add the `-c` flag to
compile an object file without linking.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
6ce97c2248 FujitsuClang: Change LTO option from -flto=thin to -flto
3a0effcd16 FujitsuClang: Set CMAKE_<LANG>_COMPILER_AR and CMAKE_<LANG>_COMPILER_RANLIB
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6281
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Since -flto=thin is not supported officially in FujitsuClang,
change to -flto.
|
| | | |
| | | |
| | | |
| | | | |
Fixes: #22337
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
9b53eca317 CPack/RPM: Fix weak dep support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6274
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
RPM 4.11.3 for el7 contains backported support for the RPM weak dep tags.
It only supports querying those tags, but rpmbuild can not make use of them.
Since CPack relies on rpmbuild --querytags to check for support, this
commit switches to rpm --suggests to check for support of weak
dependencies.
Fixes: #22350
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since commit bd844387df (ROCMClang: Add the ROCm toolkit derived clang
compiler to CMake, 2020-08-28, v3.21.0-rc1~66^2~6), our generated
compiler id source file contains a preprocessor condition of the form
#elif ... && __has_include(...)
When MSVC is invoked with no include directories in the `INCLUDE`
environment variable or in `-I` flags, its implementation of
`__has_include` errors out immediately. This breaks identification of
the compiler.
Work around the problem by adding a fallback attempt to compile the
identification source using a dummy include directory.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
f03d54bfc1 ASM_NASM: Do not generate depfiles with YASM
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6265
|