RtspDecoderByFFmpeg/RTSPDecoder/CMakeLists.txt

61 lines
1.4 KiB
CMake
Raw Normal View History

2025-04-27 05:54:21 +00:00
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
)