This commit is contained in:
Ivan
2022-05-27 08:26:38 +03:00
parent 9b54c48dc3
commit 5909db4eec
3849 changed files with 2165811 additions and 0 deletions

232
CMakeLists.txt Normal file
View File

@@ -0,0 +1,232 @@
cmake_minimum_required(VERSION 3.12)
set(THIS_PROJECT "MyGst")
project(${THIS_PROJECT})
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(THIS_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
message("THIS_ROOT = ${THIS_ROOT}")
##################### PkgConfig BEGIN
set(MY_GST_PATH $ENV{MY_GST_PATH})
if (DEFINED MY_GST_PATH)
message("Env variable MY_GST_PATH=[${MY_GST_PATH}]")
else()
message(FATAL_ERROR "Env variable MY_GST_PATH is NOT DEFINED. Falling back to defualt value")
# set(MY_GST_PATH /home/admin1/gst/bin)
# message("Now the value of of MY_NDI_SDK_PATH=[${MY_GST_PATH}]")
endif()
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH ON)
# set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:${MY_GST_PATH}/lib/pkgconfig")
find_package(PkgConfig REQUIRED)
if ( NOT (PKGCONFIG_FOUND))
message(FATAL_ERROR "Please Install PkgConfig: CMake will Exit")
endif()
##################### PkgConfig END
##################### OpenCV BEGIN
# set(OpenCV_DIR "/home/ivan/ivan/opencv_2/opencv/build")
find_package(OpenCV 3 REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
# Include Sophus
include_directories("/home/ivan/ivan/git/work_drivecast2/SLAM/ORB_SLAM3-1.0-release/Thirdparty/Sophus")
##################### OpenCV END
##################### OSC BEGIN
# TODO: Build oscpack normally in the project's directory
set(OSC_DIR thirdparty/oscpack_1_1_0)
set(OSC_LIB_DIR ${OSC_DIR}/build/Release)
include_directories(
${OSC_DIR}
${OSC_LIB_DIR})
IF(WIN32)
set(IpSystemTypePath ${OSC_DIR}/ip/win32)
set(LIBS ${LIBS} Ws2_32 winmm)
ELSEIF(UNIX)
set(IpSystemTypePath ${OSC_DIR}/ip/posix)
ENDIF(WIN32)
ADD_LIBRARY(oscpack
${OSC_DIR}/ip/IpEndpointName.h
${OSC_DIR}/ip/IpEndpointName.cpp
${OSC_DIR}/ip/NetworkingUtils.h
${IpSystemTypePath}/NetworkingUtils.cpp
${OSC_DIR}/ip/UdpSocket.h
${IpSystemTypePath}/UdpSocket.cpp
${OSC_DIR}/ip/PacketListener.h
${OSC_DIR}/ip/TimerListener.h
${OSC_DIR}/osc/OscTypes.h
${OSC_DIR}/osc/OscTypes.cpp
${OSC_DIR}/osc/OscHostEndianness.h
${OSC_DIR}/osc/OscException.h
${OSC_DIR}/osc/OscPacketListener.h
${OSC_DIR}/osc/MessageMappingOscPacketListener.h
${OSC_DIR}/osc/OscReceivedElements.h
${OSC_DIR}/osc/OscReceivedElements.cpp
${OSC_DIR}/osc/OscPrintReceivedElements.h
${OSC_DIR}/osc/OscPrintReceivedElements.cpp
${OSC_DIR}/osc/OscOutboundPacketStream.h
${OSC_DIR}/osc/OscOutboundPacketStream.cpp
)
#target_link_libraries(oscpack
# ${OSC_LIB_DIR}/oscpack.lib)
##################### OSC END
##################### ORB_SLAM3 BEGIN
set(ORB_SLAM3_DIR /home/ivan/ivan/git/work_drivecast2/SLAM/ORB_SLAM3-1.0-release)
#set(Boost_INCLUDE_DIR C:/Users/ivan/Source/Repos/ORB-SLAM3forWindows/Thirdparty/boost_1_77_0)
set(Pangolin_DIR /home/ivan/ivan/git/Work DriveCast/Pangolin-0.6/build)
#set(Eigen3_DIR C:/Users/ivan/Source/Repos/ORB-SLAM3forWindows/Thirdparty/eigen/build)
find_package(Eigen3 3.1.0 REQUIRED)
find_package(Pangolin REQUIRED)
find_package(Boost)
find_package(realsense2)
include_directories(
${ORB_SLAM3_DIR}
${ORB_SLAM3_DIR}/include
${ORB_SLAM3_DIR}/include/CameraModels
${ORB_SLAM3_DIR}/Thirdparty/g2o
${EIGEN3_INCLUDE_DIR}
${Pangolin_INCLUDE_DIRS}
${Boost_INCLUDE_DIR}
${Boost_INCLUDE_DIR}/stage/lib
${Pangolin_INCLUDE_DIRS}
)
##################### ORB_SLAM3 END
##################### GStreamer BEGIN
# gstreamer-1.0
pkg_check_modules(GST REQUIRED gstreamer-1.0>=1.16.0)
include_directories("${GST_INCLUDE_DIRS}")
link_directories(BEFORE ${GST_LIBDIR})
# gstreamer-app-1.0
pkg_check_modules(GST_APP REQUIRED gstreamer-app-1.0>=1.16.0)
include_directories("${GST_APP_INCLUDE_DIRS}")
link_directories(BEFORE ${GST_APP_LIBDIR})
# gstreamer-audio-1.0
pkg_check_modules(GST_AUDIO REQUIRED gstreamer-audio-1.0>=1.16.0)
include_directories("${GST_AUDIO_INCLUDE_DIRS}")
link_directories(BEFORE ${GST_AUDIO_LIBDIR})
# gstreamer-video-1.0
pkg_check_modules(GST_VIDEO REQUIRED gstreamer-video-1.0>=1.16.0)
include_directories("${GST_VIDEO_INCLUDE_DIRS}")
link_directories(BEFORE ${GST_VIDEO_LIBDIR})
##################### GStreamer END
# dump everything
get_cmake_property(_variableNames VARIABLES)
list (SORT _variableNames)
foreach (_variableName ${_variableNames})
message(STATUS "${_variableName}=${${_variableName}}")
endforeach()
##################### NDI Begin
set(MY_NDI_SDK_PATH $ENV{NDI_SDK_DIR})
if (DEFINED MY_NDI_SDK_PATH)
message("Env variable MY_NDI_SDK_PATH=[${MY_NDI_SDK_PATH}]")
else()
message("Env variable MY_NDI_SDK_PATH is NOT DEFINED. Falling back to defualt value")
IF (WIN32)
set(MY_NDI_SDK_PATH "C:\\Program Files\\NDI\\NDI 5 SDK")
ELSE()
set(MY_NDI_SDK_PATH "/home/admin1/gst/from_source/NDI_SDK_for_Linux")
ENDIF()
message("Now the value of MY_NDI_SDK_PATH=[${MY_NDI_SDK_PATH}]")
endif()
set(MY_NDI_INCLUDE "${MY_NDI_SDK_PATH}/include")
include_directories(${MY_NDI_INCLUDE})
IF (WIN32)
add_library(MY_NDI_LIBS SHARED IMPORTED)
set_target_properties(MY_NDI_LIBS PROPERTIES
IMPORTED_LOCATION "${MY_NDI_SDK_PATH}/Bin/x64/Processing.NDI.Lib.x64.dll"
IMPORTED_IMPLIB "${MY_NDI_SDK_PATH}/Lib/x64/Processing.NDI.Lib.x64.lib"
)
ELSE()
add_library(MY_NDI_LIBS SHARED IMPORTED)
set_property(TARGET MY_NDI_LIBS
PROPERTY IMPORTED_LOCATION "${MY_NDI_SDK_PATH}/lib/x86_64-linux-gnu/libndi.so"
)
ENDIF()
##################### NDI End
##################### Debug Begin
#get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
#foreach(dir ${dirs})
# message(STATUS "This directory is in INCLUDE_DIRECTORIES variable='${dir}'")
#endforeach()
##################### Debug End
add_executable(gst_ndi
gst_ndi.h gst_ndi.cpp
)
target_link_libraries(gst_ndi ${GST_LIBRARIES})
add_executable(localization
localization.cpp
)
target_link_libraries(localization
${GST_LIBRARIES} ${GST_APP_LIBRARIES} ${GST_AUDIO_LIBRARIES}
${OpenCV_LIBRARIES}
${GST_VIDEO_LIBRARIES}
oscpack
${LIBS}
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${Boost_LIBS}
${ORB_SLAM3_DIR}/Thirdparty/DBoW2/lib/libDBoW2.so
${ORB_SLAM3_DIR}/Thirdparty/g2o/lib/libg2o.so
${ORB_SLAM3_DIR}/lib/libORB_SLAM3.so
-lboost_serialization
-lcrypto
)
#add_executable(try_1
# try_1.cpp
#)
#target_link_libraries(try_1
# ${GST_LIBRARIES} ${OpenCV_LIBRARIES} ${GST_APP_LIBRARIES}
#)
add_executable(my_ndi
my_ndi.cpp
)
target_include_directories(my_ndi PRIVATE ${MY_NDI_INCLUDE})
target_link_libraries(my_ndi
MY_NDI_LIBS
${OpenCV_LIBRARIES}
oscpack
)
add_executable(drawing drawing.cpp)
target_include_directories(drawing PRIVATE ${MY_NDI_INCLUDE})
target_link_libraries(drawing
MY_NDI_LIBS
${Pangolin_LIBRARIES}
${GST_LIBRARIES} ${GST_APP_LIBRARIES} ${GST_AUDIO_LIBRARIES}
${OpenCV_LIBRARIES}
${GST_VIDEO_LIBRARIES}
oscpack
${LIBS}
${EIGEN3_LIBS}
)
add_executable(source
source.cpp
)
target_include_directories(source PRIVATE ${MY_NDI_INCLUDE} ${OpenCV_INCLUDE_DIRS} )
target_link_libraries(source MY_NDI_LIBS ${OpenCV_LIBRARIES})
install(TARGETS my_ndi source localization gst_ndi
CONFIGURATIONS Release
RUNTIME DESTINATION ${THIS_ROOT}/../deploy-win32
)