cmake_minimum_required(VERSION 3.26) project(HDRSynthesis LANGUAGES C CXX CUDA) set(CMAKE_CXX_STANDARD 20) add_executable(${PROJECT_NAME} src/main.cpp src/cuda_helper.cpp src/hdr_synthesis.cpp src/hdr_synthesis_kernel.cu) # OpenCV config find_package(OpenCV REQUIRED COMPONENTS cudaimgproc imgcodecs) target_include_directories(${PROJECT_NAME} PRIVATE ${OpenCV_INCLUDE_DIRS}) target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS}) # spdlog config find_package(spdlog REQUIRED) target_link_libraries(${PROJECT_NAME} spdlog::spdlog) target_compile_definitions(${PROJECT_NAME} PRIVATE SPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_TRACE) # Boost config find_package(Boost REQUIRED COMPONENTS iostreams) target_include_directories(${PROJECT_NAME} PRIVATE ${Boost_INCLUDE_DIRS}) target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES}) # CUDA config find_package(CUDAToolkit REQUIRED) target_link_libraries(${PROJECT_NAME} CUDA::cudart CUDA::cuda_driver) target_link_libraries(${PROJECT_NAME} nppc nppicc nppif nppial nppidei)