1# compiler support for fortran CVF compiler on windows 2 3set(CMAKE_WINDOWS_OBJECT_PATH 1) 4set(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:") 5set(CMAKE_LINK_LIBRARY_FLAG "") 6set(WIN32 1) 7if(CMAKE_VERBOSE_MAKEFILE) 8 set(CMAKE_CL_NOLOGO) 9else() 10 set(CMAKE_CL_NOLOGO "/nologo") 11endif() 12 13set(CMAKE_Fortran_MODDIR_FLAG "-module:") 14 15set(CMAKE_Fortran_CREATE_SHARED_LIBRARY 16 "link ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} /out:<TARGET> /dll <LINK_FLAGS> <OBJECTS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}") 17 18set(CMAKE_Fortran_CREATE_SHARED_MODULE ${CMAKE_Fortran_CREATE_SHARED_LIBRARY}) 19 20# create a C++ static library 21set(CMAKE_Fortran_CREATE_STATIC_LIBRARY "lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ") 22 23# compile a C++ file into an object file 24set(CMAKE_Fortran_COMPILE_OBJECT 25 "<CMAKE_Fortran_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} /object:<OBJECT> <FLAGS> /compile_only <SOURCE>${CMAKE_END_TEMP_FILE}") 26 27set(CMAKE_Fortran_LINK_EXECUTABLE 28 "<CMAKE_Fortran_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> /exe:<TARGET> <OBJECTS> /link <CMAKE_Fortran_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}") 29 30set(CMAKE_Fortran_CREATE_WIN32_EXE /winapp) 31set(CMAKE_Fortran_CREATE_CONSOLE_EXE ) 32 33# does the compiler support pdbtype and is it the newer compiler 34 35set(CMAKE_BUILD_TYPE_INIT Debug) 36set (CMAKE_Fortran_FLAGS_INIT "") 37set (CMAKE_Fortran_FLAGS_DEBUG_INIT "/debug:full") 38set (CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "/Optimize:2 /Define:NDEBUG") 39set (CMAKE_Fortran_FLAGS_RELEASE_INIT "/Optimize:1 /Define:NDEBUG") 40set (CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "/Optimize:1 /debug:full /Define:NDEBUG") 41 42set (CMAKE_Fortran_STANDARD_LIBRARIES_INIT "user32.lib") 43 44# executable linker flags 45set (CMAKE_LINK_DEF_FILE_FLAG "/DEF:") 46set (CMAKE_EXE_LINKER_FLAGS_INIT " /INCREMENTAL:YES") 47if (CMAKE_COMPILER_SUPPORTS_PDBTYPE) 48 set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept") 49 set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept") 50else () 51 set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug") 52 set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug") 53endif () 54 55set (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT}) 56set (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT}) 57set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT}) 58set (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT}) 59set (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT}) 60set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT}) 61