This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, master has been updated via 0ff5bdd4c99824bb6e4b1c19f6f9f9e47ee96088 (commit) via 0618f8b3ed690275c87e5494084f33a6d3a07be7 (commit) via 7b2e9b5537af2977e6096d0c2cad1a2b94e11002 (commit) via 9d8bb7bc4e09131055a1ff542f655a4168cda9ca (commit) via ef86e8991b6b9b2d4b25f98a95ba950f9ba19485 (commit) via a43c25a2e3aa2ad32af99850b55240ce088f0483 (commit) via bae7a82ffab7350ae55a104d85d91b5d36347cae (commit) via 30908fa0ee965a67c6dbdc554c67038d14bca7d6 (commit) via 0ce8a5c08de0852f22f9be595c6f08a4a6c865e9 (commit) via 9457c95aa033aa192b0fbe2796e3a660a660d0ad (commit) via 68b5af65fa09c90278826898f199d289c049a01d (commit) via 77a01c398f20bf41921d73082f469acf6c9e0acf (commit) via d5d5ba3f7fe7dd5a52e6671387128cb9a901ec1e (commit) via 005aba29a1b5774b778bb65f4751a572d628589f (commit) via 93b66735ac2092675eec7a636625df84ff306fdc (commit) from 48d3b83b9dd3a97874f560660a21b7af8e10ffff (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0ff5bdd4c99824bb6e4b1c19f6f9f9e47ee96088 commit 0ff5bdd4c99824bb6e4b1c19f6f9f9e47ee96088 Merge: 0618f8b3ed d5d5ba3f7f Author: Brad King <brad.k...@kitware.com> AuthorDate: Wed Nov 6 14:29:12 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Wed Nov 6 09:29:22 2019 -0500 Merge topic 'ccmake_colored_values' d5d5ba3f7f ccmake: Identify the current cache entry 005aba29a1 ccmake: Improve display of the key controls 93b66735ac ccmake: Use type-based colors to display cache values Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !3955 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0618f8b3ed690275c87e5494084f33a6d3a07be7 commit 0618f8b3ed690275c87e5494084f33a6d3a07be7 Merge: 7b2e9b5537 68b5af65fa Author: Brad King <brad.k...@kitware.com> AuthorDate: Wed Nov 6 14:27:56 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Wed Nov 6 09:28:05 2019 -0500 Merge topic 'cpack-nsis-welcome-finish-title' 68b5af65fa CPack/NSIS: Add options for custom welcome/finish titles + display on 3 lines Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !3980 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7b2e9b5537af2977e6096d0c2cad1a2b94e11002 commit 7b2e9b5537af2977e6096d0c2cad1a2b94e11002 Merge: 9d8bb7bc4e ef86e8991b Author: Brad King <brad.k...@kitware.com> AuthorDate: Wed Nov 6 14:25:34 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Wed Nov 6 09:25:43 2019 -0500 Merge branch 'release-3.16' https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9d8bb7bc4e09131055a1ff542f655a4168cda9ca commit 9d8bb7bc4e09131055a1ff542f655a4168cda9ca Merge: a43c25a2e3 77a01c398f Author: Brad King <brad.k...@kitware.com> AuthorDate: Wed Nov 6 14:25:34 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Wed Nov 6 09:25:43 2019 -0500 Merge topic 'FindBoost-meta-component-ALL' 77a01c398f FindBoost: Prevent warning due to new meta-component "ALL" of Boost 1.73 Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !3996 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a43c25a2e3aa2ad32af99850b55240ce088f0483 commit a43c25a2e3aa2ad32af99850b55240ce088f0483 Merge: 30908fa0ee bae7a82ffa Author: Brad King <brad.k...@kitware.com> AuthorDate: Wed Nov 6 14:23:47 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Wed Nov 6 09:23:56 2019 -0500 Merge branch 'release-3.16' https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=30908fa0ee965a67c6dbdc554c67038d14bca7d6 commit 30908fa0ee965a67c6dbdc554c67038d14bca7d6 Merge: 48d3b83b9d 0ce8a5c08d Author: Brad King <brad.k...@kitware.com> AuthorDate: Wed Nov 6 14:23:47 2019 +0000 Commit: Kitware Robot <kwro...@kitware.com> CommitDate: Wed Nov 6 09:23:56 2019 -0500 Merge topic 'xcode-restore-CMakeLists' 0ce8a5c08d Xcode: Fix generated references to CMakeLists.txt files 9457c95aa0 cmGlobalXCodeGenerator: Mark known source locations Acked-by: Kitware Robot <kwro...@kitware.com> Merge-request: !3999 https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=68b5af65fa09c90278826898f199d289c049a01d commit 68b5af65fa09c90278826898f199d289c049a01d Author: Johnny Jazeix <jaz...@gmail.com> AuthorDate: Tue Nov 5 20:09:53 2019 +0100 Commit: Johnny Jazeix <jaz...@gmail.com> CommitDate: Tue Nov 5 20:09:53 2019 +0100 CPack/NSIS: Add options for custom welcome/finish titles + display on 3 lines Fixes: #11275 diff --git a/Help/cpack_gen/nsis.rst b/Help/cpack_gen/nsis.rst index 38676c4659..dc6524938c 100644 --- a/Help/cpack_gen/nsis.rst +++ b/Help/cpack_gen/nsis.rst @@ -133,3 +133,19 @@ on Windows Nullsoft Scriptable Install System. Specify the name of the program to uninstall the version. Default is ``Uninstall``. + +.. variable:: CPACK_NSIS_WELCOME_TITLE + + The title to display on the top of the page for the welcome page. + +.. variable:: CPACK_NSIS_WELCOME_TITLE_3LINES + + Display the title in the welcome page on 3 lines instead of 2. + +.. variable:: CPACK_NSIS_FINISH_TITLE + + The title to display on the top of the page for the finish page. + +.. variable:: CPACK_NSIS_FINISH_TITLE_3LINES + + Display the title in the finish page on 3 lines instead of 2. diff --git a/Help/release/dev/cpack-nsis-welcome-finish-page-title.rst b/Help/release/dev/cpack-nsis-welcome-finish-page-title.rst new file mode 100644 index 0000000000..8091d31e6e --- /dev/null +++ b/Help/release/dev/cpack-nsis-welcome-finish-page-title.rst @@ -0,0 +1,10 @@ +cpack-nsis-welcome-finish-page-title +------------------------------------ + +* The :cpack_gen:`CPack NSIS Generator` now supports + :variable:`CPACK_NSIS_WELCOME_TITLE` and :variable:`CPACK_NSIS_WELCOME_TITLE_3LINES`. + These can be used to specify the welcome page title and display it in 3 lines. + +* The :cpack_gen:`CPack NSIS Generator` now supports + :variable:`CPACK_NSIS_FINISH_TITLE` and :variable:`CPACK_NSIS_FINISH_TITLE_3LINES`. + These can be used to specify the finish page title and display it in 3 lines. diff --git a/Modules/Internal/CPack/NSIS.template.in b/Modules/Internal/CPack/NSIS.template.in index c1db769aca..23bb001838 100644 --- a/Modules/Internal/CPack/NSIS.template.in +++ b/Modules/Internal/CPack/NSIS.template.in @@ -542,6 +542,8 @@ FunctionEnd ;-------------------------------- ;Pages + @CPACK_NSIS_INSTALLER_WELCOME_TITLE_CODE@ + @CPACK_NSIS_INSTALLER_WELCOME_TITLE_3LINES_CODE@ !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@" @@ -557,6 +559,8 @@ FunctionEnd @CPACK_NSIS_PAGE_COMPONENTS@ !insertmacro MUI_PAGE_INSTFILES + @CPACK_NSIS_INSTALLER_FINISH_TITLE_CODE@ + @CPACK_NSIS_INSTALLER_FINISH_TITLE_3LINES_CODE@ !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM diff --git a/Source/CPack/cmCPackNSISGenerator.cxx b/Source/CPack/cmCPackNSISGenerator.cxx index adea8ecd15..f90a740ef7 100644 --- a/Source/CPack/cmCPackNSISGenerator.cxx +++ b/Source/CPack/cmCPackNSISGenerator.cxx @@ -129,14 +129,13 @@ int cmCPackNSISGenerator::PackageFiles() this->IsSet("CPACK_NSIS_MUI_UNIICON")) { std::string installerIconCode; if (this->IsSet("CPACK_NSIS_MUI_ICON")) { - installerIconCode += "!define MUI_ICON \""; - installerIconCode += this->GetOption("CPACK_NSIS_MUI_ICON"); - installerIconCode += "\"\n"; + installerIconCode += cmStrCat( + "!define MUI_ICON \"", this->GetOption("CPACK_NSIS_MUI_ICON"), "\"\n"); } if (this->IsSet("CPACK_NSIS_MUI_UNIICON")) { - installerIconCode += "!define MUI_UNICON \""; - installerIconCode += this->GetOption("CPACK_NSIS_MUI_UNIICON"); - installerIconCode += "\"\n"; + installerIconCode += + cmStrCat("!define MUI_UNICON \"", + this->GetOption("CPACK_NSIS_MUI_UNIICON"), "\"\n"); } this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_MUI_ICON_CODE", installerIconCode.c_str()); @@ -174,6 +173,32 @@ int cmCPackNSISGenerator::PackageFiles() installerRunCode.c_str()); } + if (this->IsSet("CPACK_NSIS_WELCOME_TITLE")) { + std::string welcomeTitleCode = + cmStrCat("!define MUI_WELCOMEPAGE_TITLE \"", + this->GetOption("CPACK_NSIS_WELCOME_TITLE"), "\""); + this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_WELCOME_TITLE_CODE", + welcomeTitleCode.c_str()); + } + + if (this->IsSet("CPACK_NSIS_WELCOME_TITLE_3LINES")) { + this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_WELCOME_TITLE_3LINES_CODE", + "!define MUI_WELCOMEPAGE_TITLE_3LINES"); + } + + if (this->IsSet("CPACK_NSIS_FINISH_TITLE")) { + std::string finishTitleCode = + cmStrCat("!define MUI_FINISHPAGE_TITLE \"", + this->GetOption("CPACK_NSIS_FINISH_TITLE"), "\""); + this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_FINISH_TITLE_CODE", + finishTitleCode.c_str()); + } + + if (this->IsSet("CPACK_NSIS_FINISH_TITLE_3LINES")) { + this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_FINISH_TITLE_3LINES_CODE", + "!define MUI_FINISHPAGE_TITLE_3LINES"); + } + // Setup all of the component sections if (this->Components.empty()) { this->SetOptionIfNotSet("CPACK_NSIS_INSTALLATION_TYPES", ""); https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d5d5ba3f7fe7dd5a52e6671387128cb9a901ec1e commit d5d5ba3f7fe7dd5a52e6671387128cb9a901ec1e Author: Sylvain Joubert <joubert...@gmail.com> AuthorDate: Wed Oct 30 14:10:33 2019 +0100 Commit: Sylvain Joubert <joubert...@gmail.com> CommitDate: Mon Nov 4 20:06:51 2019 +0100 ccmake: Identify the current cache entry diff --git a/Source/CursesDialog/cmCursesMainForm.cxx b/Source/CursesDialog/cmCursesMainForm.cxx index 4385ddc395..ffc9528966 100644 --- a/Source/CursesDialog/cmCursesMainForm.cxx +++ b/Source/CursesDialog/cmCursesMainForm.cxx @@ -447,6 +447,15 @@ void cmCursesMainForm::UpdateStatusBar(const char* message) bar[width] = '\0'; + // Highlight the current label + // Fields are grouped by 3, the first one being the label + // so start at 0 and move up by 3 avoiding the last null entry + using size_type = decltype(this->Fields)::size_type; + for (size_type index = 0; index < this->Fields.size() - 1; index += 3) { + bool currentLabel = index == static_cast<size_type>(findex - 2); + set_field_fore(this->Fields[index], currentLabel ? A_STANDOUT : A_NORMAL); + } + // Display CMake version info on the next line // We want to display this on the right char version[cmCursesMainForm::MAX_WIDTH]; https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=005aba29a1b5774b778bb65f4751a572d628589f commit 005aba29a1b5774b778bb65f4751a572d628589f Author: Sylvain Joubert <joubert...@gmail.com> AuthorDate: Wed Oct 30 14:08:42 2019 +0100 Commit: Sylvain Joubert <joubert...@gmail.com> CommitDate: Mon Nov 4 18:59:20 2019 +0100 ccmake: Improve display of the key controls Reduce space usage and add the key to display the output diff --git a/Source/CursesDialog/cmCursesLongMessageForm.cxx b/Source/CursesDialog/cmCursesLongMessageForm.cxx index 41fceee3c6..a69fdee894 100644 --- a/Source/CursesDialog/cmCursesLongMessageForm.cxx +++ b/Source/CursesDialog/cmCursesLongMessageForm.cxx @@ -86,7 +86,7 @@ void cmCursesLongMessageForm::PrintKeys() return; } char firstLine[512]; - sprintf(firstLine, "Press [e] to exit help"); + sprintf(firstLine, "Press [e] to exit screen"); char fmt_s[] = "%s"; curses_move(y - 2, 0); diff --git a/Source/CursesDialog/cmCursesMainForm.cxx b/Source/CursesDialog/cmCursesMainForm.cxx index 972509f65f..4385ddc395 100644 --- a/Source/CursesDialog/cmCursesMainForm.cxx +++ b/Source/CursesDialog/cmCursesMainForm.cxx @@ -322,25 +322,25 @@ void cmCursesMainForm::PrintKeys(int process /* = 0 */) } else { if (this->OkToGenerate) { sprintf(firstLine, - "Press [c] to configure Press [g] to generate and exit"); + " [l] Show log output [c] Configure" + " [g] Generate "); } else { sprintf(firstLine, - "Press [c] to configure "); + " [l] Show log output [c] Configure" + " "); } { const char* toggleKeyInstruction = - "Press [t] to toggle advanced mode (Currently %s)"; + " [t] Toggle advanced mode (currently %s)"; sprintf(thirdLine, toggleKeyInstruction, - this->AdvancedMode ? "On" : "Off"); + this->AdvancedMode ? "on" : "off"); } sprintf(secondLine, - "Press [h] for help " - "Press [q] to quit without generating"); + " [h] Help [q] Quit without generating"); } curses_move(y - 4, 0); - char fmt[512] = - "Press [enter] to edit option Press [d] to delete an entry"; + char fmt[512] = "Keys: [enter] Edit an entry [d] Delete an entry"; if (process) { memset(fmt, ' ', 57); } https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=93b66735ac2092675eec7a636625df84ff306fdc commit 93b66735ac2092675eec7a636625df84ff306fdc Author: Sylvain Joubert <joubert...@gmail.com> AuthorDate: Sun Oct 27 18:25:41 2019 +0100 Commit: Sylvain Joubert <joubert...@gmail.com> CommitDate: Mon Nov 4 18:59:20 2019 +0100 ccmake: Use type-based colors to display cache values The colors are based on the entry type (or value for booleans), paths and filepaths sharing the same color. diff --git a/Help/release/dev/ccmake-colored-values.rst b/Help/release/dev/ccmake-colored-values.rst new file mode 100644 index 0000000000..b00885dfc0 --- /dev/null +++ b/Help/release/dev/ccmake-colored-values.rst @@ -0,0 +1,5 @@ +ccmake-colored-values +--------------------- + +* :manual:`ccmake(1)` now displays cache values using colors + based on the entry type if the terminal supports color. diff --git a/Source/CursesDialog/CMakeLists.txt b/Source/CursesDialog/CMakeLists.txt index a9e46fd58f..c24ee76216 100644 --- a/Source/CursesDialog/CMakeLists.txt +++ b/Source/CursesDialog/CMakeLists.txt @@ -5,6 +5,7 @@ add_executable(ccmake ccmake.cxx cmCursesBoolWidget.cxx cmCursesCacheEntryComposite.cxx + cmCursesColor.cxx cmCursesDummyWidget.cxx cmCursesFilePathWidget.cxx cmCursesForm.cxx @@ -17,21 +18,41 @@ add_executable(ccmake cmCursesWidget.cxx ) target_include_directories(ccmake PRIVATE ${CURSES_INCLUDE_PATH}) +set(CMAKE_REQUIRED_INCLUDES ${CURSES_INCLUDE_PATH}) target_link_libraries(ccmake CMakeLib) if(CMAKE_USE_SYSTEM_FORM) find_path(CURSES_FORM_INCLUDE_DIR NAMES form.h HINTS ${CURSES_INCLUDE_PATH} ${CURSES_INCLUDE_PATH}/ncurses) if(CURSES_FORM_INCLUDE_DIR) target_include_directories(ccmake PRIVATE ${CURSES_FORM_INCLUDE_DIR}) + list(APPEND CMAKE_REQUIRED_INCLUDES ${CURSES_FORM_INCLUDE_DIR}) endif() target_link_libraries(ccmake ${CURSES_FORM_LIBRARY} ${CURSES_LIBRARY} ) + set(CMAKE_REQUIRED_LIBRARIES + ${CURSES_FORM_LIBRARY} + ${CURSES_LIBRARY} + ) if(CURSES_EXTRA_LIBRARY) target_link_libraries(ccmake ${CURSES_EXTRA_LIBRARY}) + list(APPEND CMAKE_REQUIRED_LIBRARIES ${CURSES_EXTRA_LIBRARY}) endif() else() target_link_libraries(ccmake cmForm) + get_target_property(cmFormIncludeDirs cmForm INTERFACE_INCLUDE_DIRECTORIES) + list(APPEND CMAKE_REQUIRED_INCLUDES ${cmFormIncludeDirs}) + get_target_property(cmFormLibraries cmForm INTERFACE_LINK_LIBRARIES) + set(CMAKE_REQUIRED_LIBRARIES ${cmFormLibraries}) +endif() + +include(CheckSymbolExists) +check_symbol_exists(use_default_colors + "form.h" + HAVE_CURSES_USE_DEFAULT_COLORS) +if(HAVE_CURSES_USE_DEFAULT_COLORS) + set_source_files_properties(cmCursesColor.cxx + PROPERTIES COMPILE_DEFINITIONS HAVE_CURSES_USE_DEFAULT_COLORS) endif() if(CMake_JOB_POOL_LINK_BIN) diff --git a/Source/CursesDialog/ccmake.cxx b/Source/CursesDialog/ccmake.cxx index 9e9dfbd195..7732105085 100644 --- a/Source/CursesDialog/ccmake.cxx +++ b/Source/CursesDialog/ccmake.cxx @@ -9,6 +9,7 @@ #include "cmsys/Encoding.hxx" +#include "cmCursesColor.h" #include "cmCursesForm.h" #include "cmCursesMainForm.h" #include "cmCursesStandardIncludes.h" @@ -126,6 +127,7 @@ int main(int argc, char const* const* argv) noecho(); /* Echo off */ cbreak(); /* nl- or cr not needed */ keypad(stdscr, true); /* Use key symbols as KEY_DOWN */ + cmCursesColor::InitColors(); signal(SIGWINCH, onsig); diff --git a/Source/CursesDialog/cmCursesBoolWidget.cxx b/Source/CursesDialog/cmCursesBoolWidget.cxx index 97b0811288..c4dbed8350 100644 --- a/Source/CursesDialog/cmCursesBoolWidget.cxx +++ b/Source/CursesDialog/cmCursesBoolWidget.cxx @@ -4,6 +4,7 @@ #include <string> +#include "cmCursesColor.h" #include "cmCursesWidget.h" #include "cmStateTypes.h" @@ -12,8 +13,10 @@ cmCursesBoolWidget::cmCursesBoolWidget(int width, int height, int left, : cmCursesWidget(width, height, left, top) { this->Type = cmStateEnums::BOOL; - set_field_fore(this->Field, A_NORMAL); - set_field_back(this->Field, A_STANDOUT); + if (!cmCursesColor::HasColors()) { + set_field_fore(this->Field, A_NORMAL); + set_field_back(this->Field, A_STANDOUT); + } field_opts_off(this->Field, O_STATIC); this->SetValueAsBool(false); } @@ -42,8 +45,16 @@ void cmCursesBoolWidget::SetValueAsBool(bool value) { if (value) { this->SetValue("ON"); + if (cmCursesColor::HasColors()) { + set_field_fore(this->Field, COLOR_PAIR(cmCursesColor::BoolOn)); + set_field_back(this->Field, COLOR_PAIR(cmCursesColor::BoolOn)); + } } else { this->SetValue("OFF"); + if (cmCursesColor::HasColors()) { + set_field_fore(this->Field, COLOR_PAIR(cmCursesColor::BoolOff)); + set_field_back(this->Field, COLOR_PAIR(cmCursesColor::BoolOff)); + } } } diff --git a/Source/CursesDialog/cmCursesColor.cxx b/Source/CursesDialog/cmCursesColor.cxx new file mode 100644 index 0000000000..641d48ccec --- /dev/null +++ b/Source/CursesDialog/cmCursesColor.cxx @@ -0,0 +1,29 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#include "cmCursesColor.h" + +#include "cmCursesStandardIncludes.h" + +bool cmCursesColor::HasColors() +{ +#ifdef HAVE_CURSES_USE_DEFAULT_COLORS + return has_colors(); +#else + return false; +#endif +} + +void cmCursesColor::InitColors() +{ +#ifdef HAVE_CURSES_USE_DEFAULT_COLORS + if (HasColors()) { + start_color(); + use_default_colors(); + init_pair(cmCursesColor::BoolOff, COLOR_RED, -1); + init_pair(cmCursesColor::BoolOn, COLOR_GREEN, -1); + init_pair(cmCursesColor::String, COLOR_BLUE, -1); + init_pair(cmCursesColor::Path, COLOR_YELLOW, -1); + init_pair(cmCursesColor::Options, COLOR_MAGENTA, -1); + } +#endif +} diff --git a/Source/CursesDialog/cmCursesColor.h b/Source/CursesDialog/cmCursesColor.h new file mode 100644 index 0000000000..78ca52cbb1 --- /dev/null +++ b/Source/CursesDialog/cmCursesColor.h @@ -0,0 +1,24 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cmCursesColor_h +#define cmCursesColor_h + +class cmCursesColor +{ +public: + enum Color + { + // Default color is pair 0 + BoolOff = 1, + BoolOn, + String, + Path, + Options + }; + + static bool HasColors(); + + static void InitColors(); +}; + +#endif // cmCursesColor_h diff --git a/Source/CursesDialog/cmCursesOptionsWidget.cxx b/Source/CursesDialog/cmCursesOptionsWidget.cxx index eb773ad0fb..a15241faed 100644 --- a/Source/CursesDialog/cmCursesOptionsWidget.cxx +++ b/Source/CursesDialog/cmCursesOptionsWidget.cxx @@ -2,6 +2,7 @@ file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmCursesOptionsWidget.h" +#include "cmCursesColor.h" #include "cmCursesWidget.h" #include "cmStateTypes.h" @@ -15,8 +16,13 @@ cmCursesOptionsWidget::cmCursesOptionsWidget(int width, int height, int left, // there is no option type, and string type causes ccmake to cast // the widget into a string widget at some point. BOOL is safe for // now. - set_field_fore(this->Field, A_NORMAL); - set_field_back(this->Field, A_STANDOUT); + if (cmCursesColor::HasColors()) { + set_field_fore(this->Field, COLOR_PAIR(cmCursesColor::Options)); + set_field_back(this->Field, COLOR_PAIR(cmCursesColor::Options)); + } else { + set_field_fore(this->Field, A_NORMAL); + set_field_back(this->Field, A_STANDOUT); + } field_opts_off(this->Field, O_STATIC); } diff --git a/Source/CursesDialog/cmCursesPathWidget.cxx b/Source/CursesDialog/cmCursesPathWidget.cxx index bb3808e89c..8ed42dee75 100644 --- a/Source/CursesDialog/cmCursesPathWidget.cxx +++ b/Source/CursesDialog/cmCursesPathWidget.cxx @@ -4,6 +4,7 @@ #include <vector> +#include "cmCursesColor.h" #include "cmCursesMainForm.h" #include "cmCursesStringWidget.h" #include "cmStateTypes.h" @@ -16,6 +17,13 @@ cmCursesPathWidget::cmCursesPathWidget(int width, int height, int left, this->Type = cmStateEnums::PATH; this->Cycle = false; this->CurrentIndex = 0; + if (cmCursesColor::HasColors()) { + set_field_fore(this->Field, COLOR_PAIR(cmCursesColor::Path)); + set_field_back(this->Field, COLOR_PAIR(cmCursesColor::Path)); + } else { + set_field_fore(this->Field, A_NORMAL); + set_field_back(this->Field, A_STANDOUT); + } } void cmCursesPathWidget::OnType(int& key, cmCursesMainForm* fm, WINDOW* w) diff --git a/Source/CursesDialog/cmCursesStringWidget.cxx b/Source/CursesDialog/cmCursesStringWidget.cxx index 6296af20ba..c62947836c 100644 --- a/Source/CursesDialog/cmCursesStringWidget.cxx +++ b/Source/CursesDialog/cmCursesStringWidget.cxx @@ -4,6 +4,7 @@ #include <cstdio> +#include "cmCursesColor.h" #include "cmCursesForm.h" #include "cmCursesMainForm.h" #include "cmCursesStandardIncludes.h" @@ -21,8 +22,13 @@ cmCursesStringWidget::cmCursesStringWidget(int width, int height, int left, { this->InEdit = false; this->Type = cmStateEnums::STRING; - set_field_fore(this->Field, A_NORMAL); - set_field_back(this->Field, A_STANDOUT); + if (cmCursesColor::HasColors()) { + set_field_fore(this->Field, COLOR_PAIR(cmCursesColor::String)); + set_field_back(this->Field, COLOR_PAIR(cmCursesColor::String)); + } else { + set_field_fore(this->Field, A_NORMAL); + set_field_back(this->Field, A_STANDOUT); + } field_opts_off(this->Field, O_STATIC); } ----------------------------------------------------------------------- Summary of changes: Help/cpack_gen/nsis.rst | 16 ++++++++++ Help/release/dev/ccmake-colored-values.rst | 5 +++ .../dev/cpack-nsis-welcome-finish-page-title.rst | 10 ++++++ Modules/FindBoost.cmake | 3 ++ Modules/Internal/CPack/NSIS.template.in | 4 +++ Source/CPack/cmCPackNSISGenerator.cxx | 37 ++++++++++++++++++---- Source/CursesDialog/CMakeLists.txt | 21 ++++++++++++ Source/CursesDialog/ccmake.cxx | 2 ++ Source/CursesDialog/cmCursesBoolWidget.cxx | 15 +++++++-- Source/CursesDialog/cmCursesColor.cxx | 29 +++++++++++++++++ Source/CursesDialog/cmCursesColor.h | 24 ++++++++++++++ Source/CursesDialog/cmCursesLongMessageForm.cxx | 2 +- Source/CursesDialog/cmCursesMainForm.cxx | 25 ++++++++++----- Source/CursesDialog/cmCursesOptionsWidget.cxx | 10 ++++-- Source/CursesDialog/cmCursesPathWidget.cxx | 8 +++++ Source/CursesDialog/cmCursesStringWidget.cxx | 10 ++++-- Source/cmGlobalXCodeGenerator.cxx | 24 ++++++++------ ...-check.cmake => ImplicitCMakeLists-check.cmake} | 4 +-- .../RunCMake/XcodeProject/ImplicitCMakeLists.cmake | 0 Tests/RunCMake/XcodeProject/RunCMakeTest.cmake | 1 + 20 files changed, 217 insertions(+), 33 deletions(-) create mode 100644 Help/release/dev/ccmake-colored-values.rst create mode 100644 Help/release/dev/cpack-nsis-welcome-finish-page-title.rst create mode 100644 Source/CursesDialog/cmCursesColor.cxx create mode 100644 Source/CursesDialog/cmCursesColor.h copy Tests/RunCMake/XcodeProject/{ExplicitCMakeLists-check.cmake => ImplicitCMakeLists-check.cmake} (80%) copy Modules/IntelVSImplicitPath/hello.f => Tests/RunCMake/XcodeProject/ImplicitCMakeLists.cmake (100%) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org https://cmake.org/mailman/listinfo/cmake-commits