CMake issueshttps://gitlab.kitware.com/cmake/cmake/-/issues2023-12-20T08:45:58-05:00https://gitlab.kitware.com/cmake/cmake/-/issues/25520ccmake messes up terminal window when failing right away2023-12-20T08:45:58-05:00Eyal Rozenbergeyalroz1@gmx.comccmake messes up terminal window when failing right awayccmake manipulates the terminal window to make it interactive rather than a teletype-printer-like endless sequence of lines. And - when it quits, it restores the terminal to its state before it ran.
However, in some case when ccmake fai...ccmake manipulates the terminal window to make it interactive rather than a teletype-printer-like endless sequence of lines. And - when it quits, it restores the terminal to its state before it ran.
However, in some case when ccmake fails early - it terminates without restoring the terminal, leaving it in a weird state where typed characters are not echoed, and successive lines don't get CRLF'ed, only LF'ed. Example: If we write `ccmake --build my_build_dir`, we get something like:
```
CMake Error: Unknown argument --build
CMake Error: Run 'cmake --help' for all supported options.
[joeuser@myhost ~/src/myproj]$
```
Please make sure that the terminal restoration code is triggered also when such errors (not just this specific one please) occur.https://gitlab.kitware.com/cmake/cmake/-/issues/22607ccmake cuts off the end of log output2023-03-14T06:44:53-04:00Craig Scottccmake cuts off the end of log outputWhile running ccmake on a project with a lot of output (a top level Qt6 build in my case), I'm noticing lately that the end of that output is sometimes truncated. I may be losing up to 20 lines or so, maybe less. It is possible that the ...While running ccmake on a project with a lot of output (a top level Qt6 build in my case), I'm noticing lately that the end of that output is sometimes truncated. I may be losing up to 20 lines or so, maybe less. It is possible that the truncation only occurs when the configuration step succeeds but the generation step encounters an error. Perhaps there's a missed buffer flush before exit or something?
I'm on Linux using CMake 3.21.2https://gitlab.kitware.com/cmake/cmake/-/issues/22370ccmake cuts off option names arbitrarily2021-07-01T12:45:04-04:00Eyal Rozenbergeyalroz1@gmx.comccmake cuts off option names arbitrarilyWhen you run ccmake (v 3.19.4 in my case), it cuts off cached value names after a certain number of characters, even when your terminal screen could afford a lot more columns to them, and even considering the need to reserve columns for ...When you run ccmake (v 3.19.4 in my case), it cuts off cached value names after a certain number of characters, even when your terminal screen could afford a lot more columns to them, and even considering the need to reserve columns for the values. Example:
![Screenshot_from_2021-07-01_00-04-50](/uploads/ad82f1143cf58ff71848c8bc8e6905d3/Screenshot_from_2021-07-01_00-04-50.png)
Is it because the default value is fixed hard? If that's the case, I suggest it be changed to some fraction of the terminal width (or `max(hard_coded_minimum, get_terminal_width() * cached_value_name_fraction)`).https://gitlab.kitware.com/cmake/cmake/-/issues/21478ccmake clears cache strings with non-ASCII characters2022-11-22T13:43:18-05:00Jellbyccmake clears cache strings with non-ASCII charactersA string can contain non-ASCII characters with CMake, at least everything seems to work as intended.
```shell
$ grep QCMaquis_NAME: CMakeCache.txt
QCMaquis_NAME:STRING=John Doë
$ cmake .
...
$ grep QCMaquis_NAME: CMakeCache.txt
QCMaquis...A string can contain non-ASCII characters with CMake, at least everything seems to work as intended.
```shell
$ grep QCMaquis_NAME: CMakeCache.txt
QCMaquis_NAME:STRING=John Doë
$ cmake .
...
$ grep QCMaquis_NAME: CMakeCache.txt
QCMaquis_NAME:STRING=John Doë
```
(utf-8 encoding, if it matters)
But just running ccmake clears the string with no warning:
```shell
$ grep QCMaquis_NAME: CMakeCache.txt
QCMaquis_NAME:STRING=John Doë
$ ccmake . # and press "q"
$ grep QCMaquis_NAME: CMakeCache.txt
QCMaquis_NAME:STRING=
```
It is also impossible to enter or paste the non-ASCII character in ccmake.https://gitlab.kitware.com/cmake/cmake/-/issues/20615ccmake: Implicit [c] configure action on startup2020-04-22T14:31:57-04:00Дилян Палаузовccmake: Implicit [c] configure action on startupWhen I type 'ccmake ..' ccmake-3.17.0 shows 'EMPTY CACHE...Press [c] to configure'. Since there is no other choice at this stage, ccmake shall implicitly do the 'configure' instead of waiting for the user to press [c].When I type 'ccmake ..' ccmake-3.17.0 shows 'EMPTY CACHE...Press [c] to configure'. Since there is no other choice at this stage, ccmake shall implicitly do the 'configure' instead of waiting for the user to press [c].https://gitlab.kitware.com/cmake/cmake/-/issues/20535CCMake performance regression [MacOS Only]2020-05-05T09:20:43-04:00Robert MaynardCCMake performance regression [MacOS Only]ccmake for 3.17 looks to have a performance regression on projects that generate lots of output text on MacOS.
Given the following sample `CMakeLists.txt`, when run under `ccmake` you can watch the linear slowdown with each subsequent
`...ccmake for 3.17 looks to have a performance regression on projects that generate lots of output text on MacOS.
Given the following sample `CMakeLists.txt`, when run under `ccmake` you can watch the linear slowdown with each subsequent
`message`
```cmake
project(sample)
foreach(v RANGE 150)
message(STATUS "${v}")
endforeach()
```
Benchmark
| version | cmake | ccmake |
| ------ | ------ | ------ |
| 3.16 | ~3ms | ~2sec |
| 3.17 | ~4ms | ~32sec |3.17.1Sylvain JoubertSylvain Jouberthttps://gitlab.kitware.com/cmake/cmake/-/issues/20093ccmake: Resize windows may cause crash2022-07-07T10:03:12-04:00Charles Gueunetccmake: Resize windows may cause crashI am on the latest cmake version with colored ccmake. This feature is awesome btw.
Using i3 and KDE, I have noticed crash when the windows is resized quickly during the cnfigure step.
The crash does not seems to happens when the window i...I am on the latest cmake version with colored ccmake. This feature is awesome btw.
Using i3 and KDE, I have noticed crash when the windows is resized quickly during the cnfigure step.
The crash does not seems to happens when the window is resized "slowly" (using the mouse) but only when resizing quickly (using keyboard shortcuts).Sylvain JoubertSylvain Jouberthttps://gitlab.kitware.com/cmake/cmake/-/issues/19323Proposal: cache entry groups2022-04-06T13:43:18-04:00Kyle EdwardsProposal: cache entry groupsThe Linux kernel's buildsystem has a hierarchical menu with options being grouped into different sub-menus, which makes things easier for the end user (they're not presented with a giant wall of options and can quickly find the one they ...The Linux kernel's buildsystem has a hierarchical menu with options being grouped into different sub-menus, which makes things easier for the end user (they're not presented with a giant wall of options and can quickly find the one they care about.) I propose that we do something similar. We can add a property to cache entries called `CACHE_GROUP` which will allow us to group them together in a meaningful way in `ccmake` and `cmake-gui`.
Here's an example of what this might look like:
```cmake
add_cache_group(MODULES DESCRIPTION "Loadable Modules")
add_cache_group(FOO_MODULES DESCRIPTION "Foo Modules")
set_property(CACHE_GROUP FOO_MODULES PROPERTY PARENT MODULES)
option(BAR_MODULE "Bar Module" ON)
set_property(CACHE BAR_MODULE PROPERTY CACHE_GROUP FOO_MODULES)
option(DEBUGGING "Debugging" OFF)
```
In `cmake-gui`, this would present as a expanding/collapsing tree view:
```
- Loadable Modules
- Foo Modules
BAR_MODULE
DEBUGGING
```
In `ccmake`, rather than being a tree view, hitting enter on one of the cache groups would take you into the submenu for that group.https://gitlab.kitware.com/cmake/cmake/-/issues/19033ccmake: does not support ncursesw2020-11-24T11:18:40-05:00John Frankishccmake: does not support ncurseswcompiling cmake-3.13.4 using "./bootstrap --prefix=/usr/local --system-libs" gives an error that ncurses cannot be found.
On this system, there are only ncurses wide libs and they are installed in /usr/local/lib with the headers in /usr...compiling cmake-3.13.4 using "./bootstrap --prefix=/usr/local --system-libs" gives an error that ncurses cannot be found.
On this system, there are only ncurses wide libs and they are installed in /usr/local/lib with the headers in /usr/local/include/ncursesw.
After trying to force things in `Modules/FindCurses.cmake`:
```
set(CURSES_NEED_NCURSES TRUE)
set(CURSES_NEED_WIDE TRUE)
set(CURSES_NCURSES_INCLUDE_PATH "/usr/local/include")
set(CURSES_FORM_LIBRARY "/usr/local/lib/libformw.so")
```
./bootstrap still gives an error that ncurses detection failed, but "make" succeeds after correcting `#include <form.h>` to `<ncursesw/form.h>` in `Source/CursesDialog/cmCursesStandardIncludes.h`
I guess I'm missing something somewhere - what is the correct way to deal with this?https://gitlab.kitware.com/cmake/cmake/-/issues/18809Resize variable pane in ccmake for longer variable names2021-03-22T16:59:22-04:00Ben BoeckelResize variable pane in ccmake for longer variable namesLong variable names are cut off in `ccmake` since the width of the variable column is fixed. Maybe it should be `max(max(variable_len) + 2, 30%)` or something?Long variable names are cut off in `ccmake` since the width of the variable column is fixed. Maybe it should be `max(max(variable_len) + 2, 30%)` or something?https://gitlab.kitware.com/cmake/cmake/-/issues/18057Building CMake from source code on RHEL 7.5 multilib fails to link with -ltinfo2018-06-04T18:01:45-04:00matzke1Building CMake from source code on RHEL 7.5 multilib fails to link with -ltinfoOn a clean RHEL-7.5 VM with developer tools installed and also 32-bit libraries (sudo yum install glibc-devel.i686 libgcc.i686 libstdc++-devel.i686 ncurses-devel.i686), building CMake from source code fails to link with libtinfo.so.
...On a clean RHEL-7.5 VM with developer tools installed and also 32-bit libraries (sudo yum install glibc-devel.i686 libgcc.i686 libstdc++-devel.i686 ncurses-devel.i686), building CMake from source code fails to link with libtinfo.so.
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../libtinfo.so when searching for -ltinfo
/usr/bin/ld: skipping incompatible //lib/libtinfo.so when searching for -ltinfo
/usr/bin/ld: skipping incompatible //usr/lib/libtinfo.so when searching for -ltinfo
/usr/bin/ld: cannot find -ltinfo
This occurs with CMake versions 3.8.0 through 3.11.3. It does not occur if multilib is not installed.
The /usr/lib directory contains (only when multilib is used):
$ ls -l /usr/lib/libtinfo*
lrwxrwxrwx. 1 root root 13 Jun 2 15:48 /usr/lib/libtinfo.so -> libtinfo.so.5
lrwxrwxrwx. 1 root root 15 Jun 2 15:48 /usr/lib/libtinfo.so.5 -> libtinfo.so.5.9
-rwxr-xr-x. 1 root root 136316 Aug 15 2017 /usr/lib/libtinfo.so.5.9
The /usr/lib64 directory contains:
$ ls -l /usr/lib64/libtinfo*
lrwxrwxrwx. 1 root root 15 Mar 23 17:41 /usr/lib64/libtinfo.so.5 -> libtinfo.so.5.9
-rwxr-xr-x. 1 root root 174576 Aug 15 2017 /usr/lib64/libtinfo.so.5.9https://gitlab.kitware.com/cmake/cmake/-/issues/18053ccmake for windows using (pd)curses2023-10-11T07:05:39-04:00gegoggigogccmake for windows using (pd)cursesHi,
I tried compiling ccmake using PDCurses for windows. It as simple as just using the PDCurses library instead, with little to none modifications of the source code.
The only issue is that in ccmake.cxx you can't use the signal on con...Hi,
I tried compiling ccmake using PDCurses for windows. It as simple as just using the PDCurses library instead, with little to none modifications of the source code.
The only issue is that in ccmake.cxx you can't use the signal on console resize to trigger the callback. However, if you just remove those lines it compiles and just works (except for resizing.. but that must be solvable without too much hassle).
Is this of any interest to you?https://gitlab.kitware.com/cmake/cmake/-/issues/16983Prevent ccmake from retrigerring a cmake execution before build when nothing ...2018-07-13T03:20:37-04:00Mathieu Westphal (Kitware)Prevent ccmake from retrigerring a cmake execution before build when nothing has changedonce you've run ccmake, even if you do not change anything, cmake will need to reconfigure and execute.
It would be great if one could use ccmake to take a look into variables instead of openning CMakeCache.txt.
Steps to reproduce :
...once you've run ccmake, even if you do not change anything, cmake will need to reconfigure and execute.
It would be great if one could use ccmake to take a look into variables instead of openning CMakeCache.txt.
Steps to reproduce :
* configure and compile a project
* run ccmake
* q (quit)
* make
* cmake is executedhttps://gitlab.kitware.com/cmake/cmake/-/issues/16203Document ccmake keybindings2022-04-08T09:58:13-04:00Ben BoeckelDocument ccmake keybindingsCurrently there's no documentation for how to actually use ccmake (particularly what keys are available).Currently there's no documentation for how to actually use ccmake (particularly what keys are available).https://gitlab.kitware.com/cmake/cmake/-/issues/14538passing -D to ccmake prevents editing that value2017-10-13T13:18:30-04:00Kitware Robotpassing -D to ccmake prevents editing that valueThis issue was created automatically from an original [Mantis Issue](https://cmake.org/Bug/view.php?id=14538). Further discussion may take place here.This issue was created automatically from an original [Mantis Issue](https://cmake.org/Bug/view.php?id=14538). Further discussion may take place here.https://gitlab.kitware.com/cmake/cmake/-/issues/11220Configure and generate in one step from GUIs2018-04-28T09:16:22-04:00Kitware RobotConfigure and generate in one step from GUIsThis issue was created automatically from an original [Mantis Issue](https://cmake.org/Bug/view.php?id=11220). Further discussion may take place here.This issue was created automatically from an original [Mantis Issue](https://cmake.org/Bug/view.php?id=11220). Further discussion may take place here.https://gitlab.kitware.com/cmake/cmake/-/issues/9418'ccmake .' and make 'edit_cache' unconditionally modify CMakeCache.txt2018-04-28T09:16:24-04:00Kitware Robot'ccmake .' and make 'edit_cache' unconditionally modify CMakeCache.txtThis issue was created automatically from an original [Mantis Issue](https://cmake.org/Bug/view.php?id=9418). Further discussion may take place here.This issue was created automatically from an original [Mantis Issue](https://cmake.org/Bug/view.php?id=9418). Further discussion may take place here.https://gitlab.kitware.com/cmake/cmake/-/issues/8260add "build" button to cmake-gui ?2018-04-28T09:16:26-04:00Kitware Robotadd "build" button to cmake-gui ?This issue was created automatically from an original [Mantis Issue](https://cmake.org/Bug/view.php?id=8260). Further discussion may take place here.This issue was created automatically from an original [Mantis Issue](https://cmake.org/Bug/view.php?id=8260). Further discussion may take place here.https://gitlab.kitware.com/cmake/cmake/-/issues/4025ccmake always displays a cursor2018-04-28T09:16:28-04:00Kitware Robotccmake always displays a cursorThis issue was created automatically from an original [Mantis Issue](https://cmake.org/Bug/view.php?id=4025). Further discussion may take place here.This issue was created automatically from an original [Mantis Issue](https://cmake.org/Bug/view.php?id=4025). Further discussion may take place here.