project(td_cuda)

cmake_minimum_required(VERSION 2.8.8)


if (NOT CMAKE_BUILD_TYPE)
  set(CMAKE_BUILD_TYPE "RelWithDebInfo")
endif()

find_package(Qt5Gui REQUIRED)

set(CMAKE_INCLUDE_CURRENT_DIR ON)
include_directories( ${PROJECT_SOURCE_DIR}/src )

add_definitions(-DPGHP_DIR="${PROJECT_SOURCE_DIR}")


# CUDA specific stuff
set(CUDA_BUILD_CUBIN OFF)
set(CUDA_BUILD_TYPE  Device)

if(NOT CUDA_INSTALL_PREFIX)
  set(CUDA_INSTALL_PREFIX /usr/local/cuda)
endif()
find_package(CUDA REQUIRED)

if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++")
set(CUDA_HOST_COMPILER "/usr/bin/clang")
endif()



include_directories(${CUDA_INSTALL_PREFIX}/include)
cuda_include_directories(
    ${CMAKE_BINARY_DIR}
    ${CUDA_INSTALL_PREFIX}/include
)

if(CUDA_FOUND)
  message(STATUS "Found Cuda")
else()
  message(STATUS "Cuda not found")
endif()

set(imgfilter_SRCS src/binarize.cu src/convolution.cu src/FloatImage.cpp src/main.cpp)

cuda_add_executable(imgfilter ${imgfilter_SRCS})

target_link_libraries(imgfilter)
QT5_USE_MODULES(imgfilter Gui)

