Selecting a configure preset applies on the worker thread, but Configure
and Generate stayed enabled and could snapshot the stale cache model
first. Tokenize preset application, disable the dependent actions until
the completion lands, and accept only the latest request.
Fixes: #28085
The GUI ignored a preset's installDir, so CMAKE_INSTALL_PREFIX fell back
to the platform default instead of the value the command line uses. This
fixes that by reading installDir in QCMake::properties(), and while we're
there, it applies toolchainFile after the cacheVariables loop so both
override a same-named entry.
Fixes: #27804
Prevent repeat configure calls from the CMake GUI or `ccmake` tool from
loading query duplicates, which caused many duplicate callbacks to be
invoked on each subsequent hook.
Also ensure that multiple subsequent configure steps invoked by CMake
GUI and `ccmake` each have an associated snippet file during generate.
Fixes: #27651
Co-Authored-By: Tyler Yankee <tyler.yankee@kitware.com>
`cmSystemTools::FindCMakeResources` needs this to find the main `cmake`
executable. Previously `FindCMakeResourcesInBuildTree` was finding the
rest of the resources by accident because `Tests/CMakeGUI` has the same
number of components as `bin/<config>`.
Previously the presets handler in the GUI was on a timer. Because of
this, error messages got suppressed after the first one (even if the
error message is different from the one originally suppressed).
Add a "reload presets" button which forces the preset to reload, and
always provides an error message if the reload failed.
Fixes: #26707
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`, now with "east const" enforcement.
Use `clang-format` version 18.
* If you reached this commit for a line in `git blame`, re-run the blame
operation starting at the parent of this commit to see older history
for the content.
* See the parent commit for instructions to rebase a change across this
style transition commit.
Issue: #26123
MSVC 14.38+ toolsets deprecate `stdext::checked_array_iterator`.
Support building with versions of Qt that have not been updated
to avoid the deprecated API.
Qt-Issue: https://bugreports.qt.io/browse/QTBUG-118993
Run the `clang-format.bash` script to update all our C and C++ code to a
new style defined by `.clang-format`. Use `clang-format` version 15.
* If you reached this commit for a line in `git blame`, re-run the blame
operation starting at the parent of this commit to see older history
for the content.
* See the parent commit for instructions to rebase a change across this
style transition commit.
Fixes: #24315
Make this field separate for both architecture and toolset. Allow
architecture and toolset to be either strings or objects with value
and strategy fields.
Fixes: #21317