1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- cmake_minimum_required(VERSION 3.0.0)
- project(webrtcinterop VERSION 0.1.0)
- MESSAGE(STATUS "operation system is ${CMAKE_HOST_SYSTEM_PROCESSOR}")
- SET (CMAKE_CXX_COMPILER "/usr/bin/clang++-12")
-
- if( CMAKE_BUILD_TYPE STREQUAL "Debug" )
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -g2 -ggdb -Wall -Wno-unused-variable -pthread")
- endif()
-
- # set(CUDA_LIB_DIRS ${CUDA_TOOLKIT_ROOT_DIR}/${CUDA_INSTALL_TARGET_DIR}/lib)
-
- add_definitions(-DWEBRTC_POSIX)
- add_definitions(-DWEBRTC_LINUX)
- add_definitions(-DJSONCPP_USING_SECURE_MEMORY=0)
- set(API_DIR ./include)
- # set(CUDA_INCLUDE_DIRS /usr/local/cuda/include)
- # set (CUDA_LIB_DIRS /usr/local/cuda/lib64)
- # set(ASA /usr/src/jetson_multimedia_api/samples/common/algorithm/cuda)
- find_package(CUDA REQUIRED)
- enable_language(CUDA)
-
- include_directories(${CUDA_INCLUDES} ./ ./include ./include/libjpeg-8b /usr/include/libdrm)
- set(WEBRTC_DIR ../thirdparty/webrtc)
- include_directories(${API_DIR})
- include_directories(${WEBRTC_DIR}/include)
- include_directories(${WEBRTC_DIR}/include/third_party/abseil-cpp)
- include_directories(${WEBRTC_DIR}/include/third_party/libyuv/include)
- include_directories(${WEBRTC_DIR}/include/third_party/jsoncpp/source/include)
- include_directories(${WEBRTC_DIR}/include/third_party/jsoncpp/generated)
- include_directories(${WEBRTC_DIR}/include/third_party/libvpx/source/vpx)
- include_directories(${CUDA_INCLUDE_DIRS})
- # include_directories(/home/nvidia/Desktop/env_enc/jetson_multimedia_api/include)
- include_directories(/usr/src/jetson_multimedia_api/include)
- include_directories(${CUDA_INCLUDE_DIRS} )
- include_directories(${ASA})
- FILE(GLOB LIVEHELPERSOURCE src/*.cpp *.cpp )
- # FILE(GLOB CUDA_SOURCE *.cu)
- aux_source_directory(./common/classes COMMON)
- # add_library(webrtcinterop ${LIVEHELPERSOURCE} /home/nvidia/Desktop/env_enc/jetson_multimedia_api/samples/common/classes/NvBufSurface.cpp)
- add_library(webrtcinterop ${LIVEHELPERSOURCE} ${COMMON} )
- target_compile_definitions(webrtcinterop PUBLIC NO_OPENSSL=1 BSD=1 SOCKLEN_T=socklen_t _FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE=1)
- link_directories(/usr/lib/aarch64-linux-gnu/tegra /lib/aarch64-linux-gnu /usr/local/lib /usr/lib)
- # 链接库
- # target_link_libraries(webrtcinterop
- # pthread
- # # nvv4l2
- # /usr/lib/aarch64-linux-gnu/tegra/libv4l2.so.0
- # EGL
- # GLESv2
- # X11
- # # nvbufsurface
- # # nvbufsurftransform
- # # nvjpeg
- # # nvosd
- # /usr/lib/aarch64-linux-gnu/tegra/libnvbufsurface.so
- # /usr/lib/aarch64-linux-gnu/tegra/libnvbufsurftransform.so
- # # /usr/lib/aarch64-linux-gnu/tegra/libnvjpeg.so
- # /usr/lib/aarch64-linux-gnu/tegra/libnvosd.so
- # drm
- # # cudart
- # /usr/local/cuda/lib64/libcudart.so
-
- # vulkan
- # )
- target_link_libraries(webrtcinterop
- ${CUDA_LIBRARIES} pthread v4l2 EGL GLESv2 X11 nvbufsurface nvbufsurftransform nvjpeg nvosd drm cuda)
- set(CPACK_PROJECT_NAME ${PROJECT_NAME})
- set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
- include(CPack)
|