summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* XL: Detect default extensions mode for legacy compilerRaul Tambre2022-01-232-2/+2
| | | | | The legacy non-Clang variant seems to support a GNU-like extensions mode, which is the default. Enable detection for it.
* Merge topic 'FortranCInterface-gcc-12-lto' into release-3.22Brad King2022-01-201-0/+13
|\ | | | | | | | | | | | | 6a0ce19ce1 FortranCInterface: Fix compatibility with GCC gfortran 12 LTO Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6879
| * FortranCInterface: Fix compatibility with GCC gfortran 12 LTOBjörn Esser2022-01-191-0/+13
|/ | | | | | | | | | | | | | | | | | | Since version 12.0 the GCC Fortran compiler has implemented "WG5/N1942", which causes, if link-time opmization is enabled, obfuscation of hard-coded string values in the compiler objects and its resulting ELF-binaries. This causes the CMake-internal detection of the mangling scheme for the naming of subroutines to fail. Thus we must ensure to have any link-time optimization features to be disabled on the executable file we perform the detection on. The static libraries, however, must be build with LTO and non-LTO objects, as that will ensure the verify step will operate on IPO objects, if building those is requested by the system compiler flags. Fixes: #23123 Signed-off-by: Björn Esser <besser82@fedoraproject.org>
* Merge branch 'release-3.21' into release-3.22Brad King2022-01-130-0/+0
|\
| * Merge branch 'vs2022-v143-link-guard-cf' into release-3.21Brad King2022-01-124-7/+48
| |\ | | | | | | | | | Merge-request: !6858
* | \ Merge topic 'vs2022-v143-link-guard-cf' into release-3.22Brad King2022-01-134-7/+48
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 9e24437c91 VS: Remove the '/guard:cf' flag from v143 link flag table Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6858
| * | VS: Remove the '/guard:cf' flag from v143 link flag tableBenjamin Sluis2022-01-124-7/+48
| |/ | | | | | | | | | | | | | | | | | | | | | | Apply the change from commit db35e3cfd6 (VS: Fix support for '/guard:cf' linker flag for v142, 2019-01-24, v3.14.0-rc1~74^2~2) to the v143 flag table. The entry for `LinkControlFlowGuard` in `v143_Link.json` does not work when used in a `.vcxproj` file. Drop our link flag table entries for this toolset so that the flag will be passed via `AdditionalOptions`. Also add a test case.
* | Merge topic 'msvc-isystem' into release-3.22Brad King2022-01-122-2/+2
|\ \ | | | | | | | | | | | | | | | | | | 3a8b6653dc MSVC: Use -external:I flag without space to support Clang tools Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6855
| * | MSVC: Use -external:I flag without space to support Clang toolsBrad King2022-01-112-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit f29e1874ad (Compiler/MSVC: use the `-external:I` flag for system includes, 2020-05-19, v3.22.0-rc1~593^2) we use the new flag followed by the include directory as a separate argument. Some versions of `clang-cl` and `clang-tidy` do not support the flag unless the include directory is attached to it, so use that form instead. Fixes: #22979
* | | Merge topic 'file-READ_ELF-capture-error' into release-3.22Brad King2022-01-123-5/+29
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 41bebbe50a file: Restore error capture in undocumented READ_ELF mode Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6853
| * | file: Restore error capture in undocumented READ_ELF modeBrad King2022-01-113-5/+29
|/ / | | | | | | | | | | | | | | | | Revise the error message added by commit 115ff6a347 (cmELF: Include the ELF parsing code unconditionally, 2021-06-17, v3.22.0-rc1~557^2) to honor the `CAPTURE_ERROR` option. This is needed by the call site in `BundleUtilities` to suppress errors on non-ELF files. Fixes: #23074
* | Merge topic 'armasm-6.17' into release-3.22Brad King2022-01-071-1/+1
|\ \ | | | | | | | | | | | | | | | | | | c2777ed008 ASM: Fix identification of armasm 6.17+ Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6833
| * | ASM: Fix identification of armasm 6.17+Jukka Jalkanen2022-01-061-1/+1
|/ / | | | | | | Spelling of "ARM Compiler" changed to "Arm Compiler".
* | Merge topic 'ci-windows-no-java' into release-3.22Brad King2021-12-221-0/+1
|\ \ | | | | | | | | | | | | | | | | | | 85a07b4b49 ci: Explicitly disable Java tests on VS builds Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6826
| * | ci: Explicitly disable Java tests on VS buildsBrad King2021-12-221-0/+1
|/ / | | | | | | | | Extend the change from commit 840fa28d3d (ci: Explicitly disable Java tests on Windows, 2021-12-16) to cover VS builds too.
* | Merge topic 'FindBoost-1.78' into release-3.22Brad King2021-12-211-1/+1
|\ \ | | | | | | | | | | | | | | | | | | d45667d459 FindBoost: Do not warn about now-supported version 1.78 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6819
| * | FindBoost: Do not warn about now-supported version 1.78Brad King2021-12-201-1/+1
| | | | | | | | | | | | | | | | | | | | | In commit d176ff71c0 (FindBoost: Add support for Boost 1.78, 2021-12-15) we forgot to update the future-version check. Issue: #23016
* | | Merge topic 'FindGLUT-include-dirs' into release-3.22Brad King2021-12-202-1/+3
|\ \ \ | |/ / |/| | | | | | | | | | | | | | ae6b25d920 FindGLUT: Provide legacy GLUT_INCLUDE_DIR result in pkg-config code path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6814
| * | FindGLUT: Provide legacy GLUT_INCLUDE_DIR result in pkg-config code pathBrad King2021-12-172-1/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | Since commit f90d15458a (FindGLUT: Use pkg-config to find flags if available, 2021-06-11, v3.22.0-rc1~469^2) we return early if pkg-config provides the information. During review of that commit, code to populate the legacy `GLUT_INCLUDE_DIR` result variable was removed from that code path. Add code to provide it. Also fix the test case to use `GLUT_INCLUDE_DIR`, the result variable documented officially by the module. Fixes: #23018
* | Merge topic 'FindBoost-python-3.10' into release-3.22Brad King2021-12-171-6/+6
|\ \ | | | | | | | | | | | | | | | | | | d4bb6c0c7f FindBoost: Add support for Python 3.10 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6809
| * | FindBoost: Add support for Python 3.10Oleg Sidorkin2021-12-161-6/+6
| | | | | | | | | | | | | | | | | | | | | Regexps in FindBoost assumed that python's minor version had only one digit. That became not true for 3.10. Fixes: #23025
* | | Merge branch 'release-3.21' into release-3.22Brad King2021-12-170-0/+0
|\ \ \ | | |/ | |/|
| * | Merge branch 'vs-intel-oneapi-toolset' into release-3.21Brad King2021-12-151-5/+3
| |\ \ | | | | | | | | | | | | Merge-request: !6806
* | \ \ Merge topic 'vs-intel-oneapi-toolset' into release-3.22Brad King2021-12-171-5/+3
|\ \ \ \ | | |/ / | |/| / | |_|/ |/| | | | | | | | 612c0d49f4 VS: Fix detecting icx.exe with Intel Compiler toolsets newer than 2021 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6806
| * | VS: Fix detecting icx.exe with Intel Compiler toolsets newer than 2021William R. Dieter2021-12-151-5/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | The logic added by commit 7808cbd644 (CMakeDetermineCompilerId: support Intel DPC++ compiler toolset for VS gen, 2020-12-06, v3.20.0-rc1~330^2) matches a specific toolset known to be the `icx.exe` compiler, and assumes all other Intel C++ compilers (that are not DPC++) must be `icl.exe`. Since `icx.exe` is officially replacing `icl.exe`, use a regex that matches the now-fixed set of toolsets known to use `icl.exe`. Any other Intel C++ compiler will be assumed to be `icx.exe`. Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
* | Merge topic 'ci-windows-no-java' into release-3.22Brad King2021-12-162-1/+2
|\ \ | | | | | | | | | | | | | | | | | | 840fa28d3d ci: Explicitly disable Java tests on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6807
| * | ci: Explicitly disable Java tests on WindowsBrad King2021-12-162-1/+2
|/ / | | | | | | | | | | | | Avoid searching for a Java installation on Windows hosts. This will allow some CI hosts to have Java for other projects. We already do this on macOS. While at it, clarify the macOS setting.
* | Merge topic 'FindBoost-1.78' into release-3.22Brad King2021-12-161-2/+17
|\ \ | | | | | | | | | | | | | | | | | | d176ff71c0 FindBoost: Add support for Boost 1.78 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6804
| * | FindBoost: Add support for Boost 1.78Brad King2021-12-151-2/+17
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the list of known versions. Run the command cmake -DBOOST_DIR=/path/to/boost_1_78_0 \ -P Utilities/Scripts/BoostScanDeps.cmake to extract dependencies from the 1.78.0 source tree. The dependencies differ from those of 1.77: * The `log` component no longer depends on `date_time`. Fixes: #23016
* | Merge topic 'android-system-stl' into release-3.22Brad King2021-12-141-1/+1
|\ \ | | | | | | | | | | | | | | | | | | 38b00f8801 Android: Fix linking android_support for pre-21 system STL Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6799
| * | Android: Fix linking android_support for pre-21 system STLRyan Prichard2021-12-131-1/+1
|/ / | | | | | | | | | | | | This typo was introduced in commit 4dca078829 (Android: Link c++abi and android_support when necessary, 2020-10-29, v3.20.0-rc1~541^2). Fixes: #23004
* | Merge topic 'python3.11-support' into release-3.22Brad King2021-12-083-3/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | 43844c5d82 FindPython: Add support for Python 3.11 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Marc Chevrier <marc.chevrier@gmail.com> Merge-request: !6792
| * | FindPython: Add support for Python 3.11Tomáš Hrnčiar2021-12-073-3/+3
|/ /
* | CMake 3.22.1v3.22.1Brad King2021-12-071-1/+1
| |
* | Merge topic 'rel-macos-sign-notarize' into release-3.22Brad King2021-12-071-0/+118
|\ \ | | | | | | | | | | | | | | | | | | bed4b1583e Utilities/Release: Add script to sign/notarize macOS application bundle Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6784
| * | Utilities/Release: Add script to sign/notarize macOS application bundleBrad King2021-12-061-0/+118
| | | | | | | | | | | | | | | | | | | | | We produce macOS binaries for `cmake.org` using GitLab CI jobs. Binaries for official releases are additionally signed and notarized manually by a maintainer with suitable signing certificates and Apple developer account credentials. Add a script to drive these steps.
* | | Merge topic 'makefile-CMAKE_EXPORT_COMPILE_COMMANDS-HIP' into release-3.22Brad King2021-12-071-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | b59f7600c4 HIP: Enable CMAKE_EXPORT_COMPILE_COMMANDS for HIP Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6789
| * | | HIP: Enable CMAKE_EXPORT_COMPILE_COMMANDS for HIPBrad King2021-12-071-1/+1
| | | | | | | | | | | | | | | | Fixes: #22986
* | | | Merge topic 'lib-arch-no-usr' into release-3.22Brad King2021-12-079-1/+125
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | d4ba945c48 CMakeParseLibraryArchitecture: Fix parsing /lib/<arch> implicit object path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6790
| * | | CMakeParseLibraryArchitecture: Fix parsing /lib/<arch> implicit object pathRaphael Gozzo2021-12-069-1/+125
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current regular expression is able to match `/usr/lib/<arch>`, `/usr/usr/lib/<arch>`, `/usr/usr/usr/lib/<arch>`, ... but not `/lib/<arch>`. This behavior ends up causing the detected architecture to be x86_64-pc-linux-gnu when the Clang compiler is installed on a "non-system" location (like /opt/llvm-13) which, in turn, makes almost every 'find_library()' fail because the correct architecture is x86_64-linux-gnu. This is due to a typo in commit 764606e256 (CMakeDetermineCompilerABI: Extract lib arch from implicit object file paths, 2021-04-05, v3.20.1~10^2), which used `+` instead of `?`.
* | | Merge topic 'ci-vs-managed' into release-3.22Brad King2021-12-061-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 69419c5870 ci: Enable more VS tests that use managed code Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6782
| * | ci: Enable more VS tests that use managed codeBrad King2021-12-031-1/+1
|/ / | | | | | | | | | | | | A couple of VS tests were conditioned on `NOT CMAKE_GENERATOR_TOOLSET`, but in CI jobs with VS we always set `CMAKE_GENERATOR_TOOLSET`. Make the condition specific to excluding the `v90` toolset, which was its original intention anyway.
* | Merge topic 'vs-csproj-scripts' into release-3.22Brad King2021-12-037-26/+25
|\ \ | | | | | | | | | | | | | | | | | | 13a7ae2194 VS: Revert "Add missing label in C# project-build events" Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6781
| * | VS: Revert "Add missing label in C# project-build events"Brad King2021-12-027-26/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit b284a21fee (VS: Add missing label in C# project-build events, 2021-09-03, v3.22.0-rc1~156^2). The change broke cases using multiple successful custom commands. Revert it pending further investigation into the interaction of the generated script code with `Microsoft.Common.CurrentVersion.targets`, and whether this is needed for all managed projects or just C# projects. Also add a test covering the case that was broken. Fixes: #22964 Issue: #21440
* | | Merge topic 'FindPkgConfig-pkgconf' into release-3.22Brad King2021-12-031-1/+1
|\ \ \ | |/ / |/| | | | | | | | | | | | | | 90a49647e9 FindPkgConfig: Restore finding pkg-config before pkgconf Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6780
| * | FindPkgConfig: Restore finding pkg-config before pkgconfBrad King2021-12-021-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | Since commit 94a84dc0af (FindPkgConfig: add pkgconf to the search list., 2021-07-02, v3.22.0-rc1~468^2), `pkgconf` is preferred over `pkg-config` if they appear in the same directory. In some environments, `pkg-config` may be a wrapper that adds semantics beyond either `pkgconf` or the normal `pkg-config`. Prefer `pkg-config` over `pkgconf` in order to preserve the prior behavior in such environments. Fixes: #22976
* | Merge topic 'FindPython-static-libs-hint' into release-3.22Brad King2021-12-023-0/+15
|\ \ | | | | | | | | | | | | | | | | | | a35bf772de FindPython: clarify static libraries hint usage Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6772
| * | FindPython: clarify static libraries hint usageMarc Chevrier2021-12-013-0/+15
| | | | | | | | | | | | Fixes: #22956
* | | Merge topic 'rpath-unrecognized-format' into release-3.22Brad King2021-12-0213-4/+85
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 643fc46bdc file(RPATH): Restore tolerance of unknown formats if new RPATH is empty 5596cba7dc cmSystemTools: Remove unnecessary mark-as-used casts to void Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6779
| * | file(RPATH): Restore tolerance of unknown formats if new RPATH is emptyBrad King2021-12-0113-2/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 2e1149874d (cmSystemTools: Support multiple binary formats, 2021-06-14, v3.22.0-rc1~575^2) the `file(RPATH_...)` operations fail on files that are not ELF or XCOFF format. Previously the RPATH operations tolerated files of unknown format if the goal was to produce a file with an empty RPATH. Restore this tolerance in order to support setting an empty RPATH on GNU ld scripts. Fixes: #22963