CMakeLists.txt 1.0 KB

1234567891011121314151617181920212223242526272829
  1. cmake_minimum_required(VERSION 3.26)
  2. project(HDRSynthesis LANGUAGES C CXX CUDA)
  3. set(CMAKE_CXX_STANDARD 20)
  4. add_executable(${PROJECT_NAME} src/main.cpp
  5. src/cuda_helper.cpp
  6. src/hdr_synthesis.cpp
  7. src/hdr_synthesis_kernel.cu)
  8. # OpenCV config
  9. find_package(OpenCV REQUIRED COMPONENTS cudaimgproc imgcodecs)
  10. target_include_directories(${PROJECT_NAME} PRIVATE ${OpenCV_INCLUDE_DIRS})
  11. target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})
  12. # spdlog config
  13. find_package(spdlog REQUIRED)
  14. target_link_libraries(${PROJECT_NAME} spdlog::spdlog)
  15. target_compile_definitions(${PROJECT_NAME} PRIVATE SPDLOG_ACTIVE_LEVEL=SPDLOG_LEVEL_TRACE)
  16. # Boost config
  17. find_package(Boost REQUIRED COMPONENTS iostreams)
  18. target_include_directories(${PROJECT_NAME} PRIVATE ${Boost_INCLUDE_DIRS})
  19. target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES})
  20. # CUDA config
  21. find_package(CUDAToolkit REQUIRED)
  22. target_link_libraries(${PROJECT_NAME} CUDA::cudart CUDA::cuda_driver)
  23. target_link_libraries(${PROJECT_NAME} nppc nppicc nppif nppial nppidei)