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