Initial commit.
[CMakeLuaTailorHgBridge.git] / CMakeLua / Modules / Platform / Windows-df.cmake
blob753b1987396c7aa3579e093a0e3333b7cc66082a
1 # compiler support for fortran CVF compiler on windows
3 SET(CMAKE_WINDOWS_OBJECT_PATH 1)
4 SET(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
5 SET(CMAKE_LINK_LIBRARY_FLAG "")
6 SET(WIN32 1)
7 IF(CMAKE_VERBOSE_MAKEFILE)
8   SET(CMAKE_CL_NOLOGO)
9 ELSE(CMAKE_VERBOSE_MAKEFILE)
10   SET(CMAKE_CL_NOLOGO "/nologo")
11 ENDIF(CMAKE_VERBOSE_MAKEFILE)
13 SET(CMAKE_Fortran_CREATE_SHARED_LIBRARY
14  "link ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE}  /out:<TARGET> /dll  <LINK_FLAGS> <OBJECTS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
16 SET(CMAKE_Fortran_CREATE_SHARED_MODULE ${CMAKE_Fortran_CREATE_SHARED_LIBRARY})
18 # create a C++ static library
19 SET(CMAKE_Fortran_CREATE_STATIC_LIBRARY  "lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
21 # compile a C++ file into an object file
22 SET(CMAKE_Fortran_COMPILE_OBJECT
23     "<CMAKE_Fortran_COMPILER>  ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} /object:<OBJECT> <FLAGS> /compile_only <SOURCE>${CMAKE_END_TEMP_FILE}")
25 SET(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
27 SET(CMAKE_Fortran_LINK_EXECUTABLE
28     "<CMAKE_Fortran_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> <OBJECTS> /exe:<TARGET> /link <CMAKE_Fortran_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
30 SET(CMAKE_CREATE_WIN32_EXE /winapp)
31 SET(CMAKE_CREATE_CONSOLE_EXE )
33 IF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
34    SET (CMAKE_NO_BUILD_TYPE 1)
35 ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
36 IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR CMAKE_GENERATOR MATCHES "Visual Studio 8")
37   SET (CMAKE_NO_BUILD_TYPE 1)
38   SET (CMAKE_CONFIGURATION_TYPES "Debug;Release;MinSizeRel;RelWithDebInfo" CACHE STRING
39      "Semicolon separated list of supported configuration types, only supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything else will be ignored.")
40 ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR CMAKE_GENERATOR MATCHES "Visual Studio 8")
41 # does the compiler support pdbtype and is it the newer compiler
43 SET(CMAKE_BUILD_TYPE_INIT Debug)
44 SET (CMAKE_Fortran_FLAGS_INIT "")
45 SET (CMAKE_Fortran_FLAGS_DEBUG_INIT "/debug:full")
46 SET (CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "/Optimize:2 /Define:NDEBUG")
47 SET (CMAKE_Fortran_FLAGS_RELEASE_INIT "/Optimize:1 /Define:NDEBUG")
48 SET (CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "/Optimize:1 /debug:full /Define:NDEBUG")
50 SET (CMAKE_Fortran_STANDARD_LIBRARIES_INIT "user32.lib")
52 # executable linker flags
53 SET (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
54 SET (CMAKE_EXE_LINKER_FLAGS_INIT " /INCREMENTAL:YES")
55 IF (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
56   SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept")
57   SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept")
58 ELSE (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
59   SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
60   SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug")
61 ENDIF (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
63 SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
64 SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
65 SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
66 SET (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
67 SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
68 SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})