Advertisement
Guest User

Untitled

a guest
Jun 7th, 2017
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CMake 2.01 KB | None | 0 0
  1. cmake_minimum_required(VERSION 2.6)
  2. project(STB)
  3.  
  4. file(GLOB_RECURSE sources  src/*.f90
  5.                            src/*.F90
  6.                            src/*.h
  7.                            thirdparty/config_fortran/m_config.f90
  8.                            thirdparty/NPY-for-Fortran/src/npy.F90)
  9. add_executable(stb.x ${sources})
  10.  
  11. enable_language(Fortran)
  12. #set(CMAKE_Fortran_COMPILER mpiifort)
  13. #set(CMAKE_Fortran_COMPILER_ID "Intel")
  14. #set(CMAKE_Fortran_COMPILER mpifort)
  15. #set(CMAKE_Fortran_COMPILER_ID "GNU")
  16. #set(CMAKE_Fortran_COMPILER mpifort)
  17. set(CMAKE_Fortran_COMPILER mpixlf2003)
  18. set(CMAKE_Fortran_COMPILER_ID "IBM")
  19.  
  20. find_package (LAPACK REQUIRED)
  21. target_link_libraries (stb.x ${LAPACK_LIBRARIES})
  22.  
  23. MESSAGE( STATUS "MKLROOT: $ENV{MKLROOT}")
  24.  
  25. if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
  26.     set(dialect "-ffree-form -Wall -fimplicit-none -m64")
  27.     set(bounds "-fbounds-check -Wall")
  28. endif()
  29. if(CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
  30.     set(dialect "-stand=f08 -warn all -implicitnone -g -heap_arrays")
  31.     set(bounds "-check all")
  32.     set(debug "-traceback -debug ")
  33. endif()
  34. if(CMAKE_Fortran_COMPILER_ID MATCHES "PGI")
  35.     set(dialect "-Mfreeform -Mdclchk -Mstandard -Mallocatable=03")
  36.     set(bounds "-C")
  37. endif()
  38. if(CMAKE_Fortran_COMPILER_ID MATCHES "IBM")
  39.     MESSAGE(STATUS "IBM")
  40.     set(dialect "-O2 -qarch=qp -qtune=qp -ufmt_littleendian={23}")
  41.     set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-qmkshrobj")
  42.     set(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS "-Wl,-export-dynamic")
  43.     set(debug "-C")
  44. endif()
  45.  
  46. set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} ${bounds}")
  47. set(CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG} ${debug}")
  48. MESSAGE( STATUS "DEBUG Flag ${CMAKE_Fortran_FLAGS_DEBUG}")
  49.  
  50.  
  51. set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${dialect}")
  52. MESSAGE( STATUS "Flags:  ${CMAKE_Fortran_FLAGS}")
  53.  
  54. set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
  55. MESSAGE( STATUS "cmake_module_path:    " ${CMAKE_MODULE_PATH})
  56.  
  57. #
  58. # Compile.
  59. #
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement