Reputation:
Currently trying to setup my C development environment on windows with MinGW and it looks like CMAKE is giving me the following error:
sh.exe was found in your PATH, here:
C:/Program Files/Git/user/bin/sh.exe
For MinGW make to work correctly sh.exe must NOT be in your path.
Run cmake from a shill that does not have sh.exe in your PATH.
If you want to use a UNIX shell, then use MSYS Makefiles
That error is being thrown inside of CLion IDE. I am not sure if I need to change settings inside of CLion or what. I have looked at my windows path and I do not see any reference to sh.exe.
My path is as follows:
C:\Program Files (x86)\Razer Chroma SDK\bin;C:\Program Files\Razer Chroma SDK\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Nodist\bin;C:\Users\wesle\AppData\Local\Microsoft\WindowsApps;
Upvotes: 44
Views: 32533
Reputation: 6912
Not exactly this setup (working from terminal here), but got the same error. In my case, sh.exe
was not in my path, but was built into the terminal I was using (cmder). Switching to regular CMD worked for me.
Upvotes: 0
Reputation: 24040
I like @Elia's answer, but if you are using CLion, it uses the CodeBlocks - MinGW Makefiles
CMake generator which doesn't have the sh.exe
checking problem. Add this to your CMake line:
-G "CodeBlocks - MinGW Makefiles"
Upvotes: 0
Reputation: 691
Just add
set(DCMAKE_SH="CMAKE_SH-NOTFOUND")
to your
CMakeLists.txt file
Upvotes: 6
Reputation: 11
It's the problem of your git's path.
I assume you are using the Clion, just check if you have added %gitpath%\bin
to your path, that's where the problem is. You should use %gitpath%\cmd
instead, typically for me it's D:\Git\cmd
.Since the former one includes sh.exe
in your path which results in the error.
Upvotes: 1
Reputation: 1443
For me, this simple parameter passed to cmake has worked -DCMAKE_SH="CMAKE_SH-NOTFOUND"
.
Upvotes: 77
Reputation: 459
Check you really do not have sh.exe
in your PATH
by opening a Windows Command Line and typing where sh.exe
. If you have this file in your path, the command will return its path (then you should remove it from your PATH
) else if windows return it was not found, try to clean up the folder CMakeFiles
and a file name CMakeCache.txt
somewhere inside your project folder.
Upvotes: 7