| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Populate Xcode's `SWIFT_INCLUDE_PATHS` build setting with the
target-wide include directories.
Issue: #24116
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | | |
It has been superseded by `WriteAltEncoding`.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | | |
This is distinct from the Windows ANSI code page.
|
| |/
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| |
| |
| | |
d2d1be0671 VS: Fix paths in multi-target SDK-style projects
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7836
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
Fixes: #24073
|
| | |
|
| |
| |
| |
| | |
Issue: #24073
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
c0dd3dd2c1 Xcode: Evaluate Swift compile definitions separately
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7826
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
b5ebaa0d9c CPack: Require no argument for --trace and --trace-expand
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7824
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
6eee8c9000 VS: Fix crash finding vswhere on 32-bit Windows
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7832
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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-request: !7813
|
| |\ \ \
| | | | |
| | | | |
| | | | | |
Merge-request: !7803
|
|\ \ \ \ \
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes: #24072
|
|/ / / /
| | | |
| | | |
| | | | |
Adding missing narrow string conversion.
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The `remove_filename` and `replace_extension` methods compute an offset
between the whole path in a `std::string` and a part of a path in a
`std::string_view`. This is done by subtracting their `.data()`
pointers. However, C++17 adds a non-const `.data()` through which
modification of the string is allowed. This means the copy-on-write
implementation used by the pre-C++11 std::string GNU ABI must reallocate
if the string has been copied. Our subtraction then computes an offset
between two different allocations, which is undefined behavior.
The workaround in commit b3ca4f9ad1 (cm/filesystem: Work around crash
when compiled for CYGWIN/MSYS runtime, 2021-04-22, v3.21.0-rc1~271^2~2)
avoided the problem by calling the non-const `.data()` to reallocate
before constructing the `string_view`. Instead, explicitly call the
const `.data()` method on the string, which does not reallocate.
Fixes: #22090, #23328
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
bea4ed5430 CTest: Add support for outputJUnitFile in presets
9270a02003 CMakePresets.json: Add outputJUnitFile to test presets schema
757786bb73 Tests: Add test for outputLogFile in CMakePresets.json
b68c3596e7 CMakePresets.json: Disallow extra properties in test output schema
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !7806
|
| | | |
| | | |
| | | |
| | | | |
Fixes: #22400
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
9777e4c30e MinGW Makefiles: Quote UNC paths on command lines
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7802
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
UNC paths (starting with `\\`) need quotes when generating MinGW
Makefiles to avoid gmake interpreting the first `\` as an escape
character.
Fixes: #24061
|
|\ \ \ \ \
| |/ / / /
|/| | / /
| | |/ /
| |/| |
| | | |
| | | |
| | | | |
50e90e2828 try_compile: Honor CMP0128 setting in test project
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !7803
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Some projects pass a raw `-std=` flag to the compiler in the
`try_compile` project. If they do not set CMP0128 to NEW,
we should not append a `-std=` flag where we did not before
the policy was added.
Fixes: #24063
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | | |
d0e52219eb CUDA: Revert "Always mark cuda toolkit as system include"
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7798
|