1include(Platform/Windows-Intel) 2set(CMAKE_BUILD_TYPE_INIT Debug) 3set(_COMPILE_Fortran " /fpp") 4set(CMAKE_Fortran_MODDIR_FLAG "-module:") 5set(CMAKE_Fortran_STANDARD_LIBRARIES_INIT "user32.lib") 6__windows_compiler_intel(Fortran) 7if(CMAKE_MSVC_RUNTIME_LIBRARY_DEFAULT) 8 set(_LIBSDLL "") 9 set(_DBGLIBS "") 10 set(_THREADS "") 11else() 12 set(_LIBSDLL " /libs:dll") 13 set(_DBGLIBS " /dbglibs") 14 set(_THREADS " /threads") 15endif() 16 17cmake_policy(GET CMP0092 _cmp0092) 18if(NOT _cmp0092 STREQUAL "NEW") 19 string(APPEND CMAKE_Fortran_FLAGS_INIT " /W1") 20endif() 21unset(_cmp0092) 22 23string(APPEND CMAKE_Fortran_FLAGS_INIT " /nologo /fpp${_LIBSDLL}${_THREADS}") 24string(APPEND CMAKE_Fortran_FLAGS_DEBUG_INIT " /Od /debug:full${_DBGLIBS}") 25string(APPEND CMAKE_Fortran_FLAGS_MINSIZEREL_INIT " /O1 /DNDEBUG") 26string(APPEND CMAKE_Fortran_FLAGS_RELEASE_INIT " /O2 /DNDEBUG") 27string(APPEND CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT " /O2 /debug:full /DNDEBUG") 28unset(_LIBSDLL) 29unset(_DBGLIBS) 30unset(_THREADS) 31 32set(CMAKE_Fortran_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreaded -threads -libs:static) 33set(CMAKE_Fortran_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDLL -threads -libs:dll) 34set(CMAKE_Fortran_COMPILE_OPTIONS_MSVC_RUNTIME_LIBRARY_MultiThreadedDebug -threads -libs:static -dbglibs) 35set(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. 39if(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) 44endif() 45