[CMake] FW: cmake newbie questions

Phil Smith phil at voltage.com
Wed Aug 6 17:59:53 EDT 2008


Harrumph:

C:\temp>cmake -G"Unix Makefiles" .
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Check for working C compiler: CMAKE_C_COMPILER-NOTFOUND
CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found.   Please set CMAKE_C_COMPILER to a valid compiler path or name.
CMake Error: Internal CMake error, TryCompile configure of cmake failed
-- Check for working C compiler: CMAKE_C_COMPILER-NOTFOUND -- broken
CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeTestCCompiler.cmake:32 (MESSAGE):
  The C compiler "CMAKE_C_COMPILER-NOTFOUND" is not able to compile a simple
  test program.

  It fails with the following output:

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  :2308322 (PROJECT)

CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found.   Please set CMAKE_C_COMPILER to a valid compiler path or name.
CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found.   Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
-- Configuring done

C:\temp>
-----Original Message-----
From: Alexander Neundorf [mailto:a.neundorf-work at gmx.net]
Sent: Wednesday, August 06, 2008 5:49 PM
To: Phil Smith
Cc: cmake at cmake.org
Subject: Re: [CMake] FW: cmake newbie questions

On Wednesday 06 August 2008, Phil Smith wrote:
> I added the last line in the following block in
> CMakeDetermineCCompiler.cmake (insertion after line 69):
>
>   LIST(LENGTH CMAKE_C_COMPILER _CMAKE_C_COMPILER_LIST_LENGTH)
>   IF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2)
>     LIST(GET CMAKE_C_COMPILER 1 CMAKE_C_COMPILER_ARG1)
>     LIST(GET CMAKE_C_COMPILER 0 CMAKE_C_COMPILER)
>   ENDIF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2)
> MESSAGE(STATUS "${CMAKE_C_COMPILER_ARG1}!")
>
> And when I run it, I get only the exclamation point. So I don't think
> CMAKE_C_COMPILER is being set right.
>
> In fact, I changed the MESSAGE to:
> MESSAGE(STATUS "${CMAKE_C_COMPILER_ARG1}! length is
> !${_CMAKE_C_COMPILER_LIST_LENGTH}! compiler !${CMAKE_C_COMPILER}!")
>
> and no matter whether I set the variable to two tokens, two tokens in one
> set of double quotes, or two tokens in two sets of double quotes, I get the
> same output:
>
> -- ! length is !1! compiler !c:/progra~1/dignus/cc.bat!
>
> So ARG1 is always null, which makes sense since length is always 1.

This should really return 2:
LIST(LENGTH CMAKE_C_COMPILER _CMAKE_C_COMPILER_LIST_LENGTH)

Please run cmake on the attached CMakeLists.txt (no cross compiling, just run
it) and post the output.
Here it gives:
$ /opt/cmake-2.6.1-Linux-i386/bin/cmake .
-- x length: 2
-- y length: 1
-- Configuring done
-- Generating done
-- Build files have been written to: /home/alex/src/tests/listtest


Alex


More information about the CMake mailing list