CMAKE_MINIMUM_REQUIRED(VERSION 2.6)

# compile in Release mode by default
SET(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.")

PROJECT(GSMPI)

INCLUDE(FindMPI)

ADD_DEFINITIONS(-DMPI -DPREFIX=nektar_ -DNO_NEK_EXITT -DGLOBAL_LONG)
ADD_DEFINITIONS(-DPRINT_MALLOCS=0 -DUSE_NAIVE_BLAS)
INCLUDE_DIRECTORIES( ${MPI_INCLUDE_PATH} )

SET(GS_SOURCES
    src/gs.c
    src/sort.c
    src/sarray_transfer.c
    src/sarray_sort.c
    src/gs_local.c
    src/fail.c
    src/crystal.c
    src/comm.c
    src/tensor.c
)

SET(GS_HEADERS
    src/gs.h
)

ADD_LIBRARY(gsmpi STATIC ${GS_SOURCES})

TARGET_LINK_LIBRARIES(gsmpi ${MPI_LIBRARY} ${MPI_EXTRA_LIBRARY})
SET_PROPERTY(TARGET gsmpi APPEND PROPERTY COMPILE_FLAGS
    "-fPIC -W -Wall -Wno-unused-function -Wno-unused-parameter ${MPI_COMPILE_FLAGS}")
SET_PROPERTY(TARGET gsmpi APPEND PROPERTY LINK_FLAGS
    ${MPI_LINK_FLAGS})

INSTALL(TARGETS gsmpi DESTINATION ${CMAKE_SOURCE_DIR})
