06d0a00d14633e083a150c10d04f3b3936ad3e41
[platform/upstream/cmake.git] / Modules / Platform / Windows-IntelLLVM-Fortran.cmake
1 include(Platform/Windows-IntelLLVM)
2 set(CMAKE_BUILD_TYPE_INIT Debug)
3 set(_COMPILE_Fortran " /fpp")
4 set(CMAKE_Fortran_MODDIR_FLAG "-module:")
5 set(CMAKE_Fortran_STANDARD_LIBRARIES_INIT "user32.lib")
6 __windows_compiler_intel(Fortran)
7 if(CMAKE_MSVC_RUNTIME_LIBRARY_DEFAULT)
8   set(_LIBSDLL "")
9   set(_DBGLIBS "")
10   set(_THREADS "")
11 else()
12   set(_LIBSDLL " /libs:dll")
13   set(_DBGLIBS " /dbglibs")
14   set(_THREADS " /threads")
15 endif()
16
17 cmake_policy(GET CMP0092 _cmp0092)
18 if(NOT _cmp0092 STREQUAL "NEW")
19   string(APPEND CMAKE_Fortran_FLAGS_INIT " /W1")
20 endif()
21 unset(_cmp0092)
22
23 string(APPEND CMAKE_Fortran_FLAGS_INIT " /nologo /fpp${_LIBSDLL}${_THREADS}")
24 string(APPEND CMAKE_Fortran_FLAGS_DEBUG_INIT " /Od /debug:full${_DBGLIBS}")
25 string(APPEND CMAKE_Fortran_FLAGS_MINSIZEREL_INIT " /O1 /DNDEBUG")
26 string(APPEND CMAKE_Fortran_FLAGS_RELEASE_INIT " /O2 /DNDEBUG")
27 string(APPEND CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT " /O2 /debug:full /DNDEBUG")
28 unset(_LIBSDLL)
29 unset(_DBGLIBS)
30 unset(_THREADS)
31
32 set(CMAKE_Fortran_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreaded         -threads -libs:static)
33 set(CMAKE_Fortran_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDLL      -threads -libs:dll)
34 set(CMAKE_Fortran_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDebug    -threads -libs:static -dbglibs)
35 set(CMAKE_Fortran_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDebugDLL -threads -libs:dll    -dbglibs)
36
37 # Intel Fortran for Windows supports single-threaded RTL but it is
38 # not implemented by the Visual Studio integration.
39 if(NOT CMAKE_GENERATOR MATCHES "Visual Studio")
40   set(CMAKE_Fortran_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_SingleThreaded                 -libs:static)
41   set(CMAKE_Fortran_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_SingleThreadedDLL              -libs:dll)
42   set(CMAKE_Fortran_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_SingleThreadedDebug            -libs:static -dbglibs)
43   set(CMAKE_Fortran_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_SingleThreadedDebugDLL         -libs:dll    -dbglibs)
44 endif()