cmake_minimum_required(VERSION 3.18) project(TV_Denoising_CUDA) set(CMAKE_BUILD_TYPE "Release") list(APPEND CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR}) # Find the Qt5 package find_package(Qt5 COMPONENTS Widgets REQUIRED) # Find OpenCV set(OpenCV_DIR "C:/Users/Culis/.conan2/p/b/openc720995090ff52/b/") find_package(OpenCV REQUIRED) # Find CUDA enable_language(CUDA) # Set CUDA flags and properties set(CUDA_SEPARABLE_COMPILATION ON) set(CUDA_PROPAGATE_HOST_FLAGS OFF) # Add the CUDA source files file(GLOB CUDA_SOURCE_FILES "src/*.cu") set_source_files_properties(${CUDA_SOURCE_FILES} PROPERTIES CUDA_SOURCE_PROPERTY_FORMAT OBJ) # Add the C++ source files file(GLOB CPP_SOURCE_FILES "src/*.cpp") # Set the include directories include_directories(${OpenCV_DIR} ${CUDA_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS} "include") # Create the executable add_executable(TV_Denoising_CUDA ${CPP_SOURCE_FILES} ${CUDA_SOURCE_FILES}) # Link CUDA libraries target_link_libraries(TV_Denoising_CUDA ${CUDA_LIBRARIES} ${OpenCV_LIBS} Qt5::Widgets) set_property(TARGET TV_Denoising_CUDA PROPERTY ENVIRONMENT "PATH=${CMAKE_CURRENT_BINARY_DIR}/Debug;${CMAKE_CURRENT_BINARY_DIR}/Release") set_target_properties(TV_Denoising_CUDA PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" WIN32_EXECUTABLE TRUE) # Copy necessary DLLs and runtime files to the release directory install( DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/" FILES_MATCHING PATTERN "*.dll" )