Setup cmake and conan
This commit is contained in:
@@ -1,19 +1,18 @@
|
|||||||
cmake_minimum_required(VERSION 3.18)
|
cmake_minimum_required(VERSION 3.18)
|
||||||
project(TV_Denoising_CUDA)
|
project(TV_Denoising_CUDA)
|
||||||
|
|
||||||
# Set tool chain
|
set(CMAKE_BUILD_TYPE "Release")
|
||||||
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")
|
|
||||||
|
|
||||||
# Find GTK3
|
|
||||||
find_package(PkgConfig REQUIRED)
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR})
|
||||||
pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
|
|
||||||
|
# Find the Qt5 package
|
||||||
|
find_package(Qt5 COMPONENTS Widgets REQUIRED)
|
||||||
|
|
||||||
# Find OpenCV
|
# 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_package(OpenCV REQUIRED)
|
||||||
|
|
||||||
# Find CUDA
|
# Find CUDA
|
||||||
enable_language(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")
|
file(GLOB CPP_SOURCE_FILES "src/*.cpp")
|
||||||
|
|
||||||
# Set the include directories
|
# 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
|
# Create the executable
|
||||||
add_executable(TV_Denoising_CUDA ${CPP_SOURCE_FILES} ${CUDA_SOURCE_FILES})
|
add_executable(TV_Denoising_CUDA ${CPP_SOURCE_FILES} ${CUDA_SOURCE_FILES})
|
||||||
|
|
||||||
# Link CUDA libraries
|
# 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})
|
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"
|
||||||
|
)
|
9
CMakeUserPresets.json
Normal file
9
CMakeUserPresets.json
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"vendor": {
|
||||||
|
"conan": {}
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"E:\\programming\\C++\\tv-image-denoising\\build\\CMakePresets.json"
|
||||||
|
]
|
||||||
|
}
|
11
conanfile.txt
Normal file
11
conanfile.txt
Normal file
@@ -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
|
Reference in New Issue
Block a user