[CMake] cmake generators on windows: nmake versus jom

Verweij, Arjen VerweijA at tass-safe.com
Wed Jul 21 10:32:21 EDT 2010


Hi,

I'm having trouble generating the Makefiles I want on Windows. I can't generate "Unix Makefiles" because cmake fails to compile a simple program. But also using generators that should be very much alike, "NMake Makefiles" and "NMake Makefiles JOM", the first will finish and the second will not. This is on a fresh install (Virtual machine) with Ifort 8.1, MSVC++ 7.1 and cmake 2.8.2, no specials.

Is it normal for generators to be this picky? Is there documentation on this subject? While browsing email archives I've read that "cmake assumes your compiler works" but I guess there's more going on under the hood than a mere compilation check.

Thanks,
Arjen


"NMake Makefiles:
-- Windows!
-- FLEXLM=Z:/projects/nastia_src/src/ext/flexlm/v11.6.1
-- ALSDK=Z:/projects/nastia_src/src/ext/alsdk/v10.0.0
-- FLEXLMARCH=i86_n3
-- The Fortran compiler identification is Intel
-- FIXME: altered Windows.cmake for debugging purposes.
-- Check for working Fortran compiler: E:/Program Files/Intel/Fortran/compiler80/IA32/BIN/ifort.exe
-- Check for working Fortran compiler: E:/Program Files/Intel/Fortran/compiler80/IA32/BIN/ifort.exe  -- works
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Checking whether E:/Program Files/Intel/Fortran/compiler80/IA32/BIN/ifort.exe supports Fortran 90
-- Checking whether E:/Program Files/Intel/Fortran/compiler80/IA32/BIN/ifort.exe supports Fortran 90 -- yes
-- The C compiler identification is MSVC
-- Check for CL compiler version
-- Check for CL compiler version - 1310
-- Check if this is a free VC compiler
-- Check if this is a free VC compiler - no
-- Check for working C compiler: E:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin/cl.exe
-- Check for working C compiler: E:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- The CXX compiler identification is MSVC
-- Check for working CXX compiler: E:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin/cl.exe
-- Check for working CXX compiler: E:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for C++ include iostream
-- Looking for C++ include iostream - found
-- Check for STD namespace
-- Check for STD namespace - found
-- Found FLEX: E:/UnxUtils/usr/local/wbin/flex.exe
-- Found BISON: E:/UnxUtils/usr/local/wbin/bison.exe

"NMake Makefiles JOM"
-- Windows!
-- FLEXLM=Z:/projects/nastia_src/src/ext/flexlm/v11.6.1
-- ALSDK=Z:/projects/nastia_src/src/ext/alsdk/v10.0.0
-- FLEXLMARCH=i86_n3
-- The Fortran compiler identification is Intel
-- FIXME: altered Windows.cmake for debugging purposes.
-- Check for working Fortran compiler: E:/Program Files/Intel/Fortran/compiler80/IA32/BIN/ifort.exe
-- Check for working Fortran compiler: E:/Program Files/Intel/Fortran/compiler80/IA32/BIN/ifort.exe  -- works
-- Detecting Fortran compiler ABI info
CMake Error: Could not COPY_FILE.
  OutputFile: ''
    copyFile: 'E:/build/CMakeFiles/CMakeDetermineCompilerABI_Fortran.bin'

Unable to find executable for try_compile: tried "E:/build/CMakeFiles/CMakeTmp/cmTryCompileExec.exe" and "E:/build/CMakeFiles/CMakeTmp/Debug
/cmTryCompileExec.exe" and "E:/build/CMakeFiles/CMakeTmp/Development/cmTryCompileExec.exe".

-- Detecting Fortran compiler ABI info - done
CMake Error at E:/cmake28/share/cmake-2.8/Modules/CMakeDetermineCompilerABI.cmake:40 (FILE):
  file STRINGS file
  "E:/build/CMakeFiles/CMakeDetermineCompilerABI_Fortran.bin" cannot be read.
