set(CMAKE_VERBOSE_MAKEFILE ON) message(STATUS "The CMake version used is ${CMAKE_VERSION}") cmake_minimum_required(VERSION 3.21...${CMAKE_VERSION}) cmake_policy(VERSION 3.21) #--------------------------------------------------------------------------------------------------------------------- #Path definitions set(ARGUS_multimedia_api_path "/usr/src/jetson_multimedia_api") set(CUDA_PATH "/usr/local/cuda") #--------------------------------------------------------------------------------------------------------------------- project(NvBufferCreateTest VERSION 1.0) #--------------------------------------------------------------------------------------------------------------------- # Set NVCC compiler and options set(CMAKE_C_COMPILER ${CUDA_PATH}/bin/nvcc) set(CMAKE_CXX_COMPILER ${CUDA_PATH}/bin/nvcc) add_compile_options(-gencode arch=compute_72,code=sm_72 -m64 -ccbin g++) add_link_options(-m64 -ccbin g++) add_compile_options(-g -G -O0) #--------------------------------------------------------------------------------------------------------------------- #--------------------------------------------------------------------------------------------------------------------- # Find argus common src files file(GLOB_RECURSE SRC_ARGUS_common_src "${ARGUS_multimedia_api_path}/samples/common/classes/*.cpp" ) #--------------------------------------------------------------------------------------------------------------------- #--------------------------------------------------------------------------------------------------------------------- #Add src add_executable(NvBufferCreateTest "main.cpp") #--------------------------------------------------------------------------------------------------------------------- #--------------------------------------------------------------------------------------------------------------------- # Add argus common classes add_library(ARGUS_common_lib ${SRC_ARGUS_common_src}) target_include_directories(ARGUS_common_lib PRIVATE ${ARGUS_multimedia_api_path}/include ${ARGUS_multimedia_api_path}/include/libjpeg-8b ${CUDA_PATH}/include /usr/include/aarch64-linux-gnu /usr/include/libdrm /usr/include/opencv4 ) #--------------------------------------------------------------------------------------------------------------------- #--------------------------------------------------------------------------------------------------------------------- # include cuda multimedia opencv and tegra libs target_include_directories(NvBufferCreateTest PRIVATE ${ARGUS_multimedia_api_path}/include ${ARGUS_multimedia_api_path}/include/libjpeg-8b ${CUDA_PATH}/include /usr/include/aarch64-linux-gnu /usr/include/libdrm /usr/include/opencv4 ) #--------------------------------------------------------------------------------------------------------------------- #--------------------------------------------------------------------------------------------------------------------- # add cuda multimedia opencv and tegra libs to linker target_link_libraries(NvBufferCreateTest ARGUS_common_lib -lpthread -lv4l2 -lEGL -lGLESv2 -lX11 -lnvbuf_utils -lnvjpeg -lnvosd -ldrm -lcuda -lcudart -lnveglstream_camconsumer -lnvargus_socketclient -L"/usr/local/cuda/lib64" -L"/usr/lib/aarch64-linux-gnu" -L"/usr/lib/aarch64-linux-gnu/tegra" ) #--------------------------------------------------------------------------------------------------------------------- #--------------------------------------------------------------------------------------------------------------------- #Deploy to build folder install(TARGETS NvBufferCreateTest DESTINATION "${CMAKE_SOURCE_DIR}/build") #---------------------------------------------------------------------------------------------------------------------