|
@@ -1,5 +1,5 @@
|
|
|
cmake_minimum_required(VERSION 3.25)
|
|
cmake_minimum_required(VERSION 3.25)
|
|
|
-project(RemoteAR2)
|
|
|
|
|
|
|
+project(RemoteAR2 LANGUAGES C CXX CUDA)
|
|
|
|
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
|
|
|
@@ -50,4 +50,46 @@ target_sources(${PROJECT_NAME} PRIVATE
|
|
|
|
|
|
|
|
# spdlog config
|
|
# spdlog config
|
|
|
find_package(spdlog REQUIRED)
|
|
find_package(spdlog REQUIRED)
|
|
|
-target_link_libraries(${PROJECT_NAME} spdlog::spdlog)
|
|
|
|
|
|
|
+target_link_libraries(${PROJECT_NAME} spdlog::spdlog)
|
|
|
|
|
+
|
|
|
|
|
+# 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})
|
|
|
|
|
+
|
|
|
|
|
+# MVS config
|
|
|
|
|
+set(MVS_DIR /opt/MVS)
|
|
|
|
|
+set(MVS_INCLUDE_DIR ${MVS_DIR}/include)
|
|
|
|
|
+set(MVS_LIB_DIR ${MVS_DIR}/lib/64)
|
|
|
|
|
+find_library(MVS_LIB MvCameraControl HINTS ${MVS_LIB_DIR})
|
|
|
|
|
+target_include_directories(${PROJECT_NAME} PRIVATE ${MVS_INCLUDE_DIR})
|
|
|
|
|
+target_link_libraries(${PROJECT_NAME} ${MVS_LIB})
|
|
|
|
|
+
|
|
|
|
|
+# Boost config
|
|
|
|
|
+find_package(Boost REQUIRED)
|
|
|
|
|
+target_include_directories(${PROJECT_NAME} PRIVATE ${Boost_INCLUDE_DIRS})
|
|
|
|
|
+target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES})
|
|
|
|
|
+
|
|
|
|
|
+# VTK config
|
|
|
|
|
+find_package(VTK REQUIRED)
|
|
|
|
|
+target_link_libraries(${PROJECT_NAME} ${VTK_LIBRARIES})
|
|
|
|
|
+vtk_module_autoinit(TARGETS ${PROJECT_NAME} MODULES ${VTK_LIBRARIES})
|
|
|
|
|
+
|
|
|
|
|
+# NDI config
|
|
|
|
|
+set(CAPI_DIR /home/tpx/src/CombinedAPIsample)
|
|
|
|
|
+set(CAPI_INCLUDE_DIR ${CAPI_DIR}/library/include)
|
|
|
|
|
+set(CAPI_LIB_DIR ${CAPI_DIR}/build/linux)
|
|
|
|
|
+find_library(CAPI_LIB ndicapi HINTS ${CAPI_LIB_DIR})
|
|
|
|
|
+target_include_directories(${PROJECT_NAME} PRIVATE ${CAPI_INCLUDE_DIR})
|
|
|
|
|
+target_link_libraries(${PROJECT_NAME} ${CAPI_LIB})
|
|
|
|
|
+
|
|
|
|
|
+# Eigen config
|
|
|
|
|
+find_package(Eigen3 REQUIRED)
|
|
|
|
|
+target_link_libraries(${PROJECT_NAME} Eigen3::Eigen)
|
|
|
|
|
+
|
|
|
|
|
+# NvEnc config
|
|
|
|
|
+set(NVCODEC_DIR /home/tpx/src/Video_Codec_SDK_12.0.16)
|
|
|
|
|
+set(NVCODEC_INCLUDE_DIR ${NVCODEC_DIR}/Interface)
|
|
|
|
|
+find_library(NVENC_LIB nvidia-encode)
|
|
|
|
|
+target_include_directories(${PROJECT_NAME} PRIVATE ${NVCODEC_INCLUDE_DIR})
|
|
|
|
|
+target_link_libraries(${PROJECT_NAME} ${NVENC_LIB})
|