cmake で github のレポジトリを登録したがコンパイルできない
経緯
Windows で CLion 使った開発を趣味でしているが表題の件でハマった。どういう状況でハマったかを書く。
- コンパイラは MinGW を使用している
- Git は Windows でも Linux コマンドが使えるようなパスを通している
- cmake を使って github 上のレポジトリを ExternalProject_Add した
上記の食合せだと動かなくなる。
どうなるのか
症例1
経緯の状態のまま cmake を実行して github のレポジトリを clone し、submodule update --init --recursive
的なことまでは進むが、 MinGW がコンパイルをボイコットする。
CMake Error at C:/path/to/CMake.cmake:20 (MESSAGE): sh.exe was found in your PATH, here: C:/path/to/sh.exe For MinGW make to work correctly sh.exe must NOT be in your path. Run cmake from a shell that does not have sh.exe in your PATH. If you want to use a UNIX shell, then use MSYS Makefiles. Call Stack (most recent call first): CMakeLists.txt:8 (project)
症例2
じゃあパスに入ってる sh.exe 消したら進むんじゃね?と浅はかに考えて sh.exe をリネームした。
fatal: 'submodule' appears to be a git command, but we were not able to execute it. Maybe git-submodule is broken?
(◞‸◟)
どうするの?
Git のインストール時に UNIX ツール群へのパスを通さないオプションがあるので Git 消して再インストールすれば良い。 これでぼくは二日間帰宅後の時間をだいぶ無駄にした。