CMakeLists.txt 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. cmake_minimum_required(VERSION 3.0.0)
  2. project(webrtcinterop VERSION 0.1.0)
  3. MESSAGE(STATUS "operation system is ${CMAKE_HOST_SYSTEM_PROCESSOR}")
  4. SET (CMAKE_CXX_COMPILER "/usr/bin/clang++-12")
  5. find_package(CUDA REQUIRED)
  6. enable_language(CUDA)
  7. if( CMAKE_BUILD_TYPE STREQUAL "Debug" )
  8. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -g2 -ggdb -Wall -Wno-unused-variable -pthread")
  9. endif()
  10. # set(CUDA_LIB_DIRS ${CUDA_TOOLKIT_ROOT_DIR}/${CUDA_INSTALL_TARGET_DIR}/lib)
  11. add_definitions(-DWEBRTC_POSIX)
  12. add_definitions(-DWEBRTC_LINUX)
  13. add_definitions(-DJSONCPP_USING_SECURE_MEMORY=0)
  14. set(API_DIR ./include)
  15. set(WEBRTC_DIR ../thirdparty/webrtc)
  16. include_directories(${CUDA_INCLUDES} ./ ./include ./include/libjpeg-8b /usr/include/libdrm)
  17. include_directories(${API_DIR})
  18. include_directories(${WEBRTC_DIR}/include)
  19. include_directories(${WEBRTC_DIR}/include/third_party/abseil-cpp)
  20. include_directories(${WEBRTC_DIR}/include/third_party/libyuv/include)
  21. include_directories(${WEBRTC_DIR}/include/third_party/jsoncpp/source/include)
  22. include_directories(${WEBRTC_DIR}/include/third_party/jsoncpp/generated)
  23. # include_directories(/home/nvidia/Desktop/env_enc/jetson_multimedia_api/include)
  24. include_directories(${CUDA_INCLUDE_DIRS} )
  25. FILE(GLOB LIVEHELPERSOURCE src/*.cpp *.cpp )
  26. # aux_source_directory(./ DEMO)
  27. aux_source_directory(/home/nvidia/devdata/ZJ_PRO_JETSON_TEST/webrtcinterop/common/classes COMMON)
  28. # FILE(GLOB CUDA_SOURCE *.cu)
  29. # message(STATUS "CUDA source files:")
  30. # foreach(file ${CUDA_SOURCE})
  31. # message(STATUS " ${file}")
  32. # endforeach()
  33. # FILE(GLOB LIVEHELPERSOURCE src/*.cpp *.cpp )
  34. add_library(webrtcinterop ${LIVEHELPERSOURCE} ${COMMON})
  35. target_compile_definitions(webrtcinterop PUBLIC NO_OPENSSL=1 BSD=1 SOCKLEN_T=socklen_t _FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE=1)
  36. link_directories(/usr/lib/aarch64-linux-gnu/tegra /lib/aarch64-linux-gnu /usr/local/lib /usr/lib)
  37. target_link_libraries(webrtcinterop ${CUDA_LIBRARIES} pthread v4l2 EGL GLESv2 X11 nvbufsurface nvbufsurftransform nvjpeg nvosd drm cuda)
  38. set(CPACK_PROJECT_NAME ${PROJECT_NAME})
  39. set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
  40. include(CPack)