cmake_minimum_required(VERSION 3.18) set(PROJECT_NAME RTSPDecoder) project(${PROJECT_NAME}) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) if(POLICY CMP0146) cmake_policy(SET CMP0146 OLD) endif() # 设置项目生成目录 set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/app/lib) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) # 如果使用CUDA option(USE_CUDA "Enable CUDA support" ON) if(USE_CUDA) find_package(CUDA REQUIRED) endif() # 查找依赖库 find_package(OpenCV REQUIRED) find_package(FFmpeg REQUIRED) # 添加动态库 add_library(${PROJECT_NAME} SHARED RTSPDecoder.cpp RTSPDecoder.h ) target_include_directories(${PROJECT_NAME} PRIVATE ${OpenCV_INCLUDE_DIRS} ${FFmpeg_INCLUDE_DIRS} ) target_link_libraries(${PROJECT_NAME} PRIVATE ${OpenCV_LIBS} # ${FFmpeg_LIBRARIES} avutil avcodec avformat avdevice avfilter swscale swresample ) if(USE_CUDA AND CUDA_FOUND) target_include_directories(${PROJECT_NAME} PRIVATE ${CUDA_INCLUDE_DIRS}) target_link_libraries(${PROJECT_NAME} PRIVATE ${CUDA_LIBRARIES}) target_compile_definitions(${PROJECT_NAME} PRIVATE USE_CUDA_ACCEL) endif() # 安装规则 install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION lib ARCHIVE DESTINATION lib ) install(FILES RTSPDecoder.h DESTINATION include )