24 Commits
Author SHA1 Message Date
Daksh Mamodiya fdc2c2b9c7 cmake-gui: settle preset application before Configure/Generate
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
2026-09-11 23:24:10 +05:30
Daksh Mamodiya 1493cd810c cmake-gui: Honor installDir from configure presets
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
2026-09-02 22:03:19 +05:30
Brad King 8aa26d3ed5 Tests/CMakeGUI: Reformat sources with clang-format-18
Somehow the `#include` order got out of sync with `clang-format-18`.
2026-08-10 12:16:47 -04:00
Tyler Yankee 9bef6169f2 presets: Collapse source directory to avoid trailing slash
Fixes: #25754
2026-04-23 08:18:44 -04:00
Martin DuffyandTyler Yankee fb541168f0 instrumentation: Reset queries on repeat configure steps from CMake GUI
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>
2026-03-04 16:22:47 -05:00
Brad King 795f7c27c7 Tests/CMakeGUI: Place test executable in main bin directory
`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>`.
2026-03-04 15:30:27 -05:00
Brad King 960dd6ede3 Tests/CMakeGUI: Explicitly find all needed components
This fixes configuration with Qt6 on Windows.
2026-03-04 10:06:09 -05:00
Brad King 2e5442eef5 Tests/CMakeGUI: Avoid QtTest internal timeout before ctest's timeout
Issue: #27376
2025-11-14 15:22:25 -05:00
Kitware Robot 1772622772 LICENSE: Replace references to Copyright.txt with LICENSE.rst
```
git grep -lz 'Copyright.txt or https://cmake.org/licensing ' |
  while IFS= read -r -d $'\0' f ; do
    sed -i '/Copyright.txt or https:\/\/cmake.org\/licensing / {
              s/Copyright.txt/LICENSE.rst/
            }' "$f" ; done
```
2025-03-03 10:43:35 -05:00
Brad King 3bdf63e84d Merge topic 'cmake-gui-reload-presets'
74be7f5d79 cmake-gui: Add 'Reload Presets' button, replacing reload timer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10361
2025-02-26 08:44:31 -05:00
Will Bowers 74be7f5d79 cmake-gui: Add 'Reload Presets' button, replacing reload timer
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
2025-02-25 08:20:59 -07:00
Alexandru Croitor 245f5ca8b3 Tests: Make CMakeGUI test build with both Qt5 and Qt6
Fixes: #26710
2025-02-21 14:41:12 -05:00
Kitware Robot 0b96ae1f6a Revise C++ coding style using clang-format with "east const"
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
2025-01-23 13:09:50 -05:00
Brad King f26e8886b3 cmake-gui: Suppress MSVC deprecation warnings from Qt headers
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
2024-05-30 14:23:47 -04:00
Kyle Edwards 59b0ae6b24 Tests: Update tests to run in symlinked tree 2023-09-22 09:30:52 -04:00
Kitware Robot 33abef7416 Revise C++ coding style using clang-format-15
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
2023-01-18 16:20:47 -05:00
Kyle Edwards 64afabdbcb CMakePresets.json: Split cmakeGeneratorConfig field
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
2020-10-22 11:24:39 -04:00
Kyle Edwards d471406f0b CMake GUI: Disable preset fields instead of hiding them 2020-10-16 15:16:04 -04:00
Kyle Edwards a4382f72d7 CMake GUI: Add presets functionality 2020-10-05 09:49:59 -04:00
Kyle Edwards 8682d1b7b2 CMake GUI Tests: Increase default sleep time 2020-10-05 09:49:59 -04:00
Kyle Edwards 85f5009d27 CMake GUI: Add environment editor 2020-09-28 09:46:35 -04:00
Kyle Edwards d6c051c126 Tests: Add some basic configure tests for the CMake GUI 2020-09-28 09:46:35 -04:00
Kyle Edwards 7cd95d9996 Tests: Add CatchShow helper for CMake GUI tests 2020-09-28 09:46:35 -04:00
Kyle Edwards 4c6e5cd0fa Tests: Add some basic tests for CMake GUI 2020-09-23 14:10:40 -04:00