Windows-ifort.cmake 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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_CREATE_SHARED_LIBRARY
  10. "link ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} /out:<TARGET> /dll <LINK_FLAGS> <OBJECTS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
  11. SET(CMAKE_Fortran_CREATE_SHARED_MODULE ${CMAKE_Fortran_CREATE_SHARED_LIBRARY})
  12. # create a C++ static library
  13. SET(CMAKE_Fortran_CREATE_STATIC_LIBRARY "lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
  14. # compile a C++ file into an object file
  15. SET(CMAKE_Fortran_COMPILE_OBJECT
  16. "<CMAKE_Fortran_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} /Fo<OBJECT> <FLAGS> -c <SOURCE>${CMAKE_END_TEMP_FILE}")
  17. SET(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
  18. SET(CMAKE_Fortran_LINK_EXECUTABLE
  19. "<CMAKE_Fortran_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> <OBJECTS> /Fe<TARGET> -link <CMAKE_Fortran_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
  20. SET(CMAKE_CREATE_WIN32_EXE /subsystem:windows)
  21. SET(CMAKE_CREATE_CONSOLE_EXE /subsystem:console)
  22. IF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
  23. SET (CMAKE_NO_BUILD_TYPE 1)
  24. ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
  25. IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR CMAKE_GENERATOR MATCHES "Visual Studio 8")
  26. SET (CMAKE_NO_BUILD_TYPE 1)
  27. SET (CMAKE_CONFIGURATION_TYPES "Debug;Release;MinSizeRel;RelWithDebInfo" CACHE STRING
  28. "Semicolon separated list of supported configuration types, only supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything else will be ignored.")
  29. ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR CMAKE_GENERATOR MATCHES "Visual Studio 8")
  30. # does the compiler support pdbtype and is it the newer compiler
  31. SET(CMAKE_BUILD_TYPE_INIT Debug)
  32. SET (CMAKE_Fortran_FLAGS_INIT "/W1")
  33. SET (CMAKE_Fortran_FLAGS_DEBUG_INIT "/debug:full")
  34. SET (CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "/O2 /D NDEBUG")
  35. SET (CMAKE_Fortran_FLAGS_RELEASE_INIT "/MD /O1 /D NDEBUG")
  36. SET (CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "/O1 /debug:full /D NDEBUG")
  37. SET (CMAKE_STANDARD_LIBRARIES "user32.lib" CACHE STRING
  38. "Libraries linked by defalut with all applications.")
  39. MARK_AS_ADVANCED(CMAKE_STANDARD_LIBRARIES)
  40. # executable linker flags
  41. SET (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
  42. SET (CMAKE_EXE_LINKER_FLAGS_INIT " /INCREMENTAL:YES")
  43. IF (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
  44. SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept")
  45. SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept")
  46. ELSE (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
  47. SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
  48. SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug")
  49. ENDIF (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
  50. SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
  51. SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
  52. SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
  53. SET (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
  54. SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
  55. SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})