Commit Graph

59491 Commits

Author SHA1 Message Date
Brad King 128c414a56 Help: Clarify compilers affected by MSVC ABI abstractions
The `MSVC_DEBUG_INFORMATION_FORMAT` and `MSVC_RUNTIME_LIBRARY`
abstractions apply to any compilers targeting the MSVC ABI.

Fixes: #24137
2022-11-07 10:47:15 -05:00
Brad King 7c52e9e951 Merge topic 'tasking-pic' into release-3.25
7e612977b9 Tasking: Fix PIC option for Tasking Toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Christoph Seitz <christoph.seitz@posteo.de>
Merge-request: !7862
2022-11-04 11:28:23 -04:00
Brad King 6a999992df Merge topic 'vs-default-toolset' into release-3.25
c50df859c5 VS: Restore support for two-part default toolset version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7864
2022-11-04 11:26:59 -04:00
Brad King 392f53c022 Merge branch 'release-3.24' into release-3.25 2022-11-04 11:24:54 -04:00
Brad King 8ad7e55308 Merge topic 'ci-xcode-14.1' into release-3.25
0d3d687067 gitlab-ci: update macOS jobs to use Xcode 14.1
9684a589ca Source: Replace uses of sprintf with safer snprintf in CMake 3.24 branch
eea23d21a3 Source: Tell Git not to check whitespace in third-party curses form code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7863
2022-11-04 11:24:19 -04:00
Brad King 2780c3c683 Merge branch 'ci-xcode-14.1' into release-3.24
Merge-request: !7863
2022-11-03 12:02:05 -04:00
Brad King 0d3d687067 gitlab-ci: update macOS jobs to use Xcode 14.1 2022-11-03 11:58:31 -04:00
Sean McBride 9684a589ca Source: Replace uses of sprintf with safer snprintf in CMake 3.24 branch
Backport commit d5694e4623 (Source: Replace uses of sprintf with safer
snprintf, 2022-06-17, v3.25.0-rc1~587^2) to the CMake 3.24 branch. This
is needed to compile without warnings using Xcode 14.1's macOS 13.0 SDK.
2022-11-03 11:58:31 -04:00
Brad King eea23d21a3 Source: Tell Git not to check whitespace in third-party curses form code 2022-11-03 11:58:30 -04:00
Brad King c50df859c5 VS: Restore support for two-part default toolset version
Since commit f972e4fd3a (cmVSGenerator: Add support for two-part toolset
versions for Visual Studio, 2022-09-01, v3.25.0-rc1~180^2), if a
two-part toolset version is requested, we fail early if globbing finds
no auxiliary toolsets with that version.  This broke our existing
support for detecting when the default toolset matches the two-part
version requested.  Fix the logic to ignore the two-part globbing
results if they are empty so we fall through to checking the default
version.

Fixes: #24107
2022-11-03 11:39:30 -04:00
Gordon Jess 7e612977b9 Tasking: Fix PIC option for Tasking Toolset
Fixes: #24114
2022-11-03 08:57:20 -04:00
Brad King 48ed0f8a1c Merge topic 'ci-swift-5.7' into release-3.25
48ea2ce504 ci: Update debian10-ninja job to use Swift 5.7.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7860
2022-11-03 08:19:03 -04:00
Brad King 32352abbd1 Merge topic 'correct_nvptxcompiler_not_linking_to_threads' into release-3.25
62f13ed588 FindCUDAToolkit: Restore usage from multiple directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7859
2022-11-03 08:15:12 -04:00
Brad King 083b319822 Merge topic 'xcode-swift-include-dirs' into release-3.25
cb4e6702b2 Xcode: Implement Swift include directories
e1ccab12d7 Xcode: Restore Swift framework search directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7858
2022-11-03 08:14:14 -04:00
Brad King cb4e6702b2 Xcode: Implement Swift include directories
Populate Xcode's `SWIFT_INCLUDE_PATHS` build setting with the
target-wide include directories.

Issue: #24116
2022-11-02 17:03:21 -04:00
Brad King e1ccab12d7 Xcode: Restore Swift framework search directories
Previously we selected a single "language for preprocessor" with which
to compute both target-wide `GCC_PREPROCESSOR_DEFINITIONS` and
`{HEADER,FRAMEWORK}_SEARCH_PATHS`.  Since commit c0dd3dd2c1 (Xcode:
Evaluate Swift compile definitions separately, 2022-10-25,
v3.25.0-rc3~16^2) we never compute `GCC_PREPROCESSOR_DEFINITIONS` for
Swift.  Therefore we need to select the language for target-wide include
and framework directories separately.

