Am Sonntag 18 Mai 2008 22:35:53 schrieb Stefan Buschmann: > Hi, > > I don't know ifort, but I had the same problem with Makefiles and MSYS a > while ago. > > > Since it works with cygwin I assume ifort knows cygwin and handles the > > forward slash right. Does anyone know if ifort has a flag or environment > > variable name to set which tells ifort its working on windows. > > There is nothing ifort could do about this. Every command line parameter > starting with a slash ('/') will be replaced by MSYS with the > corresponding windows path ('/foo/bar' will be translated to something > like 'C:\msys\foo\bar' I think). So the parameter will be translated > before ifort is even being executed. Since there is no way for MSYS to > know whether "/something" is a path that has to be translated or a > command line parameter, the only solution should be to use '-' instead > of '/'. > > Stefan
Thank you very much Stefan! A patch to fix Windows-ifort.cmake is attached. -- Maik
diff --git a/Modules/Platform/Windows-ifort.cmake b/Modules/Platform/Windows-ifort.cmake index 2bf4753..36b4b92 100755 --- a/Modules/Platform/Windows-ifort.cmake +++ b/Modules/Platform/Windows-ifort.cmake @@ -4,7 +4,7 @@ SET(WIN32 1) IF(CMAKE_VERBOSE_MAKEFILE) SET(CMAKE_CL_NOLOGO) ELSE(CMAKE_VERBOSE_MAKEFILE) - SET(CMAKE_CL_NOLOGO "/nologo") + SET(CMAKE_CL_NOLOGO "-nologo") ENDIF(CMAKE_VERBOSE_MAKEFILE) SET(CMAKE_Fortran_MODDIR_FLAG "-module:") @@ -12,24 +12,24 @@ SET(CMAKE_Fortran_MODDIR_FLAG "-module:") SET(CMAKE_Fortran_USE_RESPONSE_FILE_FOR_OBJECTS 1) SET(CMAKE_Fortran_CREATE_SHARED_LIBRARY - "link ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} /out:<TARGET> /dll <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}") + "link ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} -out:<TARGET> -dll <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}") SET(CMAKE_Fortran_CREATE_SHARED_MODULE ${CMAKE_Fortran_CREATE_SHARED_LIBRARY}) # create a C++ static library -SET(CMAKE_Fortran_CREATE_STATIC_LIBRARY "lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ") +SET(CMAKE_Fortran_CREATE_STATIC_LIBRARY "lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> -out:<TARGET> <OBJECTS> ") # compile a C++ file into an object file SET(CMAKE_Fortran_COMPILE_OBJECT - "<CMAKE_Fortran_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} /fpp /Fo<OBJECT> <DEFINES> <FLAGS> -c <SOURCE>${CMAKE_END_TEMP_FILE}") + "<CMAKE_Fortran_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} -fpp -Fo<OBJECT> <DEFINES> <FLAGS> -c <SOURCE>${CMAKE_END_TEMP_FILE}") -SET(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>") +SET(CMAKE_COMPILE_RESOURCE "rc <FLAGS> -fo<OBJECT> <SOURCE>") SET(CMAKE_Fortran_LINK_EXECUTABLE - "<CMAKE_Fortran_COMPILER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> -link <CMAKE_Fortran_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}") + "<CMAKE_Fortran_COMPILER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} <FLAGS> -Fe<TARGET> -link <CMAKE_Fortran_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}") -SET(CMAKE_CREATE_WIN32_EXE /subsystem:windows) -SET(CMAKE_CREATE_CONSOLE_EXE /subsystem:console) +SET(CMAKE_CREATE_WIN32_EXE -subsystem:windows) +SET(CMAKE_CREATE_CONSOLE_EXE -subsystem:console) IF(CMAKE_GENERATOR MATCHES "Visual Studio 6") SET (CMAKE_NO_BUILD_TYPE 1) @@ -42,23 +42,23 @@ ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR CMAKE_GENERATOR MATCHES "Visu # does the compiler support pdbtype and is it the newer compiler SET(CMAKE_BUILD_TYPE_INIT Debug) -SET (CMAKE_Fortran_FLAGS_INIT "/W1 /nologo /fpp") -SET (CMAKE_Fortran_FLAGS_DEBUG_INIT "/debug:full") -SET (CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "/O2 /D NDEBUG") -SET (CMAKE_Fortran_FLAGS_RELEASE_INIT "/MD /O1 /D NDEBUG") -SET (CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "/O1 /debug:full /D NDEBUG") +SET (CMAKE_Fortran_FLAGS_INIT "-W1 -nologo -fpp") +SET (CMAKE_Fortran_FLAGS_DEBUG_INIT "-debug:full") +SET (CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-O2 -D NDEBUG") +SET (CMAKE_Fortran_FLAGS_RELEASE_INIT "-MD -O1 -D NDEBUG") +SET (CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-O1 -debug:full -D NDEBUG") SET (CMAKE_Fortran_STANDARD_LIBRARIES_INIT "user32.lib") # executable linker flags -SET (CMAKE_LINK_DEF_FILE_FLAG "/DEF:") -SET (CMAKE_EXE_LINKER_FLAGS_INIT " /INCREMENTAL:YES") +SET (CMAKE_LINK_DEF_FILE_FLAG "-DEF:") +SET (CMAKE_EXE_LINKER_FLAGS_INIT " -INCREMENTAL:YES") IF (CMAKE_COMPILER_SUPPORTS_PDBTYPE) - SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept") - SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept") + SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "-debug -pdbtype:sept") + SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "-debug -pdbtype:sept") ELSE (CMAKE_COMPILER_SUPPORTS_PDBTYPE) - SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug") - SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug") + SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "-debug") + SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "-debug") ENDIF (CMAKE_COMPILER_SUPPORTS_PDBTYPE) SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
_______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake