SET(CMAKE_Fortran_MODULE_DIRECTORY
  ${PROJECT_BINARY_DIR}/fmodules CACHE PATH "Directory for Fortran modules")

FIND_PACKAGE(PHDF5)

SET(FNAME GridDataReader.F90)
GET_FILENAME_COMPONENT(BASENAME ${FNAME} NAME_WE)

ADD_LIBRARY(${BASENAME} SHARED ${FNAME})

INCLUDE_DIRECTORIES(${NetCDF_INCLUDE_DIR})
IF(PHDF5_FOUND)
INCLUDE_DIRECTORIES(${PHDF5_INCLUDE_DIR})
TARGET_LINK_LIBRARIES(${BASENAME} ${NetCDF_LIBRARIES} ${PHDF5_LIBRARIES} elmersolver)
ELSE()
TARGET_LINK_LIBRARIES(${BASENAME} ${NetCDF_LIBRARIES} elmersolver)
ENDIF()

# Library object
GET_TARGET_PROPERTY(CURRENT_LINK_FLAGS ${BASENAME} LINK_FLAGS) 
GET_TARGET_PROPERTY(CURRENT_COMPILE_FLAGS ${BASENAME} COMPILE_FLAGS)
IF(CURRENT_LINK_FLAGS)
  SET(CURR_LFLAGS "${CURRENT_LINK_FLAGS};${MPI_Fortran_LINK_FLAGS}")
ELSE()
  SET(CURR_LFLAGS "${MPI_Fortran_LINK_FLAGS}")
ENDIF()
IF(CURRENT_COMPILE_FLAGS)
  SET(CURR_CFLAGS "${CURRENT_COMPILE_FLAGS};${MPI_Fortran_COMPILE_FLAGS}")
ELSE()
  SET(CURR_CFLAGS "${MPI_Fortran_COMPILE_FLAGS}")
ENDIF()

SET_TARGET_PROPERTIES(${BASENAME} PROPERTIES PREFIX "")  
SET_TARGET_PROPERTIES(${BASENAME} PROPERTIES LINK_FLAGS "${CURR_LFLAGS}")
SET_TARGET_PROPERTIES(${BASENAME} PROPERTIES COMPILE_FLAGS "${CURR_CFLAGS}")
IF(NOT(WIN32))
    SET_TARGET_PROPERTIES(${BASENAME} PROPERTIES 
                          INSTALL_RPATH ${ELMERSOLVER_RPATH_STRING})
ENDIF()

INSTALL(TARGETS ${BASENAME} LIBRARY DESTINATION "share/elmersolver/lib"
            RUNTIME DESTINATION "share/elmersolver/lib")
