- Jul 26, 2021
-
-
The fix from commit eafe740e (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
-
- Jul 23, 2021
-
-
Jean-Marc Hengen authored
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
-
- Jul 21, 2021
-
-
Raul Tambre authored
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.
-
- Jul 20, 2021
-
- Jul 19, 2021
-
- Jul 15, 2021
-
-
Brad King authored
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.
-
Brad King authored
-
Brad King authored
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
-
- Jul 14, 2021
-
-
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).
-
- Jul 12, 2021
-
-
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
-
Brad King authored
Logic added by commit 4c74c86f (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 2c9e623e (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
-
- Jul 09, 2021
-
-
Clang does not define `__STDC__` if in MSVC compatibility mode, but does define `__STDC_VERSION__`. Avoid the fallback for this combination. This backports commit 7596d8b9 (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 5115dd1e (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.
-
- Jul 08, 2021
-
-
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
-
This was previously fixed by commit d4659091 (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 90dead02 (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
-
- Jul 07, 2021
-
-
Robert Maynard authored
-
- Jul 06, 2021
-
-
Robert Maynard authored
-
- Jul 01, 2021
-
- Jun 29, 2021
-
-
Brad King authored
Since commit bd844387 (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.
-
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 -flto=thin is not supported officially in FujitsuClang, change to -flto.
-
Fixes: #22337
-
- Jun 25, 2021
-
-
Gregor Jasny authored
In 3aec2666 (Merge topic 'nasm_add_deps', 2021-03-03) the ASM_NASM language enabled the generation of GCC compatible depfiles for NASM. Unfortunatly, those are not supported by YASM. Fixes: #22341
-
- Jun 24, 2021
-
-
Fixes: #22155
-
Fixes: #22332
-
-
- Jun 22, 2021
-
-
This is implemented by other languages, and is documented for all languages. This was accidentally left out of CUDA.
-
- Jun 20, 2021
-
-
Craig Scott authored
In 5e941a54 (ExternalProject: Ensure git fetch if updating to hash we don't have yet, 2021-05-09), the form ${ref}^{commit} was used to ensure the ref was treated as a commit. When running under a MSYS2 or Cygwin shell, the {commit} part can be translated by the shell, leaving it as ${ref}^commit, which git doesn't understand. Use the equivalent but safer form ${ref}^0, since it won't be subject to the shell substitution issue. Fixes: #22299
-
- Jun 18, 2021
-
-
Fixes: #22318
-
If a project or user sets a variable or cache entry named `C`, `CXX`, `CUDA`, `Fortran`, `CSharp`, or `ISPC`, we were previously comparing each enabled language name 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 in commit bd16a985 (CompilerId/Features: Tolerate variables named for languages, 2021-04-28) in more places. In particular, ensure that we consider the proper list of compiler ids. Issue: #22125
-
- Jun 17, 2021
-
-
Marc Aldorasi authored
-
- Jun 16, 2021
-
- Jun 14, 2021
-
-
`if()` takes the condition as a list of arguments. Parentheses need to be separated as well. Fixes: #22303
-
- Jun 11, 2021
-
-
Gregor Jasny authored
Issue: #22297
-