[CMake] Bug report

Jon Kristensen jon.kristensen at km.kongsberg.com
Thu Jan 28 01:52:42 EST 2016


Hi,

Host:                     Windows
Program:             CMake-gui.exe
Version                3.4.3

Problem:
Running a generator that uses the Windows Shell, and then running a generator that uses the Unix shell without exiting Cmake-gui first, causes the makefiles from the latter to have the wrong shell command (SHELL = cmd.exe)

Example:

1.       Start cmake-gui

2.       Select a project that uses the Visual Studio 2015 generator and run configure and generate

3.       Select a project that uses the CDT4 - Unix makefiles and run configure and generate



The Unix makefiles will have "SHELL=cmd.exe" and Windows path names (with '\'s instead of '/'s).



Assumed cause (based on cmake-3.4.3 source distribution) :



The selection of shell seems to be based on the variable cmState::windowsShell

This variable is set to false in the cmState constructor

And is set to true (through a call to member SetWindowsShell(true) from all generators that use a Windows shell

But I could find no code that resets it if a non-Windows-Shell generator is run a(at a later stage)



Thanks

Jon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20160128/e3dba7f9/attachment.html>


More information about the CMake mailing list