summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.25.1v3.25.1Brad King2022-11-301-1/+1
|
* Fortran: Restore support for parsing "end interface X"Brad King2022-11-302-146/+161
| | | | | | | | | Since commit 219a9b1e14 (Fortran: Fix suprious dependencies with submodules, 2022-07-30, v3.25.0-rc1~327^2) we accidentally fail to recognize `end interface X`, causing all subsequent modules to be seen as an interface. Fixes: #24203
* Merge topic 'try_compile-copy-config' into release-3.25Brad King2022-11-231-4/+11
|\ | | | | | | | | | | | | | | | | 80fc564dd7 try_compile: Restore COPY_FILE with CMAKE_TRY_COMPILE_CONFIGURATION Acked-by: Kitware Robot <kwrobot@kitware.com> Tested-by: buildbot <buildbot@kitware.com> Acked-by: Robert Maynard <robertjmaynard@gmail.com> Merge-request: !7948
| * try_compile: Restore COPY_FILE with CMAKE_TRY_COMPILE_CONFIGURATIONBrad King2022-11-221-4/+11
| | | | | | | | | | | | | | | | | | Since commit 0c141b0393 (try_compile: Record output location instead of reverse computing it, 2022-08-31, v3.25.0-rc1~154^2) we always look for the "Debug" configuration's output binary from the test project. Restore looking for the `CMAKE_TRY_COMPILE_CONFIGURATION`. Fixes: #24180
* | XCode: ensure LINK_LIBRARY genex is usable with XCODE_LINK_BUILD_PHASE_MODEMarc Chevrier2022-11-221-21/+53
|/ | | | Fixes: #24176
* CMake 3.25.0v3.25.0Brad King2022-11-161-1/+1
|
* CMP0141: Fix PCH REUSE_FROM when MSVC_DEBUG_INFORMATION_FORMAT is emptyBrad King2022-11-151-2/+4
| | | | | | | | | | | | Under the policy's NEW behavior, `[CMAKE_]MSVC_DEBUG_INFORMATION_FORMAT` may be explicitly set to an empty string to tell CMake not to add any flags for this abstraction. In this case, fall back to checking the language-wide flags as we do in the OLD behavior. This revises commit 183b9a9eca (CMP0141: Fix PCH REUSE_FROM under policy NEW behavior, 2022-10-31, v3.25.0-rc3~4^2). Issue: #24106
* msvc: bless MSVC 19.34 support for C++ modules as experimentalBen Boeckel2022-11-111-22/+0
| | | | Visual Studio 17.4 now contains official support for what CMake needs.
* Ninja: Restore support for compilers not defining a C++ standard levelLingkai Dong2022-11-101-5/+12
| | | | | | | | | | | | | | | | Since commit 386465bf83 (cmTarget: add support for C++ module fileset types, 2022-04-08, v3.25.0-rc1~624^2~7), the Ninja generator checks for C++20 support using logic that requires `CMAKE_<LANG>_STANDARD_DEFAULT` to be non-empty. On some compilers, such as ARMClang, CMake does not automatically detect and set default language standards, thus causing `HaveStandardAvailable` to raise an internal error. To fix this issue, if `CMAKE_CXX_STANDARD_DEFAULT` is empty, assume all standards to be supported instead of calling `HaveStandardAvailable`. This is consistent with how `CompileFeaturesNode::Evaluate` handles this case. Fixes: #24146
* cmake-gui: Restore embedded version information in Windows binaryBrad King2022-11-091-3/+8
| | | | | | Refactoring in commit 89a1e1c1be (Build: Link w/ `OBJECT` library is OK since 3.12, 2022-08-21, v3.25.0-rc1~97^2~19) dropped the `.res` object containing this information from the `cmake-gui` link line. Restore it.
* CMake 3.25.0-rc4v3.25.0-rc4Brad King2022-11-081-1/+1
|
* cmState: Clarify name of member tracking the active scope in a directoryBrad King2022-11-073-17/+17
| | | | | | | | | | The `DirectoryEnd` member added by commit 52dbe654de (cmState: Record the end position of each directory., 2015-08-01, v3.4.0-rc1~251^2~1) actually tracks the current top-most scope in a directory's stack. This is evidenced by the use case in commit 3f4e5e8c3d (cmState: Return end snapshot for GetBuildsystemDirectoryParent., 2015-09-01, v3.4.0-rc1~100^2~1). Rename the member to `CurrentScope` to clarify this role.
* block: Fix variable scope protection from modification by subdirectoriesBrad King2022-11-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | When `cmStateSnapshot::RaiseScope` raises a variable in to a parent directory scope, it uses `GetBuildsystemDirectoryParent` to find the current top-most scope on the directory's stack. Since commit 3f4e5e8c3d (cmState: Return end snapshot for GetBuildsystemDirectoryParent., 2015-09-01, v3.4.0-rc1~100^2~1), that depends on the `DirectoryEnd` field in the directory's state. However, when variable-only scopes were added by commit 6954c8936f (cmState: Add a VariableScope snapshot type., 2015-08-01, v3.4.0-rc1~179^2~1), we neglected to account for the addition of that field by commit 52dbe654de (cmState: Record the end position of each directory., 2015-08-01, v3.4.0-rc1~251^2~1). Prior to commit 44a2f3f332 (Add new flow-control commands for variables and policies scopes management, 2022-08-05, v3.25.0-rc1~257^2) this problem went unnoticed because there was no way to have a variable scope at the top of a directory's stack while processing a subdirectory. Now the `block()/endblock()` commands enable the behavior, so fix tracking of a variable scope as the top-most scope in a directory. Fixes: #24138
* VS: Restore support for two-part default toolset versionBrad King2022-11-031-18/+20
| | | | | | | | | | | | | 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
* Xcode: Implement Swift include directoriesBrad King2022-11-021-0/+3
| | | | | | | Populate Xcode's `SWIFT_INCLUDE_PATHS` build setting with the target-wide include directories. Issue: #24116
* Xcode: Restore Swift framework search directoriesBrad King2022-11-021-10/+12
| | | | | | | | | | | | 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
* CMake 3.25.0-rc3v3.25.0-rc3Brad King2022-11-011-1/+1
|
* CMP0141: Fix PCH REUSE_FROM under policy NEW behaviorBrad King2022-10-311-6/+16
| | | | | | | | | | | 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
* cmLocalGenerator: Clarify name of local PDB type variableBrad King2022-10-311-3/+2
|
* cmLocalGenerator: Factor out helper to compute MSVC_DEBUG_INFORMATION_FORMATBrad King2022-10-312-16/+30
|
* Merge topic 'file-download-log-with-hash' into release-3.25Brad King2022-10-311-5/+7
|\ | | | | | | | | | | | | | | 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
| * file(DOWNLOAD): Fix LOG with EXPECTED_HASH on download failureAurelien Regat-Barrel2022-10-301-5/+7
| | | | | | | | | | | | | | | | | | 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
* | Merge topic 'ninja-showIncludes-encoding' into release-3.25Brad King2022-10-315-34/+23
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | cmGeneratedFileStream: Drop unused WriteRaw methodBrad King2022-10-302-23/+1
| | | | | | | | | | | | It has been superseded by `WriteAltEncoding`.
| * | Ninja: Match showIncludes dependencies using console output code pageBrad King2022-10-301-21/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | cm_codecvt: Add support for the Windows console output code pageBrad King2022-10-292-1/+8
| | | | | | | | | | | | This is distinct from the Windows ANSI code page.
| * | cmGeneratedFileStream: Add support for a temporary alternate encodingBrad King2022-10-292-0/+20
| |/ | | | | | | | | 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.
* | Xcode: Put object files in a place that Xcode cleansBrad King2022-10-282-8/+25
|/ | | | | | | | | 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
* Merge topic 'vs-dotnet-sdk-output-paths' into release-3.25Brad King2022-10-281-1/+2
|\ | | | | | | | | | | | | d2d1be0671 VS: Fix paths in multi-target SDK-style projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7836
| * VS: Fix paths in multi-target SDK-style projectsSebastian Maisch2022-10-271-1/+2
| | | | | | | | | | | | | | | | | | | | Set the `AppendTargetFrameworkToOutputPath` property to `false` only for single target SDK-style projects. This prevents outputs from being overwritten during the build. This revises commit 7671d71299 (VS: Fix target output paths in SDK-style projects, 2022-09-23, v3.25.0-rc1~82^2). Fixes: #24094 Issue: #23989
* | Xcode: Revert "Don't set INSTALL_PATH unless target is SHARED_LIBRARY"Brad King2022-10-271-3/+3
|/ | | | | | | | | The change in commit 61acaa12af (xcode: Don't set INSTALL_PATH unless target is SHARED_LIBRARY, 2022-07-14, v3.25.0-rc1~291^2) breaks some existing use cases. Revert it pending further investigation. Fixes: #24087 Issue: #15183
* Merge topic 'cmake-presets-workflow-arguments' into release-3.25Brad King2022-10-273-12/+49
|\ | | | | | | | | | | | | | | | | | | | | 7ecbe324b0 cmake --workflow: add --fresh option 7d9aa0f00c cmake::Workflow: Refactor to use enum class argument 322193afcd cmake --workflow: print usage and exit on unrecognized argument 70aef29427 cmake --workflow: print usage message Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7825
| * cmake --workflow: add --fresh optionKyle Edwards2022-10-263-7/+25
| | | | | | | | Fixes: #24073
| * cmake::Workflow: Refactor to use enum class argumentKyle Edwards2022-10-263-7/+17
| |
| * cmake --workflow: print usage and exit on unrecognized argumentKyle Edwards2022-10-261-0/+2
| | | | | | | | Issue: #24073
| * cmake --workflow: print usage messageKyle Edwards2022-10-251-1/+8
| |
* | Merge topic 'xcode-swift-defs' into release-3.25Brad King2022-10-271-11/+32
|\ \ | | | | | | | | | | | | | | | | | | c0dd3dd2c1 Xcode: Evaluate Swift compile definitions separately Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7826
| * | Xcode: Evaluate Swift compile definitions separatelyBrad King2022-10-251-11/+32
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Xcode has a separate setting for Swift compile definitions, so we can compute a dedicated value for it. Therefore we can: * Support the COMPILE_LANGUAGE generator expression for Swift-specific filters. * Avoid passing the `=value` part of definitions, which Swift does not support. This revises commit 5cb625eb2f (Xcode: Pass compile definitions to Swift, 2022-06-19, v3.25.0-rc1~493^2) and reverts commit 12c6fec6b4 (Xcode: Drop CMAKE_INTDIR= definition in Swift targets, 2022-09-30, v3.25.0-rc1~60^2~2), as the latter is no longer needed. Fixes: #24086
* | Merge topic 'cpack-trace-argument' into release-3.25Brad King2022-10-271-2/+2
|\ \ | | | | | | | | | | | | | | | | | | b5ebaa0d9c CPack: Require no argument for --trace and --trace-expand Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7824
| * | CPack: Require no argument for --trace and --trace-expandKyle Edwards2022-10-251-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | This was accidentally broken by commit 87c762d435 (CPack: Use cmCommandLineArgument instead of cmsys::CommandLineArguments, 2022-04-18, v3.24.0-rc1~258^2). Fixes: #24085
* | | Merge topic 'vswhere-support-x86' into release-3.25Brad King2022-10-271-2/+21
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 6eee8c9000 VS: Fix crash finding vswhere on 32-bit Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7832
| * | | VS: Fix crash finding vswhere on 32-bit WindowsBrad King2022-10-261-2/+21
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit f85913fa08 (VS: Add support for enumerating VS instances with vswhere, 2022-04-11, v3.24.0-rc1~282^2), if the COM lookup does not report any VS instances, we fall back to finding vswhere. However, the `getenv` call returns nullptr if the `ProgramFiles(x86)` environment variable is not set. Update the logic to tolerate not-set environment variables. Also check the plain `ProgramFiles` environment variable. Fixes: #24090
| * | Merge branch 'filesystem-path-c++03-abi' into release-3.24Brad King2022-10-202-3/+12
| |\ \ | | | | | | | | | | | | Merge-request: !7813
| * \ \ Merge branch 'try_compile-CMP0128' into release-3.24Brad King2022-10-181-0/+6
| |\ \ \ | | | | | | | | | | | | | | | Merge-request: !7803
* | \ \ \ Merge topic 'ninja-intl-paths' into release-3.25Brad King2022-10-272-14/+0
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | a12050666c Tests: Add case for ninja with non-ascii chars 02a04dd9c7 Ninja: Restore support for non-ascii paths on Windows with ninja<=1.10 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7833
| * | | | Ninja: Restore support for non-ascii paths on Windows with ninja<=1.10Brad King2022-10-262-14/+0
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit bbdb000c55 (GlobalNinjaGenerator: enlarge file stream buffer, 2022-01-25, v3.23.0-rc1~68^2). Somehow `rdbuf()->pubsetbuf()` is resetting our imbued locale and `cm_codecvt` that handles encoding. Fixes: #24089
* | | | Merge topic 'cmake-presets-list-workflow-type' into release-3.25Brad King2022-10-241-0/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 75cfbef780 cmake: Support --list-presets=workflow Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Tested-by: Craig Scott <craig.scott@crascit.com> Merge-request: !7816
| * | | | cmake: Support --list-presets=workflowKyle Edwards2022-10-211-0/+5
| | | | | | | | | | | | | | | | | | | | Fixes: #24072
* | | | | cmGlobalVisualStudioGenerator: Fix compiling as C++20 in VS 2022Werner, Joerg2022-10-211-1/+2
|/ / / / | | | | | | | | | | | | Adding missing narrow string conversion.
* | | | Merge topic 'filesystem-path-c++03-abi' into release-3.25Brad King2022-10-212-3/+12
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | ee9805ccd1 cm/filesystem: Fix crash with pre-C++11 std::string GNU ABI in C++17 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !7813