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
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to