summaryrefslogtreecommitdiffstats
path: root/Source/CursesDialog/ccmake.cxx
Commit message (Collapse)AuthorAgeFilesLines
* ccmake: redirect stdout/stderr to the displayed logsSylvain Joubert2019-11-161-2/+20
| | | | | | | | | | | | | | | | | 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: Use type-based colors to display cache valuesSylvain Joubert2019-11-041-0/+2
| | | | | The colors are based on the entry type (or value for booleans), paths and filepaths sharing the same color.
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-7/+8
| | | | | 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.
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-2/+2
|
* clang-tidy: isolate declarations for readabilityRegina Pfeifer2019-08-201-2/+4
|
* Ensure stdin, stdout, and stderr pipes are always openBrad King2019-05-021-0/+1
| | | | | | | | | | | | | On non-Windows platforms libuv assumes that file descriptors 0-2 are always used for standard pipes and never for anything else. Otherwise, libuv may re-use one of these descriptors and then fail an assertion when closing it. Similarly, On Windows platforms our ConsoleBuf implementation assumes that the standard handles are always open. If CMake is run with any standard pipes closed, open them with `/dev/null` or `NUL` to satisfy these assumptions. Fixes: #19219
* cmSystemTools: MessageCallback and Message() accept std::string argumentVitaly Stakhovsky2019-02-071-1/+1
|
* MessageCallback: Remove unused bool& argumentRegina Pfeifer2019-01-291-1/+1
|
* Use `std::function` for callbacksRegina Pfeifer2019-01-291-8/+4
|
* Merge topic 'help-mark-default-generator'Brad King2019-01-221-4/+3
|\ | | | | | | | | | | | | | | | | dfd5ae7da7 Help: Mark default CMake generator with asterisk 6023fe7ff2 ccmake: Append rather than replace Generators section of docs 7408cd3929 cmake: Return generator docs directly Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2682
| * ccmake: Append rather than replace Generators section of docsCraig Scott2019-01-181-1/+1
| | | | | | | | | | | | | | Using SetSection() discards the heading line populated by addCMakeStandardDocSections(), whereas AppendSection() preserves it. This also makes the code used for ccmake consistent with that used for cmake and cmake-gui.
| * cmake: Return generator docs directlyArtur Ryt2019-01-181-3/+2
| | | | | | | | | | | | | | | | | | The GetGeneratorDocumentation() function was not accurately named and required the vector to populate to be passed as a function argument. This commit makes the slightly renamed function return by value, making it a true getter as implied by its name. Some minor refactoring of the implementation also makes the steps of populating the vector clearer.
* | clang-tidy: Use emplaceRegina Pfeifer2019-01-171-1/+1
|/
* Properties: Add CMAKE_ROLE global propertyKyle Edwards2019-01-171-1/+2
| | | | | This property allows scripts to determine whether they're in project mode, script mode, find-package mode, CTest, or CPack.
* Revise C++ coding style using clang-format-6.0Kitware Robot2018-06-011-8/+11
| | | | | | | | | | | | 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 6.0. * 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.
* Extend libuv file translate mode workaround to all executablesBrad King2018-01-231-0/+1
| | | | | | | | | | | | | | | Since libuv commit v1.14.1~7 (win: add uv__once_init() calls, 2017-08-30) the libuv initialization of the file translate mode may take place even if we do not use a uv loop. This change was included in our libuv update commit f4a26c748b (libuv 2018-01-19). Therefore use of libuv even through `cmSystemTools::GetRealPath` in any executable may trigger its file translate mode setting. Factor out the logic added to `cmake.exe` by commit v3.9.0-rc4~10^2 (cmake: Fix default file translate mode when using libuv, 2017-06-13) and re-use to initialize all executables. Issue: #16962
* IWYU: Mark cmConfigure.h with pragma: keepDaniel Pfeifer2017-08-261-1/+0
| | | | Also remove `#include "cmConfigure.h"` from most source files.
* Use C++11 nullptrDaniel Pfeifer2017-08-241-14/+13
|
* cmake: initialize with Role that controls which commands to registerDaniel Pfeifer2017-05-081-1/+1
|
* Use quotes for non-system includesDaniel Pfeifer2017-04-111-2/+2
| | | | | | | | | | | | | Automate with: git grep -l '#include <cm_' -- Source \ | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g' git grep -l '#include <cmsys/' -- Source \ | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g' git grep -l '#include <cm[A-Z]' -- Source \ | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
* clang-tidy: apply modernize-use-bool-literals fixesDaniel Pfeifer2016-12-121-4/+2
|
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* CursesDialog: include what you useDaniel Pfeifer2016-09-031-10/+13
|
* Make sure unnused parameters are /*named*/Daniel Pfeifer2016-08-161-3/+3
|
* use CM_NULLPTRDaniel Pfeifer2016-06-281-13/+14
|
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-87/+60
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * 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.
* Remove `//------...` horizontal separator commentsBrad King2016-05-091-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | Modern editors provide plenty of ways to visually separate functions. Drop the explicit comments that previously served this purpose. Use the following command to automate the change: $ git ls-files -z -- \ "*.c" "*.cc" "*.cpp" "*.cxx" "*.h" "*.hh" "*.hpp" "*.hxx" | egrep -z -v "^Source/cmCommandArgumentLexer\." | egrep -z -v "^Source/cmCommandArgumentParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmDependsJavaLexer\." | egrep -z -v "^Source/cmDependsJavaParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmExprLexer\." | egrep -z -v "^Source/cmExprParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmFortranLexer\." | egrep -z -v "^Source/cmFortranParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmListFileLexer\." | egrep -z -v "^Source/cm_sha2" | egrep -z -v "^Source/(kwsys|CursesDialog/form)/" | egrep -z -v "^Utilities/(KW|cm).*/" | xargs -0 sed -i '/^\(\/\/---*\|\/\*---*\*\/\)$/ {d;}' This avoids modifying third-party sources and generated sources.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sort include directives within each block (separated by a blank line) in lexicographic order (except to prioritize `sys/types.h` first). First run `clang-format` with the config file: --- SortIncludes: false ... Commit the result temporarily. Then run `clang-format` again with: --- SortIncludes: true IncludeCategories: - Regex: 'sys/types.h' Priority: -1 ... Commit the result temporarily. Start a new branch and cherry-pick the second commit. Manually resolve conflicts to preserve indentation of re-ordered includes. This cleans up the include ordering without changing any other style. Use the following command to run `clang-format`: $ git ls-files -z -- \ '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' | egrep -z -v '(Lexer|Parser|ParserHelper)\.' | egrep -z -v '^Source/cm_sha2' | egrep -z -v '^Source/(kwsys|CursesDialog/form)/' | egrep -z -v '^Utilities/(KW|cm).*/' | egrep -z -v '^Tests/Module/GenerateExportHeader' | egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' | xargs -0 clang-format -i This selects source files that do not come from a third-party. Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
* Source: Stabilize include orderBrad King2016-04-291-1/+2
| | | | | Each source file has a logical first include file. Include it in an isolated block so that tools that sort includes do not move them.
* cmState: Compute and store directory components.Stephen Kelly2015-05-161-0/+2
| | | | | | | | | | | | | There is no need to duplicate these in all cmLocalGenerators. Rename the symbols according to current conventions. Add explicit calls to Set{Source,Binary}Directory with empty strings in order to trigger the population of the components containers with the current working directory in cmLocalGenerator. Having directories set to empty is a special case in CMake, which is relied on for the `if(CMAKE_BINARY_DIR)` condition at the end of CMakeDetermineSystem.cmake.
* Port to cmState.Stephen Kelly2015-04-131-1/+0
|
* Do not call setlocale() globally in CMake applications (#15377)Brad King2015-02-061-3/+0
| | | | | | | | | | | Revert the changes made by commit v3.1.0-rc1~406^2~1 (Encoding: Add setlocale() to applications, 2014-05-30) and commit v3.1.0-rc1~406^2 (Encoding: Change to only set LC_CTYPE, 2014-06-11), and other setlocale calls added later in their spirit. CMake has not been taught how to deal with non-C locales everywhere. We do not define any functionality for character conversions for non-ASCII strings. Another solution will be needed to address the original problem motivating addition of setlocale() calls.
* Merge topic 'cmake-no-args-output'Brad King2014-06-161-0/+16
|\ | | | | | | | | de7c2882 cmake,ccmake: Produce shorter output on no arguments (#14973)
| * cmake,ccmake: Produce shorter output on no arguments (#14973)Adam Strzelecki2014-06-131-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | Instead printing complete help cmake/ccmake now prints only Usage section and extra information how to get more help or start your build. Implementation Details: Usage help type was renamed to Help, and new Usage was introduces that prints only command line usage information without any extra details. Commands add some extra information when no arguments are passed.
* | Encoding: Change to only set LC_CTYPE to fix encoding issues with libarchive.Clinton Stimpson2014-06-121-1/+1
|/ | | | | Changing all categories with LC_ALL causes test failures in some locales. For example, in some locales, the decimal characer could be a comma instead of period.
* Encoding: Add setlocale() to applications.Clinton Stimpson2014-06-041-0/+3
| | | | See also bug #14934 where chinese characters could not be used with cpack.
* cmSystemTools: Rename ErrorCallback to MessageCallbackBrad King2014-05-151-2/+3
| | | | | Clarify that it is the callback for the cmSystemTools::Message API. Rename callback clients too.
* Use Encoding::CommandLineArguments for main() functions.Clinton Stimpson2014-01-041-1/+7
|
* Refactor internal resource location APIs and initializationBrad King2013-11-121-2/+1
| | | | | | | | | | | | | | | | | | | | Rename cmSystemTools::FindExecutableDirectory to FindCMakeResources. Teach it to compute the locations of cmake, ctest, cpack, ccmake, and cmake-gui executables, and the location of CMAKE_ROOT. Provide this information from static cmSystemTools::Get<resource>() methods. Refactor code that needs these locations to use the new APIs. Teach FindCMakeResources to use the OS X system API to lookup the executable location. When running from the CMake build tree itself, leave a file in the tree that FindCMakeResources can use to read the location of the source tree. This avoids the need to compile the source tree location into a binary that may be installed and used without the source tree. Teach the QtDialog on OS X to create a "cmake-gui" symlink in the build tree next to "cmake" and the other tools, as is already done in the install tree for the application bundle. This ensures a consistent set of executables are available in one directory.
* Make --help-* options available from all command-line toolsBrad King2013-10-161-0/+2
| | | | | | | | | | | Make the standard --help-* options available from all command-line tools. Drop options that are no longer supported: --copyright, --help-full, --help-html, --help-man, --help-compatcommands, --help-custom-modules De-duplicate Help/manual/*.1.rst help options by using an OPTIONS_HELP.txt file included from each manual.
* Drop the 'Full' field from cmDocumentationEntryBrad King2013-10-161-8/+8
| | | | | We need only 'Brief' for usage documentation. We no longer have builtin 'Full' documentation, which is now in Help/*/*.rst files.
* Drop "full" documentation output typesBrad King2013-10-151-28/+0
| | | | | | | | | | | | | | | | We will no longer support full documentation generation from executables and will instead generate documentation with other tools. Disable (with a warning left behind) the command-line options: --copyright --help-compatcommands --help-full --help-html --help-man Drop supporting code. Drop manual sections generation from executables. Remove internal documentation construction APIs. Drop unused sections See Also, Author, Copyright, Compat Commands, Custom Modules.
* CPack begin the implementation of --help-command* and --help-variables*Eric NOULARD2012-01-221-0/+1
| | | | | | This modifications set tries to keep the unified doc for cmake/ctest/cpack while introducing tool specific documentation separated. Some documentation sections for CMake do not fit well to CPack.
* Usage: Print help, version and copyright options in usage information.Nicolas Despres2011-10-231-1/+1
| | | | There were missing for ctest, cpack and ccmake.
* Remove trailing white-spaces.Nicolas Despres2011-10-231-17/+17
|
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
* ENH: Centralized and globalized computation of CMake program locations. ↵Brad King2007-12-131-0/+1
| | | | This eliminates startup paths that failed to produce this information.
* ENH: change to make the documentation class more generic, about halfway ↵Ken Martin2007-10-221-12/+12
| | | | there, also provides secitons for Variables now
* COMP: make it build on NetBSD, which has separate curses and ncurses, soAlexander Neundorf2007-08-271-1/+1
| | | | | | | it has to be detected that curses isn't good enough, but ncurses is, and that ncurses.h instead of curses.h is included Alex
* ENH:Alexander Neundorf2007-06-281-1/+4
| | | | | | | | | | | | -in the full documentation there is now an extra section for compatibility commands, so users see which commands they shouldn't use -cmake -h <command> now also works with lower case commands --help-fullm --help-command, --help-module and --help-property now determine the output format from the extension of the given filename Let me know if there are some things I overlooked. Alex