From dff0311eac2049490bea57e522bb89050f6b4f2f Mon Sep 17 00:00:00 2001 From: Vargha Csongor Date: Mon, 26 Jun 2023 22:18:42 +0200 Subject: [PATCH] Setup cmake and conan --- CMakeLists.txt | 32 ++++++++++++++++++++------------ CMakeUserPresets.json | 9 +++++++++ conanfile.txt | 11 +++++++++++ 3 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 CMakeUserPresets.json create mode 100644 conanfile.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 6398d63..0373a9b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,19 +1,18 @@ cmake_minimum_required(VERSION 3.18) project(TV_Denoising_CUDA) -# Set tool chain -set(VCPKG_DIR "E:/programming/vcpkg") -set(VCPKG_INSTALLED_DIR "${VCPKG_DIR}/installed") -set(CMAKE_TOOLCHAIN_FILE "${VCPKG_DIR}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "Vcpkg toolchain file") +set(CMAKE_BUILD_TYPE "Release") -# Find GTK3 -find_package(PkgConfig REQUIRED) -pkg_check_modules(GTK3 REQUIRED gtk+-3.0) + +list(APPEND CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR}) + +# Find the Qt5 package +find_package(Qt5 COMPONENTS Widgets REQUIRED) # Find OpenCV -set(OpenCV_DIR "${VCPKG_INSTALLED_DIR}/x64-windows/share/opencv2") +set(OpenCV_DIR "C:/Users/Culis/.conan2/p/b/openc720995090ff52/b/") find_package(OpenCV REQUIRED) - + # Find CUDA enable_language(CUDA) @@ -29,12 +28,21 @@ set_source_files_properties(${CUDA_SOURCE_FILES} PROPERTIES CUDA_SOURCE_PROPERTY file(GLOB CPP_SOURCE_FILES "src/*.cpp") # Set the include directories -include_directories(${OpenCV_DIR} ${CUDA_INCLUDE_DIRS} ${GTK3_INCLUDE_DIRS} "include") +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} ${GTK3_LIBRARIES}) +target_link_libraries(TV_Denoising_CUDA ${CUDA_LIBRARIES} ${OpenCV_LIBS} Qt5::Widgets) -target_compile_options(TV_Denoising_CUDA PUBLIC ${GTK3_CFLAGS_OTHER}) \ No newline at end of file +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" +) \ No newline at end of file diff --git a/CMakeUserPresets.json b/CMakeUserPresets.json new file mode 100644 index 0000000..faa918f --- /dev/null +++ b/CMakeUserPresets.json @@ -0,0 +1,9 @@ +{ + "version": 4, + "vendor": { + "conan": {} + }, + "include": [ + "E:\\programming\\C++\\tv-image-denoising\\build\\CMakePresets.json" + ] +} \ No newline at end of file diff --git a/conanfile.txt b/conanfile.txt new file mode 100644 index 0000000..ef36984 --- /dev/null +++ b/conanfile.txt @@ -0,0 +1,11 @@ +[requires] +opencv/4.5.5 +qt/5.15.8 + +[options] +qt/5.15.8:qttools=True +qt/5.15.8:shared=True + +[generators] +CMakeDeps +CMakeToolchain \ No newline at end of file