SET(SKETCH_PROG elastic-sketch)
SET(CMAKE_CXX_COMPILER ${MPI_CXX_COMPILER})

ADD_EXECUTABLE(${SKETCH_PROG} elastic-sketch.cpp)

FIND_LIBRARY(PMI_LIB NAMES pmi2 pmi)

IF (PMI_LIB)
  MESSAGE(STATUS "PMI support available: ${PMI_LIB}")
ELSE()
  MESSAGE(STATUS "No PMI support available")
  SET(PMI_LIB "")
ENDIF()

FIND_LIBRARY(PARASAIL_LIB parasail HINTS "${PARASAIL_LIB_DIR}")
FIND_FILE(PARASAIL_INCLUDE parasail.h HINTS "${PARASAIL_INCLUDE_DIR}")

IF (PARASAIL_LIB AND PARASAIL_INCLUDE)
  MESSAGE(STATUS "Found parasail: ${PARASAIL_LIB}")
  MESSAGE(STATUS "${PARASAIL_INCLUDE}")
ELSE()
  MESSAGE(FATAL_ERROR "Parasail library not found!\nUse -DPARASAIL_LIB_DIR and -DPARASAIL_INCLUDE_DIR to specify new path")
ENDIF()

IF (WITH_MPE)
  INCLUDE_DIRECTORIES(${MPE_INCLUDE_DIR})
  LINK_DIRECTORIES(${MPE_LIB_DIR})
ENDIF()

TARGET_INCLUDE_DIRECTORIES(${SKETCH_PROG} PUBLIC ${PARASAIL_INCLUDE_DIR})
TARGET_LINK_LIBRARIES(${SKETCH_PROG} ${IOMANIP_LIB} ${PMI_LIB} ${PARASAIL_LIB} ${Boost_LIBRARIES})

IF (WITH_MPE)
  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWITH_MPE")
  TARGET_LINK_LIBRARIES(${SKETCH_PROG} lmpe mpe)
ENDIF()

INSTALL(TARGETS ${SKETCH_PROG} RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
