- Mar 04, 2022
-
-
Brad King authored
- Mar 03, 2022
-
-
Brad King authored
Merge-request: !7041
-
Since commit 880ca66b (Fix: `while()` can silently ignore incorrect condition, 2021-08-09, v3.22.0-rc1~238^2~4) we correctly reject the code set(paren "(") while(${paren}) endwhile() However, rejecting it breaks compatibility with projects that used such code accidentally. In CMake 3.21 and below, any error in the condition was ignored because the `false` result exited the loop first. Restore tolerance of the error for now. A policy will be needed to make it an error later. Note that the same condition with `if` was always correctly rejected. Fixes: #22524 Issue: #23296 Co-authored-by:
Brad King <brad.king@kitware.com>
-
Brad King authored
-
Brad King authored
-
Brad King authored
Merge-request: !7039
-
Brad King authored
Merge-request: !7039
-
Brad King authored
Since commit cf82300a (BinUtils: Clarify search logic and make it more consistent, 2021-05-27, v3.21.0-rc1~119^2~2) we correctly prefer the more-specific name `llvm-ar` over `ar` when using Clang. However, on Apple platforms, `llvm-ar` does not generate a symbol table that the Apple linker accepts. Fall back to `ar` on Apple platforms. Fixes: #23269
-
- Feb 28, 2022
-
-
Brad King authored
-
Brad King authored
Merge-request: !7025
-
Brad King authored
Merge-request: !7025
-
Brad King authored
Revert commit 5efb6fb5 (FindThreads: Honor THREADS_PREFER_PTHREAD_FLAG when pthread is found in libc, 2021-11-03, v3.21.5~4^2). The check for the `-pthread` flag can pass on compilers like XL, that interprets it as `-p -t hread` and returns zero. Prior to that commit, we did not use the check in the `CMAKE_HAVE_LIBC_PTHREAD` code path. Now we do, it succeeds, and we incorrectly add the `-pthread` flag for XL. This change was backported to the 3.21 and 3.22 release series long after they initially came out. Since there may be more cases where we now add `-pthread` incorrectly, it is simplest to revert the change in all release series pending further investigation. Fixes: #23270
-
- Feb 17, 2022
- Feb 15, 2022
-
-
Brad King authored
Merge-request: !6985
-
Since commit f90d1545 (FindGLUT: Use pkg-config to find flags if available, 2021-06-11, v3.22.0-rc1~469^2), the `GLUT_LIBRARIES` may come from `pkg-config`, in which case they may be `-l` flags instead of absolute paths. Propagate `GLUT_LIBRARY_DIRS` to GLUT::GLUT too. Fixes: #23229
-
- Feb 14, 2022
- Feb 09, 2022
-
-
In commit 55e4753b (Refactor cmTargetExport removing InterfaceIncludeDirecories, 2021-07-20, v3.22.0-rc1~337^2~1) the storage of `INCLUDES DESTINATION` was moved into each target. However, a target may be installed in multiple exports, and their `INCLUDES DESTINATION` should not be mixed. Convert the IncludeDirectoriesEntries vector to a map and modify access function to store the directories lists with respect to cmExportTarget object. This fixes error when the same target is exported more than once via different exports and each for consequent export its include directories list grows. Add a test for this case. Fixes: #23183
-
Brad King authored
-
Brad King authored
Merge-request: !6964
-
In commit a90d2a9e (IntelLLVM: Add support for Intel LLVM-based compilers, 2020-11-02, v3.20.0-rc1~89^2~20) the IntelLLVM depfile generation flags were taken from `Platform/Windows-Intel-C`. Those flags were added by commit a624a3e1 (Ninja: Use deps=gcc for Intel Compiler on Windows, 2019-01-30, v3.14.0-rc1~30^2), which forgot to account for commit 6d74e787 (Ninja: Add dependencies on system-provided header files, 2016-03-15, v3.6.0-rc1~265^2). The `-QMD` option generates Makefile dependencies. The `-QMMD` option generates Makefile dependencies, but excludes system header files. Part of the BuildDepends test includes a header, cmake_pch.hxx, that includes a second header, zot_pch.hxx. The test builds a pch file for cmake_pch.hxx, touches zot_pch.hxx, then verifes that cmake_pch.hxx.pch is regenerated based on the dependencies. The cmake_pch.hxx contains `#pragma system_header` before it includes zot_pch.hxx. `#pragma system_header` indicates that the portion of the file following the pragma is to be treated as a system header. When `-QMMD` is used to generate dependencies, the `#include` of zot_pch.hxx is ignored because it `-QMMD` says to ignore system headers. Using `-QMD` instead uses all headers when generating dependencies and causes this test to pass. The Clang configuration in Platform/Windows-Clang.cmake also uses the `-MD` option for generating pre-compiled headers, instead of `-MMD`. Signed-off-by:
William R. Dieter <william.r.dieter@intel.com>
-
Brad King authored
Merge-request: !6966
-
Brad King authored
Merge-request: !6966
-
This was accidentally left out of commit f01ea7e3 (MSVC: Fix MSVC_TOOLSET_VERSION for VS 2022 v143 toolset, 2019-04-03, v3.21.3~10^2~1).
-
- Feb 08, 2022
- Feb 03, 2022
-
-
Brad King authored
In commit fc3a1cbd (CompilerID: Compiler extensions default detection, 2021-05-29, v3.22.0-rc1~52^2~2), extensions were assumed to be `OFF` for Clang targeting the MSVC ABI. However, the `clang` and `clang++` tools both seem to have extensions enabled by default even when targeting the MSVC ABI. This can be observed with the `RunCMake.CompileFeatures` test. It fails with the GNU-like `clang/clang++` front-end, but removing the above special case makes it pass. The test passes either way with the MSVC-like `clang-cl` front-end.
- Feb 01, 2022
-
-
Brad King authored
-
Brad King authored
Merge-request: !6927
-
Brad King authored
-
34d26327 Help: Drop incorrect versionadded for try_compile result variable Acked-by:
Kitware Robot <kwrobot@kitware.com> Merge-request: !6923
-
- Jan 31, 2022
-
-
Brad King authored
-