cmake_minimum_required (VERSION 2.6)

project(Csnap)
enable_language(Fortran)


get_filename_component (Fortran_COMPILER_NAME ${CMAKE_Fortran_COMPILER} NAME)

if (Fortran_COMPILER_NAME MATCHES "gfortran")
  # gfortran
  set (CMAKE_Fortran_FLAGS_RELEASE "-O3 -static -fstrength-reduce -fexpensive-optimizations -fall-intrinsics")
  set (CMAKE_Fortran_FLAGS_DEBUG   "-fno-f2c -O0 -g")
elseif (Fortran_COMPILER_NAME MATCHES "ifort")
  # ifort (untested)
  set (CMAKE_Fortran_FLAGS_RELEASE "-f77rtl -O3")
  set (CMAKE_Fortran_FLAGS_DEBUG   "-f77rtl -O0 -g")
elseif (Fortran_COMPILER_NAME MATCHES "fort")
  # fort (untested, copied from Oases makefile)
  set (CMAKE_Fortran_FLAGS_RELEASE "-f77rtl -O3")
  set (CMAKE_Fortran_FLAGS_DEBUG   "-f77rtl -O0 -g")
elseif (Fortran_COMPILER_NAME MATCHES "f77")
  # f77 (jntested, copied from Oases makefile)
  set (CMAKE_Fortran_FLAGS_RELEASE "-O -arch host -fast -tune host")
  set (CMAKE_Fortran_FLAGS_DEBUG   "-fno-f2c -O -g -m32")
elseif (Fortran_COMPILER_NAME MATCHES "cf77")
  # cf77 (jntested, copied from Oases makefile)
  set (CMAKE_Fortran_FLAGS_RELEASE "-O")
  set (CMAKE_Fortran_FLAGS_DEBUG   "-fno-f2c -O -g -m32")
elseif (Fortran_COMPILER_NAME MATCHES "g77")
  # g77
  set (CMAKE_Fortran_FLAGS_RELEASE "-funroll-all-loops -fno-f2c -O3 -m32")
  set (CMAKE_Fortran_FLAGS_DEBUG   "-fno-f2c -O0 -g -m32")
else (Fortran_COMPILER_NAME MATCHES "gfortran")
  message ("CMAKE_Fortran_COMPILER full path: " ${CMAKE_Fortran_COMPILER})
  message ("Fortran compiler: " ${Fortran_COMPILER_NAME})
  message ("No optimized Fortran compiler flags are known, we just try -O2...")
  set (CMAKE_Fortran_FLAGS_RELEASE "-O2")
  set (CMAKE_Fortran_FLAGS_DEBUG   "-O0 -g")
endif (Fortran_COMPILER_NAME MATCHES "gfortran")

add_subdirectory(src)