[CMake] CMAKE_MAKE_PROGRAM is not set.

Piotr Dobrogost pd at opensource.dobrogost.pl
Sat Apr 18 12:52:45 EDT 2009


Bill Hoffman wrote:

> The problem seems to be this:
>
> Compiling the C compiler identification source file "CMakeCCompilerId.c"
> failed.
> Compiler: cl
> Build flags:
> Id flags:
>
> The output was:
> The system cannot find the file specified
>
>
> Compiling the C compiler identification source file "CMakeCCompilerId.c"
> failed.
> Compiler: cl
> Build flags:
> Id flags: -c
>
> The output was:
> The system cannot find the file specified
>
>
> Determining the version of compiler failed with the following output:
> CreateProcessError: The system cannot find the file specified.^M
>
>
> Inside CMake it does this:
>    EXECUTE_PROCESS(
>       COMMAND ${CMAKE_${lang}_COMPILER}
>               ${CMAKE_${lang}_COMPILER_ID_ARG1}
>               ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
>               ${testflags}
>               "${src}"
>       WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
>       OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
>       ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
>       RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
>       )
>
> For some reason cl does not seem to be able to run.   I assume if you do
> something like this:
>
> touch foo.cxx

As a side note; touch is not present on Windows by default :)

> cl -c foo.cxx

> It works from that shell?

Before running vcvarsall.bat it doesn't.
After running vcvarsall.bat it does.

> Could you try this:
> set CC=C:/PROGRA~2/MICROS~1.0/VC/bin/cl.exe
>
> Then run CMake in a clean build tree.

There are no errors when running cmake in a clean build tree after
running vcvarsall.bat.
Problems are only in this scenario;

1. Open command prompt.
2. Run cmake. (error "To use the NMake generator, cmake must be run from
a shell that can use the compiler cl from the command line.  This
environment does not contain...")
3. Run vcvarsall.bat
4. Run cmake again. (error
"CMakeFiles\cmTryCompileExec.dir\testCCompiler.c.obj : fatal error
LNK1112: module machine type 'X86' conflicts with target machine type
'x64'")


-- 
Piotr Dobrogost
*** curlpp.org - c++ wrapper for libcurl ***



More information about the CMake mailing list