Call Stack (most recent call first):
  E:/cmake28/share/cmake-2.8/Modules/CMakeTestFortranCompiler.cmake:59 (CMAKE_DETERMINE_COMPILER_ABI)
  compilers.cmake:45 (enable_language)
  CMakeLists.txt:4 (include)


-- Checking whether E:/Program Files/Intel/Fortran/compiler80/IA32/BIN/ifort.exe supports Fortran 90
-- Checking whether E:/Program Files/Intel/Fortran/compiler80/IA32/BIN/ifort.exe supports Fortran 90 -- yes
-- The C compiler identification is MSVC
-- Check for CL compiler version
-- Check for CL compiler version - 1310
-- Check if this is a free VC compiler
-- Check if this is a free VC compiler - no
-- Check for working C compiler: E:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin/cl.exe
-- Check for working C compiler: E:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin/cl.exe -- works
-- Detecting C compiler ABI info
CMake Error: Could not COPY_FILE.
  OutputFile: ''
    copyFile: 'E:/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin'

Unable to find executable for try_compile: tried "E:/build/CMakeFiles/CMakeTmp/cmTryCompileExec.exe" and "E:/build/CMakeFiles/CMakeTmp/Debug
/cmTryCompileExec.exe" and "E:/build/CMakeFiles/CMakeTmp/Development/cmTryCompileExec.exe".

-- Detecting C compiler ABI info - done
CMake Error at E:/cmake28/share/cmake-2.8/Modules/CMakeDetermineCompilerABI.cmake:40 (FILE):
  file STRINGS file "E:/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin"
  cannot be read.
Call Stack (most recent call first):
  E:/cmake28/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:71 (CMAKE_DETERMINE_COMPILER_ABI)
  compilers.cmake:46 (enable_language)
  CMakeLists.txt:4 (include)


-- The CXX compiler identification is MSVC
-- Check for working CXX compiler: E:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin/cl.exe
-- Check for working CXX compiler: E:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/bin/cl.exe -- works
-- Detecting CXX compiler ABI info
CMake Error: Could not COPY_FILE.
  OutputFile: ''
    copyFile: 'E:/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin'

Unable to find executable for try_compile: tried "E:/build/CMakeFiles/CMakeTmp/cmTryCompileExec.exe" and "E:/build/CMakeFiles/CMakeTmp/Debug
/cmTryCompileExec.exe" and "E:/build/CMakeFiles/CMakeTmp/Development/cmTryCompileExec.exe".

-- Detecting CXX compiler ABI info - done
CMake Error at E:/cmake28/share/cmake-2.8/Modules/CMakeDetermineCompilerABI.cmake:40 (FILE):
  file STRINGS file "E:/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin"
  cannot be read.
Call Stack (most recent call first):
  E:/cmake28/share/cmake-2.8/Modules/CMakeTestCXXCompiler.cmake:64 (CMAKE_DETERMINE_COMPILER_ABI)
  compilers.cmake:47 (enable_language)
  CMakeLists.txt:4 (include)


-- Looking for C++ include iostream
-- Looking for C++ include iostream - found
-- Check for STD namespace
-- Check for STD namespace - found
-- Found FLEX: E:/UnxUtils/usr/local/wbin/flex.exe
-- Found BISON: E:/UnxUtils/usr/local/wbin/bison.exe
[SNIP]

Arjen Verweij
QA/Test Engineer

[cid:image001.gif at 01CB28F0.E48032A0]


Einsteinlaan 6
2289 CC  Rijswijk
The Netherlands

Phone:  +31 88 827 7086
Fax:       +31 88 827 7003
Email:  arjen.verweij at tass-safe.com
www.tass-safe.com

This e-mail and its contents are subject to a DISCLAIMER with important RESERVATIONS.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100721/b9022d77/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.gif
Type: image/gif
Size: 1941 bytes
Desc: image001.gif
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100721/b9022d77/attachment-0001.gif>


More information about the CMake mailing list