Like I promised, here is the information I have on this bug:

A simple Fortran program:

----
! Program to test the CMake utility
! - support for CVF?
!
program hello
    write(*,*) 'Hello'
end program
----
And an equally simple CMakeLists.txt:

----
project (HELLO)
enable_language(Fortran)

add_executable( hello hello.f90 )
----

The Compaq Visual Fortran compiler is described in a module
which contains the following macro for compiling a source file:

----
SET(CMAKE_Fortran_COMPILE_OBJECT
    "<CMAKE_Fortran_COMPILER>  ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}
/object:<OBJECT> <FLAGS> /compile_only <SOURCE>${CMAKE_END_TEMP_FILE}")
----

When I run CMake (with the flags --debug-trycompile and -G "NMake
Makefiles"), I get the following log file:

----
Determining if the Fortran compiler works failed with the following output:
        nmake -f CMakeFiles\cmTryCompileExec.dir/build.make /nologo -L
     CMakeFiles\cmTryCompileExec.dir\build

        c:\arjen\cmake\install\bin\Debug\cmake.exe -E cmake_progress_report
C:\arjen\fortran\f-cmake\CMakeFiles\CMakeTmp\CMakeFiles 1

Building Fortran object
CMakeFiles/cmTryCompileExec.dir/testFortranCompiler.obj
        C:\PROGRA~1\MIAF9D~1\DF98\BIN\DF.EXE
@C:\DOCUME~1\HP_EIG~1\LOCALS~1\Temp\nma04136.

DF: error: Unknown switch: '/cmTryCompileExec.dir'

NMAKE : fatal error U1077: 'C:\PROGRA~1\MIAF9D~1\DF98\BIN\DF.EXE' : return
code '0x1'

Stop.

NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual
Studio\VC98\BIN\nmake.exe"' : return code '0x2'

Stop.


----

The makefile that is used for the TRY_COMPILE step has the following
fragment:
----

CMakeFiles\cmTryCompileExec.dir\testFortranCompiler.obj:
CMakeFiles\cmTryCompileExec.dir\flags.make
CMakeFiles\cmTryCompileExec.dir\testFortranCompiler.obj:
testFortranCompiler.f   $(CMAKE_COMMAND) -E cmake_progress_report
C:\arjen\fortran\f-cmake\CMakeFiles\CMakeTmp\CMakeFiles $(CMAKE_PROGRESS_1)
        @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green 
"Building
Fortran object CMakeFiles/cmTryCompileExec.dir/testFortranCompiler.obj"
        C:\PROGRA~1\MIAF9D~1\DF98\BIN\DF.EXE   @<<
 /nologo /object:CMakeFiles/cmTryCompileExec.dir/testFortranCompiler.obj
$(Fortran_FLAGS) /compile_only
C:\arjen\fortran\f-cmake\CMakeFiles\CMakeTmp\testFortranCompiler.f
<<
----

As you can see, the source file is given with the native (Windows-style)
path, but the object file is specified with forward slashes. This is what
causes the compiler to complain.

(If you need more information on this, just ask)

Regards,

Arjen





_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to