Fixes: #24116
2022-11-02 16:57:36 -04:00
Brad King 4daf4c3aa9 Merge topic 'IAR-CXX-fix' into release-3.25
73e84a392b IAR: Restore support for CMAKE_CXX_FLAGS_INIT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7857
2022-11-02 13:36:47 -04:00
Brad King 48ea2ce504 ci: Update debian10-ninja job to use Swift 5.7.1 2022-11-02 13:28:52 -04:00
Robert Maynard 62f13ed588 FindCUDAToolkit: Restore usage from multiple directories
Fixes #24119
2022-11-02 12:23:30 -04:00
Daniel Schürmann 73e84a392b IAR: Restore support for CMAKE_CXX_FLAGS_INIT
Prior to commit a9073db736 (IAR: update language specification
detection, 2021-09-23, v3.22.0-rc1~83^2) the `--c++`/`--eec++` flags
were stored in `CMAKE_IAR_CXX_FLAG` so that they would be used as part
of the `CMAKE_CXX_COMPILE_OBJECT` rule variable.  That commit moved the
flags to `CMAKE_CXX_FLAGS`, which also broke initialization of
`CMAKE_CXX_FLAGS` from `CMAKE_CXX_FLAGS_INIT`.  Restore the original
approach.

Fixes: #24111
2022-11-01 14:59:24 -04:00
Brad King b45f9b3643 CMake 3.25.0-rc3 v3.25.0-rc3 2022-11-01 13:10:48 -04:00
Brad King 1527534548 Merge branch 'release-3.24' into release-3.25 2022-11-01 12:58:26 -04:00
Brad King c974557598 CMake 3.24.3 v3.24.3 2022-11-01 10:55:49 -04:00
Brad King 2c5760ac2c Merge branch 'release-3.24' into release-3.25 2022-11-01 10:40:42 -04:00
Brad King d697bbd03d Merge branch 'release-3.23' into release-3.24 2022-11-01 10:40:34 -04:00
Brad King 91ccfa3302 CMake 3.23.5 v3.23.5 2022-11-01 09:36:33 -04:00
Brad King d0787f710d Merge topic 'update-curl' into release-3.25
25e9f31878 curl: Set build options the way we need for CMake
9ffe6b0969 Merge branch 'upstream-curl' into update-curl
ec122fff08 curl 2022-10-26 (cd95ee9f)
fa9bbb8627 curl: Update script to get curl 7.86.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7851
2022-11-01 08:54:56 -04:00
Brad King 033ab3f11b Merge topic 'cmp0141-pch-reuse' into release-3.25
183b9a9eca CMP0141: Fix PCH REUSE_FROM under policy NEW behavior
4d13f472a2 Tests: Drop redundant project init from RunCMake.PrecompileHeaders cases
2e65fe92db cmLocalGenerator: Clarify name of local PDB type variable
17096aeba8 cmLocalGenerator: Factor out helper to compute MSVC_DEBUG_INFORMATION_FORMAT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7854
2022-11-01 08:53:50 -04:00
Brad King 4d522e7411 Merge topic 'FindCUDAToolkit-nvptxcompiler-static-deps' into release-3.25
301815eb62 FindCUDAToolkit: Add nvptxcompiler_static dependency on Threads::Threads

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7853
2022-11-01 08:52:37 -04:00
Brad King 25e9f31878 curl: Set build options the way we need for CMake 2022-10-31 16:12:43 -04:00
Brad King 9ffe6b0969 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2022-10-26 (cd95ee9f)
2022-10-31 16:11:41 -04:00
Curl Upstream ec122fff08 curl 2022-10-26 (cd95ee9f)
Code extracted from:

    https://github.com/curl/curl.git

at commit cd95ee9f771361acf241629d2fe5507e308082a2 (curl-7_86_0).
2022-10-31 16:11:01 -04:00
Brad King fa9bbb8627 curl: Update script to get curl 7.86.0 2022-10-31 16:10:39 -04:00
Brad King 183b9a9eca CMP0141: Fix PCH REUSE_FROM under policy NEW behavior
Under the CMP0141 NEW behavior added by commit 0e96a20478 (MSVC: Add
abstraction for debug information format, 2022-08-25, v3.25.0-rc1~142^2~1),
the `-Zi` and `-ZI` flags do not appear in `CMAKE_<LANG>_FLAGS_<CONFIG>`
anymore.  Teach the PCH REUSE_FROM implementation to recognize the
`EditAndContinue` and `ProgramDatabase` debug information formats
through the policy's new abstraction.

