cmake_minimum_required(VERSION ${MIN_VER_CMAKE})

# Headers and SRC
if(WITH_CUDA)
    project(${TARGET_DIAG} CUDA)
    file(GLOB_RECURSE BUILD_SRC *.cpp *.c *.h)
else()
    project(${TARGET_DIAG} C CXX)
    file(GLOB_RECURSE BUILD_SRC *.cpp *.c *.h)
endif(WITH_CUDA)
include_directories(${PROJECT_SOURCE_DIR}/../../3rdparty)
include_directories(${PROJECT_SOURCE_DIR}/../../sources)
file(GLOB install_list *.h *.hpp)

# Binary targets
add_library(${TARGET_DIAG} ${BUILD_SRC})
if(WITH_CUDA)
    target_include_directories(${TARGET_DIAG} PUBLIC ${CUDA_INCLUDE_DIRS})
    target_link_libraries(${TARGET_DIAG} PUBLIC ${CUDA_LIBRARIES})
endif(WITH_CUDA)
install(TARGETS ${TARGET_DIAG} 
        DESTINATION ${TBPLAS_LIB_ARCHIVE_INSTALL_PATH})

# Headers targets
install(FILES ${install_list}
        DESTINATION ${TBPLAS_INCLUDE_INSTALL_PATH}/diag
        PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
