CMAKE_MINIMUM_REQUIRED(VERSION 3.10.0 FATAL_ERROR)

project(cal_mpi VERSION 0.1.0.0 LANGUAGES C)

if (NOT CAL_INCLUDE_PATH AND NOT CAL_LIBRARIES)
    include(cmake/FindCAL.cmake)
endif ()

set(CAL_MPI_HEADER
    src/cal_mpi.h
)

set(CAL_MPI_SRC
    src/cal_mpi.c
)

find_package(MPI)
if (NOT MPI_FOUND)
    message(FATAL_ERROR "Could not find MPI")    
endif ()

add_library(${PROJECT_NAME} SHARED ${CAL_MPI_SRC})

target_include_directories(${PROJECT_NAME} PUBLIC
    .
    ${CAL_INCLUDE_PATH}
    ${MPI_C_INCLUDE_PATH}
)

target_link_libraries(${PROJECT_NAME} PUBLIC
    ${CAL_LIBRARIES}
    ${MPI_C_LIBRARIES}    
)

set_target_properties(${PROJECT_NAME} PROPERTIES
    VERSION ${PROJECT_VERSION}
    SOVERSION ${PROJECT_VERSION_MAJOR}
)

install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION "lib")
install(FILES ${CAL_MPI_HEADER} DESTINATION "include")
