summaryrefslogtreecommitdiffstats
path: root/Source/CursesDialog
Commit message (Collapse)AuthorAgeFilesLines
* ccmake: Add Windows support using PDCursesDuncan Ogilvie2022-01-184-1/+24
|
* ccmake: Refactor resizing logic into cmCursesFormDuncan Ogilvie2022-01-183-18/+27
|
* Merge topic 'warnings-cleanup'Brad King2021-10-271-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | 7e4e192ce2 Source: fix clang-tidy modernize-redundant-void-arg warning 8d671dd94c Source: fix more -Wmissing-prototypes warnings 1cf14f8c03 Source: fix many -Wmissing-prototypes warnings by marking functions static 319944b3d2 Source: fix some -Wunused-macros warnings 5257d9e71a Source: fix only -Wshorten-64-to-32 warning with explicit cast Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !6648
| * Source: fix many -Wmissing-prototypes warnings by marking functions staticSean McBride2021-10-251-1/+1
| |
* | Merge topic 'purge-sprintf'Brad King2021-10-273-16/+21
|\ \ | | | | | | | | | | | | | | | | | | | | | b7e9cd05cd Replace the only non-standard _snprintf with snprintf 5ba6e8ac59 Source: Replace most calls to sprintf with snprintf Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !6649
| * | Source: Replace most calls to sprintf with snprintfSean McBride2021-10-253-16/+21
| |/
* | Source: Simplify some boolean expressionsRose2021-10-231-2/+2
|/
* LCC: Add dedicated support for MCST LCC compilermakise-homura2021-10-151-1/+1
| | | | | | | | | | | | | | | | | | | | | Divert LCC compiler as a new one, instead of treating it as GNU. Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been passing checks for GNU compilers, so it has been identified as GNU. Now, with intent of seriously upstreaming its support, it has been added as a separate LCC compiler, and its version displays not a supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead of GNU 7.3.0). This commit adds its support for detection, and also converts basically every check like 'is this compiler GNU?' to 'is this compiler GNU or LCC?'. The only places where this check is untouched, is where it regards other platforms where LCC is unavailable (primarily non-Linux), and where it REALLY differs from GNU compiler. Note: this transition may break software that are already ported to Elbrus, but hardly relies that LCC will be detected as GNU; still such software is not known.
* Rename cmProp in cmValueMarc Chevrier2021-09-212-13/+13
|
* cmMessenger: Pass title inside a metadata structureMarius Messerschmidt2021-05-191-2/+3
|
* Utilities: Suppress warnings in third-party code with NVHPCBrad King2021-04-201-1/+1
|
* Utilities: Suppress warnings in third-party code when using IntelLLVMBrad King2021-01-281-1/+1
|
* clang-tidy: fix `readability-qualified-auto` warningsBen Boeckel2021-01-271-2/+2
|
* Modernize: Use #pragma once in all header filesKitware Robot2020-09-0314-56/+14
| | | | | | | | | | | | | | | | #pragma once is a widely supported compiler pragma, even though it is not part of the C++ standard. Many of the issues keeping #pragma once from being standardized (distributed filesystems, build farms, hard links, etc.) do not apply to CMake - it is easy to build CMake on a single machine. CMake also does not install any header files which can be consumed by other projects (though cmCPluginAPI.h has been deliberately omitted from this conversion in case anyone is still using it.) Finally, #pragma once has been required to build CMake since at least August 2017 (7f29bbe6 enabled server mode unconditionally, which had been using #pragma once since September 2016 (b13d3e0d)). The fact that we now require C++11 filters out old compilers, and it is unlikely that there is a compiler which supports C++11 but does not support #pragma once.
* ccmake: suppress warnings in third-party form codeBrad King2020-08-181-0/+8
|
* Fix typos identified using codespellJean-Christophe Fillion-Robin2020-07-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See https://github.com/codespell-project/codespell#readme The following command was used: ``` codespell -q6 --skip="\ .git,\ *.json,\ ./Copyright.txt,\ ./Help/command/foreach.rst,\ ./Help/prop_test/REQUIRED_FILES.rst,\ ./Help/variable/CTEST_COVERAGE_COMMAND.rst,\ ./Modules/CMakeCheckCompilerFlagCommonPatterns.cmake,\ ./Modules/CMakeRCInformation.cmake,\ ./Modules/Internal/CPack/NSIS.template.in,\ ./Modules/FindMatlab.cmake,\ ./Modules/MatlabTestsRedirect.cmake,\ ./Modules/Platform/Windows-Clang.cmake,\ ./Modules/Platform/Windows-Intel-Fortran.cmake,\ ./Modules/Platform/Windows-MSVC.cmake,\ ./Source/CMakeVersion.cmake,\ ./Source/cmConvertMSBuildXMLToJSON.py,\ ./Source/cmCreateTestSourceList.cxx,\ ./Source/cmGlobalVisualStudio10Generator.cxx,\ ./Source/cmExportBuildFileGenerator.cxx,\ ./Source/cmExportInstallAndroidMKGenerator.cxx,\ ./Source/cmExportInstallFileGenerator.cxx,\ ./Source/cmExportSet.cxx,\ ./Source/cmExportTryCompileFileGenerator.cxx,\ ./Source/cmFindPackageCommand.cxx,\ ./Source/cmInstallCommand.cxx,\ ./Source/cmGeneratorExpressionLexer.cxx,\ ./Source/cmLocalVisualStudio7Generator.cxx,\ ./Source/cmOrderDirectories.cxx,\ ./Source/cmTarget.cxx,\ ./Source/kwsys/*,\ ./Source/QtDialog/CMakeSetupDialog.ui,\ ./Source/CPack/WiX/cmWIXRichTextFormatWriter.cxx,\ ./Source/CTest/cmParseCoberturaCoverage.h,\ ./Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/English.license.rtf,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt,\ ./Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt,\ ./Tests/RunCMake/GoogleTest/xml_output.cpp,\ ./Tests/RunCMake/Make/TargetMessages*,\ ./Utilities/*,\ " \ -L "\ dependees,\ endwhile,\ fo,\ filetest,\ helpfull,\ nd,\ objext,\ stoll,\ supercedes,\ superceded,\ vas,\ varn,\ " ```
* ccmake: Display an error and interrupt execution if ncurses failedBartosz Kosiorek2020-06-111-2/+14
|
* Merge topic 'gitlab-ci-ninja-multi'Brad King2020-06-022-11/+5
|\ | | | | | | | | | | | | | | | | | | | | e1b2c0108f gitlab-ci: add a Ninja Multi-Config test job 1e8ecfccdd gitlab-ci: also build ncurses and Qt code on Linux 95721f0a82 ci: install ncurses and Qt development into the Fedora 31 image ed2fe558b0 CursesDialog: resolve clang-tidy warnings 44f1744bed QtDialog: avoid using deprecated APIs Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4832
| * CursesDialog: resolve clang-tidy warningsBen Boeckel2020-06-022-11/+5
| | | | | | | | | | | | | | | | | | Fixes: - unnecessary bool expression (cmCursesMainForm) - removes a duplicate if/else branch (RegexExplorer) - collapses redundant if/else branch logic (CMakeSetupDialog and cmCursesStringWidget)
* | Single location for cmProp typedefVitaly Stakhovsky2020-06-012-0/+2
|/
* ccmake: Check that getmaxyx result width is non-negativeBrad King2020-05-191-1/+1
| | | | | Otherwise GCC 10.1 issues a `-Wstringop-overflow=` diagnostic when we use the width for indexing.
* ccmake: Improve coloring, allow customizationMatthew Woehlke2020-04-242-5/+57
| | | | | | | | | | Change the default color for strings from BLUE (which is nearly illegible on any terminals using the standard color palette which has been around since at least CGA, almost 40 years ago) to CYAN. Add ability to customize the colors via an environment variable (inspired by LS_COLORS and using similar syntax). Fixes: #20596
* ccmake: Rename cmCursesColor::{Options => Choice}Matthew Woehlke2020-04-243-4/+4
| | | | | Rename the internal name for the color applied to multiple-choice options to avoid use of the overloaded term 'option'.
* cmCursesLongMessageForm: avoid unnecessary string allocationBen Boeckel2020-04-091-1/+2
| | | | | The addition makes a temporary string and then drops it after adding it to `this->Messages`. Instead, just incrementally append.
* Merge topic 'ccmake_incremental_log_display'Brad King2020-04-094-19/+48
|\ | | | | | | | | | | | | | | | | 60bfaa8fe6 ccmake: Use incremental rendering for the logs e9b36731e9 cmCursesLongMessageForm: Factor out helper to draw message to form Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robert.maynard@kitware.com> Merge-request: !4573
| * ccmake: Use incremental rendering for the logsSylvain Joubert2020-04-084-11/+33
| | | | | | | | | | | | | | | | | | This should avoid an exponential slowdown in the display time for projects with lots of output. This is still slower than cmake due to the ncurses drawing, but it should now be O(L) in total and not O(L^2) wrt to output length. Fixes: #20535
| * cmCursesLongMessageForm: Factor out helper to draw message to formBrad King2020-04-082-8/+15
| |
* | Merge topic 'cmprop-state'Brad King2020-03-272-6/+7
|\ \ | | | | | | | | | | | | | | | | | | a7f2ff16a4 cmState::GetCacheEntryProperty: return cmProp Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4522
| * | cmState::GetCacheEntryProperty: return cmPropVitaly Stakhovsky2020-03-252-6/+7
| | |
* | | replace "std::string::find(x) == 0" with cmHasPrefix()Rolf Eike Beer2020-03-231-2/+3
|/ /
* | cmState::GetCacheEntryValue: return cmPropVitaly Stakhovsky2020-03-172-14/+14
|/
* ccmake: Fix crash with cache entries almost the size of the windowSylvain Joubert2019-11-192-86/+43
| | | | | | | | | | | | | | | The previous code: if (curFieldLen < width) { ... strncpy(bar + curFieldLen + 2, help, width - curFieldLen - 2); was not correctly guarded against cache entries whose size were exactly 1 or 2 characters short of the window size. "if (curFieldLen - 2 < width)" would have prevented a copy of negative/max_int characters and a subsequent crash. The whole method was modernized with std::string instead of char*
* ccmake: Fix rendering on window resizeSylvain Joubert2019-11-181-12/+8
| | | | | | | | | Repro steps: configure (without errors), the logs are displayed then the cache is displayed again, resize the window up -> the logs are redisplayed after resize instead of the cache The 'CurrentForm' pointer were left pointed to the last log message form, this resets it to the main form when configure or generate is done
* ccmake: redirect stdout/stderr to the displayed logsSylvain Joubert2019-11-164-33/+50
| | | | | | | | | | | | | | | | | Use cmSystemTools to report some messages. These should now be caught and displayed properly, both in ccmake and cmake-gui Avoid log display flickering during processing - Don't clear the screen each time the long message form is rendered. It always renders the whole screen again so clearing it only causes flickering. - Add scroll down capabilities to the long message form so that it can draw itself directly in the correct state. This removes the need to programatically scroll down just after that also caused flickering. Fixes #19882 Fixes #13288
* ccmake: Identify the current cache entrySylvain Joubert2019-11-041-0/+9
|
* ccmake: Improve display of the key controlsSylvain Joubert2019-11-042-9/+9
| | | | Reduce space usage and add the key to display the output
* ccmake: Use type-based colors to display cache valuesSylvain Joubert2019-11-048-6/+113
| | | | | The colors are based on the entry type (or value for booleans), paths and filepaths sharing the same color.
* ccmake: Don't overwrite the last character of the titleSylvain Joubert2019-10-252-7/+7
|
* ccmake: Display output during configure and generateSylvain Joubert2019-10-254-22/+61
|
* ccmake: Use the error display for all the logsSylvain Joubert2019-10-253-23/+36
|
* ccmake: Display an ASCII progress bar in the status barSylvain Joubert2019-10-251-16/+12
| | | | | | | | The status bar is now only used to display the progress. The status log are not shown anymore since for the most cases they went by too quickly to be read. As for cases when a process is long enough to display and read a log, it would probably be a previous unrelated message.
* Merge topic 'ccmake-clear-help'Brad King2019-10-211-1/+1
|\ | | | | | | | | | | | | 9276beae5e ccmake: Fully clear the 1st help line when processing Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !3937
| * ccmake: Fully clear the 1st help line when processingSylvain Joubert2019-10-201-1/+1
| |
* | Add option to configure Ninja link job pool for CMake's own binariesBrad King2019-10-101-0/+4
|/ | | | | Create an undocumented `CMake_JOB_POOL_LINK_BIN` option that builders can set to avoid linking too many of our binaries at once.
* Revise include order using clang-format-6.0Kitware Robot2019-10-0115-50/+51
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* cmCursesMainForm: change Entries to object vectorTushar Maheshwari2019-09-273-47/+49
| | | | | | - Add move constructor and move assignment operator for `cmCursesCacheEntryComposite`. - Transfer ownership of Entries objects to std::vector.
* cmCursesStringWidget: remove manual deleteTushar Maheshwari2019-09-272-24/+13
| | | | - Relpace `char*` operations with `std::string`
* cmCursesCacheEntryComposite: default destructorTushar Maheshwari2019-09-263-37/+42
|
* cmCursesMainForm: cleanup manual allocationTushar Maheshwari2019-09-264-107/+69
|
* CursesDialog: modernize CMake usageTushar Maheshwari2019-09-261-20/+16
|