summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'irsl-oneapi-linux' into release-3.22Brad King2022-03-091-0/+1
|\ | | | | | | Merge-request: !7057
| * IRSL: Add paths for Intel oneAPI compilers on LinuxAttila Krasznahorkay2022-03-091-0/+1
|/ | | | | | | | | | | | They are stored in a slightly different place with oneAPI than they used to be in PSXE. A similar change was made for Windows by commit 956160bb9a (IRSL: Fix search for Windows redist files with Intel Classic compiler, 2021-09-23, v3.22.0-rc1~88^2), which left a comment about the locations relative to the Classic and oneAPI compilers. Fixes: #23310
* Merge branch 'release-3.21' into release-3.22Brad King2022-03-080-0/+0
|\
| * Merge branch 'binutils-llvm-mt' into release-3.21Brad King2022-03-081-1/+2
| |\ | | | | | | | | | Merge-request: !7054
* | \ Merge branch 'binutils-llvm-mt' into release-3.22Brad King2022-03-081-1/+2
|\ \ \ | | |/ | |/| | | | Merge-request: !7054
| * | BinUtils: Avoid llvm-mt because it is missing 'mt' features we useBrad King2022-03-081-1/+2
| |/ | | | | | | | | | | | | | | | | | | Since commit cf82300a63 (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-mt` over `mt` when using Clang. However, the `llvm-mt` tool does not yet support all the flags we need in the implementation of `vs_link_{exe,dll}`. Prefer plain `mt` for now. Fixes: #23305
* | Merge branch 'FindMatlab-minver' into release-3.22Brad King2022-03-071-0/+1
|\ \ | | | | | | | | | Merge-request: !7047
| * | FindMatlab: Fix logic error when minimum version is not foundMichael Hirsch2022-03-071-0/+1
|/ / | | | | | | | | | | | | | | | | Fix logic added by commit 7fdd5128b1 (FindMatlab: Fix version selection if a version is given, 2021-07-02, v3.22.0-rc1~66^2). Ensure that `_list_index` is always initialized to -1, akin to `list(FIND)` not finding a match. Issue: #22377
* | CMake 3.22.3v3.22.3Brad King2022-03-042-1/+10
| |
* | Merge branch 'release-3.21' into release-3.22Brad King2022-03-041-3/+3
|\ \ | |/
| * CMake 3.21.6v3.21.6Brad King2022-03-042-4/+4
| |
* | Merge branch 'while-bug-compatibility' into release-3.22Brad King2022-03-037-27/+20
|\ \ | | | | | | | | | Merge-request: !7041
| * | while: Restore tolerance of condition errorAlex Turbov2022-03-035-12/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 880ca66b51 (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>
| * | Tests: Simplify RunCMake.{if,while} unbalanced parenthesis casesBrad King2022-03-034-16/+11
| | |
* | | Merge branch 'release-3.21' into release-3.22Brad King2022-03-030-0/+0
|\ \ \ | | |/ | |/|
| * | Merge branch 'binutils-llvm-ar-clang-macos' into release-3.21Brad King2022-03-031-1/+4
| |\ \ | | | | | | | | | | | | Merge-request: !7039
* | \ \ Merge branch 'binutils-llvm-ar-clang-macos' into release-3.22Brad King2022-03-031-1/+4
|\ \ \ \ | | |/ / | |/| / | |_|/ |/| | Merge-request: !7039
| * | BinUtils: Avoid llvm-ar on Apple platformsBrad King2022-03-031-1/+4
| |/ | | | | | | | | | | | | | | | | | | Since commit cf82300a63 (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
* | Merge branch 'release-3.21' into release-3.22Brad King2022-02-280-0/+0
|\ \ | |/
| * Merge branch 'FindThreads-revert-libc-pthread-flag' into release-3.21Brad King2022-02-281-11/+8
| |\ | | | | | | | | | Merge-request: !7025
* | \ Merge branch 'FindThreads-revert-libc-pthread-flag' into release-3.22Brad King2022-02-281-11/+8
|\ \ \ | | |/ | |/| | | | Merge-request: !7025
| * | FindThreads: Revert "Honor THREADS_PREFER_PTHREAD_FLAG when ... in libc"Brad King2022-02-281-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 5efb6fb516 (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
* | | Merge branch 'test-qt-disable' into release-3.22Brad King2022-02-171-4/+8
|\ \ \ | | | | | | | | | | | | Merge-request: !6998
| * | | Tests: Add missing guards on Qt4 and Qt5 testsBrad King2022-02-171-4/+8
|/ / / | | | | | | | | | | | | | | | | | | | | | Add missing `CMake_TEST_Qt{4,5}` conditions on Qt4 an Qt5 tests. Configuring CMake with `-DCMake_TEST_Qt5=OFF` should prevent any attempt to search for Qt5. Fixes: #23239
* | | Merge branch 'FindGLUT-link-dirs' into release-3.22Brad King2022-02-151-0/+3
|\ \ \ | | | | | | | | | | | | Merge-request: !6985
| * | | FindGLUT: Use link directories for libs from pkg-configSilvio Traversaro2022-02-151-0/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | Since commit f90d15458a (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
* | | Merge branch 'FindMatlab-mcr911' into release-3.22Brad King2022-02-141-1/+1
|\ \ \ | | | | | | | | | | | | Merge-request: !6976
| * | | FindMatlab: Fix version detection for MCR >= 9.10Tom M2022-02-141-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | Recent MCR versions have the following `VersionInfo.xml`: <version>9.11.0.1837725</version> Fix parsing of multiple digits in the version components so that we do not mistake this for version `9.1`.
* | | Merge branch 'restore-target-export-includes' into release-3.22Brad King2022-02-1411-13/+71
|\ \ \ | | | | | | | | | | | | Merge-request: !6969
| * | | install(TARGETS): Restore per-export INCLUDES DESTINATIONEugene Shalygin2022-02-0911-13/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 55e4753bbb (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
* | | | Merge branch 'release-3.21' into release-3.22Brad King2022-02-090-0/+0
|\ \ \ \ | | |_|/ | |/| |
| * | | Merge branch 'backport-IntelLLVM-depfile-flags' into release-3.21Brad King2022-02-093-3/+3
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !6964
| * \ \ \ Merge branch 'doc-MSVC_TOOLSET_VERSION-v143' into release-3.21Brad King2022-02-091-0/+1
| |\ \ \ \ | | |_|_|/ | |/| | | | | | | | Merge-request: !6966
* | | | | Merge branch 'backport-IntelLLVM-depfile-flags' into release-3.22Brad King2022-02-093-3/+3
|\ \ \ \ \ | | |_|/ / | |/| | | | | | | | Merge-request: !6964
| * | | | IntelLLVM: Add dependencies on system header files on WindowsWilliam R. Dieter2022-02-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit a90d2a9eed (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 a624a3e1b3 (Ninja: Use deps=gcc for Intel Compiler on Windows, 2019-01-30, v3.14.0-rc1~30^2), which forgot to account for commit 6d74e7870b (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>
| * | | | Intel: Add dependencies on system header files on WindowsBrad King2022-02-092-2/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | In commit a624a3e1b3 (Ninja: Use deps=gcc for Intel Compiler on Windows, 2019-01-30, v3.14.0-rc1~30^2) we forgot to account for commit 6d74e7870b (Ninja: Add dependencies on system-provided header files, 2016-03-15, v3.6.0-rc1~265^2).
* | | | Merge branch 'doc-MSVC_TOOLSET_VERSION-v143' into release-3.22Brad King2022-02-091-0/+1
|\ \ \ \ | | |/ / | |/| / | |_|/ |/| | Merge-request: !6966
| * | Help: Add MSVC_TOOLSET_VERSION value for v143 toolsetHeiko Thiel2022-02-091-0/+1
| |/ | | | | | | | | | | This was accidentally left out of commit f01ea7e391 (MSVC: Fix MSVC_TOOLSET_VERSION for VS 2022 v143 toolset, 2019-04-03, v3.21.3~10^2~1).
* | Merge branch 'FindGSL-version-regex' into release-3.22Brad King2022-02-081-1/+1
|\ \ | | | | | | | | | Merge-request: !6960
| * | FindGSL: Improve version extraction regexمهدي شينون (Mehdi Chinoune)2022-02-081-1/+1
|/ / | | | | | | | | | | | | Backport commit 58f2708b90 (FindGSL: Improve version extraction regex, 2021-12-17) to the CMake 3.22 branch. Fixes: #23017
* | Merge branch 'default-extensions' into release-3.22Brad King2022-02-033-7/+4
|\ \ | | | | | | | | | Merge-request: !6949
| * | CompilerId: Fix default extensions check for Clang targeting MSVC ABIBrad King2022-02-033-7/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | | | In commit fc3a1cbdd8 (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.
* | Merge branch 'release-3.21' into release-3.22Brad King2022-02-011-0/+7
|\ \ | |/
| * CMake 3.21.5v3.21.5Brad King2022-02-012-1/+8
| |
* | Merge branch 'ci-assertions' into release-3.22Brad King2022-02-012-0/+5
|\ \ | | | | | | | | | Merge-request: !6927
| * | gitlab-ci: enable assertions on fedora34-ninja jobsBrad King2022-01-312-0/+5
| | | | | | | | | | | | | | | | | | | | | We should have at least one CI job in merge request pipelines that builds CMake with assertions enabled. We avoid using the `Debug` configuration in order to keep CI artifacts small, so instead use the `Release` configuration without `-DNDEBUG`.
* | | Merge branch 'release-3.21' into release-3.22Brad King2022-02-010-0/+0
|\ \ \ | | |/ | |/|
| * | Merge branch 'release-3.20' into release-3.21Brad King2022-01-310-0/+0
| |\ \
| | * \ Merge branch 'help-try-compile-result-var' into release-3.20Brad King2022-01-312-13/+0
| | |\ \ | | | | | | | | | | | | | | | Merge-request: !6923
| * | \ \ Merge branch 'help-try-compile-result-var' into release-3.21Brad King2022-01-312-13/+0
| |\ \ \ \ | | | |/ / | | |/| | | | | | | Merge-request: !6923