Fixes: #24106
2022-10-31 12:19:06 -04:00
Brad King 4d13f472a2 Tests: Drop redundant project init from RunCMake.PrecompileHeaders cases
The `CMakeLists.txt` file already calls `cmake_minimum_required` and
`project` before including each case's code.
2022-10-31 12:17:29 -04:00
Brad King 2e65fe92db cmLocalGenerator: Clarify name of local PDB type variable 2022-10-31 12:16:54 -04:00
Brad King 17096aeba8 cmLocalGenerator: Factor out helper to compute MSVC_DEBUG_INFORMATION_FORMAT 2022-10-31 12:16:45 -04:00
Robert Maynard 301815eb62 FindCUDAToolkit: Add nvptxcompiler_static dependency on Threads::Threads 2022-10-31 11:48:09 -04:00
Brad King c8f3ba7214 Merge topic 'file-download-log-with-hash' into release-3.25
d78671879b file(DOWNLOAD): Fix LOG with EXPECTED_HASH on download failure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7848
2022-10-31 09:47:18 -04:00
Brad King 628d1c3396 Merge topic 'ArchLinux-lib-dir' into release-3.25
988b9928e4 Linux: Avoid finding libraries using lib64 on ArchLinux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Felix Yan <felixonmars@archlinux.org>
Merge-request: !7849
2022-10-31 09:46:18 -04:00
Brad King bb171688c9 Merge topic 'vs-dotnetsdk-arm64' into release-3.25
9a0ca7df67 Tests: Fix RunCMake.VsDotnetSdk with VS >= 17.3 on ARM64

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7842
2022-10-31 09:45:12 -04:00
Brad King d69b77a9ca Merge topic 'ninja-showIncludes-encoding' into release-3.25
a0d4e3bf34 cmGeneratedFileStream: Drop unused WriteRaw method
2e5af30ce0 Ninja: Match showIncludes dependencies using console output code page
e1c1679148 cm_codecvt: Add support for the Windows console output code page
328c15189d cmGeneratedFileStream: Add support for a temporary alternate encoding

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7845
2022-10-31 09:44:11 -04:00
Brad King 290687c3b4 Merge topic 'xcode-obj-dir' into release-3.25
024e3d2bf6 Xcode: Put object files in a place that Xcode cleans

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7843
2022-10-31 09:42:28 -04:00
Letu Ren 988b9928e4 Linux: Avoid finding libraries using lib64 on ArchLinux
ArchLinux uses `/lib` for 64-bit libraries and there is no `/lib64`.
However, unlike Debian, 32-bit libraries are in `/lib32`.
2022-10-30 08:52:59 -04:00
Aurelien Regat-Barrel d78671879b file(DOWNLOAD): Fix LOG with EXPECTED_HASH on download failure
When `file(DOWNLOAD <url> EXPECTED_HASH <hash> LOG <logs>)` fails to
download the requested file, the hash check will also fail and make the
command exit without actually returning the curl logs as requested
by the `LOG` argument.  Report the log before checking the hash.

Issue: #24093
2022-10-30 08:42:19 -04:00
Brad King a0d4e3bf34 cmGeneratedFileStream: Drop unused WriteRaw method
It has been superseded by `WriteAltEncoding`.
2022-10-30 08:31:35 -04:00
Brad King 2e5af30ce0 Ninja: Match showIncludes dependencies using console output code page
Generalize the fix from commit 37a279f8d1 (Ninja: Write msvc_deps_prefix
as UTF-8 when console codepage is UTF-8, 2020-07-31, v3.19.0-rc1~349^2).
`cl /showIncludes` output is encoded using the console output code page,
so this is the byte sequence that Ninja must use to match its lines.

Fixes: #24068
2022-10-30 08:29:55 -04:00
Brad King e1c1679148 cm_codecvt: Add support for the Windows console output code page
This is distinct from the Windows ANSI code page.
2022-10-28 20:23:25 -04:00
Brad King 328c15189d cmGeneratedFileStream: Add support for a temporary alternate encoding
The Ninja generator needs to be able to write some file content in a
different encoding than the rest of the file.  Add a method to do this.
2022-10-28 20:23:25 -04:00
Brad King 024e3d2bf6 Xcode: Put object files in a place that Xcode cleans
Since commit dc5fc898f6 (Xcode: Set object file locations using
TARGET_TEMP_DIR, 2022-09-29, v3.25.0-rc1~64^2~1), `xcodebuild clean`
does not remove the object files in our explicit `TARGET_TEMP_DIR`
because it is not under the `SYMROOT`.  Put it there.

Fixes: #24096
2022-10-28 15:38:07 -04:00