[CMake] CMake hangs

Phil Smith phil at voltage.com
Wed Aug 27 13:17:55 EDT 2014


For a long time, we've been stuck on CMake 2.8 because later versions silently hang for us. This is doing in-source builds, which I know are considered Evil, but we can't move off them yet.

We had another problem (see my earlier posts with Subject: Dependency weirdness) that turned out to be related to a bug in CMake, Cygwin, or Windows, where the dependencies worked if the source directory had a period in the name and didn't if not, due to a case mismatch in the CMakeLists.txt.

That led me to wonder whether that was causing the hang. I do not believe it does. I installed CMake 3.0.1 and did NOT customize it to support the cross-compiler we're using, then switched to it and tried that. Hang. This is the CMake command:

cmake -DCMAKE_TOOLCHAIN_FILE:string="%~dp0\zosport.cmake" -G"Unix Makefiles" .\

Hmm, sez I, I wonder if it's due to the lack of cross-compiler support. I know, I'll copy the CMakeLists.txt to c:\temp and try it there. Hang.

What about 2.8? I removed (well, renamed) the compiler support and tried it:

C:\temp>cmake -DCMAKE_TOOLCHAIN_FILE:string="%~dp0\zosport.cmake" -G"Unix Makefiles" .\
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineSystem.cmake:92 (MESSAGE):
  Could not find toolchain file: %~dp0\zosport.cmake
Call Stack (most recent call first):
  CMakeLists.txt:8 (project)


CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER
CMake Error: Could not find cmake module file:C:/temp/CMakeFiles/CMakeCCompiler.cmake
CMake Error: cmListFileCache: error can not open file C:/temp
CMake Error: Could not find cmake module file:
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_ASM_DIGNUS_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_ASM_DIGNUS_COMPILER
CMake Error: Could not find cmake module file:C:/temp/CMakeFiles/CMakeASM_DIGNUSCompiler.cmake
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER_ENV_VAR
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER
CMake Error: Could not find cmake module file:C:/temp/CMakeFiles/CMakeCXXCompiler.cmake
CMake Error: Could not find cmake module file:CMakeASM_DIGNUSInformation.cmake
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_ASM_DIGNUS_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!

Seems like the hang in 3.0.1 is wrong, but I don't have the skills to tell. And since the Toolchain file is not missing in the actual path, this isn't necessarily the same hang, but it seems worth understanding. The hang *feels* like something is getting a null input and is thus trying to read from stdin, though typing junk on the console doesn't make it happy, even with a ^Z after it.

Any ideas?

...phsiii
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20140827/36cea230/attachment.html>


More information about the CMake mailing list