cmake_minimum_required(VERSION 2.8)

project(amd Fortran)

set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/../../Libs)

file(GLOB AMD_SRC "*.f")

if(CMAKE_C_COMPILER_ID MATCHES "GNU") # GNU GCC COMPILER
    link_libraries(openblas gfortran pthread)
    if(USE_OPENMP)
        set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fopenmp")
    endif()
elseif(CMAKE_C_COMPILER_ID MATCHES "MSVC") # MSVC COMPILER
    link_libraries(libopenblas)
    set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /MP /fpp /names:lowercase /assume:underscore")
    if(USE_OPENMP)
        set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /Qopenmp")
    endif()
endif()

if(BUILD_SHARED)
    add_library(${PROJECT_NAME} SHARED ${AMD_SRC})
else()
    add_library(${PROJECT_NAME} STATIC ${AMD_SRC})
endif()