Windows-ifort.cmake 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. SET(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
  2. SET(CMAKE_LINK_LIBRARY_FLAG "")
  3. SET(WIN32 1)
  4. IF(CMAKE_VERBOSE_MAKEFILE)
  5. SET(CMAKE_CL_NOLOGO)
  6. ELSE(CMAKE_VERBOSE_MAKEFILE)
  7. SET(CMAKE_CL_NOLOGO "/nologo")
  8. ENDIF(CMAKE_VERBOSE_MAKEFILE)
  9. SET(CMAKE_Fortran_MODDIR_FLAG "-module:")
  10. SET(CMAKE_Fortran_USE_RESPONSE_FILE_FOR_OBJECTS 1)
  11. SET(CMAKE_Fortran_CREATE_SHARED_LIBRARY
  12. "link ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} /out:<TARGET> /implib:<TARGET_IMPLIB> /dll <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
  13. SET(CMAKE_Fortran_CREATE_SHARED_MODULE ${CMAKE_Fortran_CREATE_SHARED_LIBRARY})
  14. # create a C++ static library
  15. SET(CMAKE_Fortran_CREATE_STATIC_LIBRARY "lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
  16. # compile a C++ file into an object file
  17. SET(CMAKE_Fortran_COMPILE_OBJECT
  18. "<CMAKE_Fortran_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} /fpp /Fo<OBJECT> <DEFINES> <FLAGS> -c <SOURCE>${CMAKE_END_TEMP_FILE}")
  19. SET(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
  20. SET(CMAKE_Fortran_LINK_EXECUTABLE
  21. "<CMAKE_Fortran_COMPILER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> -link /implib:<TARGET_IMPLIB> <CMAKE_Fortran_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
  22. INCLUDE(Platform/Windows-Intel)
  23. IF(_INTEL_COMPILER_SUPPORTS_MANIFEST)
  24. SET(CMAKE_Fortran_LINK_EXECUTABLE
  25. "<CMAKE_COMMAND> -E vs_link_exe ${CMAKE_Fortran_LINK_EXECUTABLE}")
  26. SET(CMAKE_Fortran_CREATE_SHARED_LIBRARY
  27. "<CMAKE_COMMAND> -E vs_link_dll ${CMAKE_Fortran_CREATE_SHARED_LIBRARY}")
  28. SET(CMAKE_Fortran_CREATE_SHARED_MODULE
  29. "<CMAKE_COMMAND> -E vs_link_dll ${CMAKE_Fortran_CREATE_SHARED_MODULE}")
  30. ENDIF(_INTEL_COMPILER_SUPPORTS_MANIFEST)
  31. SET(CMAKE_CREATE_WIN32_EXE /subsystem:windows)
  32. SET(CMAKE_CREATE_CONSOLE_EXE /subsystem:console)
  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
  42. SET(CMAKE_BUILD_TYPE_INIT Debug)
  43. SET (CMAKE_Fortran_FLAGS_INIT "/W1 /nologo /fpp")
  44. SET (CMAKE_Fortran_FLAGS_DEBUG_INIT "/debug:full")
  45. SET (CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "/O2 /D NDEBUG")
  46. SET (CMAKE_Fortran_FLAGS_RELEASE_INIT "/MD /O1 /D NDEBUG")
  47. SET (CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "/O1 /debug:full /D NDEBUG")
  48. SET (CMAKE_Fortran_STANDARD_LIBRARIES_INIT "user32.lib")
  49. # executable linker flags
  50. SET (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
  51. SET (CMAKE_EXE_LINKER_FLAGS_INIT " /INCREMENTAL:YES")
  52. IF (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
  53. SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept")
  54. SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept")
  55. ELSE (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
  56. SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
  57. SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug")
  58. ENDIF (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
  59. SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
  60. SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
  61. SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
  62. SET (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
  63. SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
  64. SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})