p26001-store-acs-soc-fw-app/video/CMakeLists.txt
2026-09-28 21:33:04 +08:00

139 lines
3.7 KiB
CMake

set(target video)
add_compile_definitions(
# 0d8c:0016: 板载声卡
-DBOARD_SOUND_CARD_ID="USB0d8c:0016"
)
aux_source_directory(. VIDEO_SOURCES)
aux_source_directory(core CORE_SOURCES)
list(APPEND VIDEO_SOURCES ${CORE_SOURCES})
aux_source_directory(v4l2 CORE_V4L2_SOURCES)
list(APPEND VIDEO_SOURCES ${CORE_V4L2_SOURCES})
aux_source_directory(alsa ALSA_SOURCES)
list(APPEND VIDEO_SOURCES ${ALSA_SOURCES})
if (USING_HISIMPP5)
aux_source_directory(hisi/mpp5 HISI_SOURCES)
aux_source_directory(hisi/mpp5/audio-adp HISI_ADP_SOURCES)
list(APPEND VIDEO_SOURCES ${HISI_SOURCES})
list(APPEND VIDEO_SOURCES ${HISI_ADP_SOURCES})
endif()
if (USING_ITE_FRONTEND)
aux_source_directory(ite ITE_SOURCES)
list(APPEND VIDEO_SOURCES ${ITE_SOURCES})
endif()
if (USING_LIBOPUS)
aux_source_directory(libopus LIBOPUS_SOURCES)
list(APPEND VIDEO_SOURCES ${LIBOPUS_SOURCES})
endif()
if (USING_SHINE)
aux_source_directory(shine SHINE_SOURCES)
list(APPEND VIDEO_SOURCES ${SHINE_SOURCES})
endif()
aux_source_directory(ffmpeg FFMPEG_SOURCES)
list(APPEND VIDEO_SOURCES ${FFMPEG_SOURCES})
aux_source_directory(user/alsa ALSA_USER_SOURCES)
list(APPEND VIDEO_SOURCES ${ALSA_USER_SOURCES})
aux_source_directory(mediaserver MEDIA_SERVER_USER_SOURCES)
list(APPEND VIDEO_SOURCES ${MEDIA_SERVER_USER_SOURCES})
aux_source_directory(user USER_SOURCES)
list(APPEND CMAKE_PREFIX_PATH $ENV{ALSALIB_PATH})
find_package(ALSA REQUIRED)
include_directories(
$ENV{MPP_PATH}/include
$ENV{FFMPEG_PATH}/include
$ENV{CIMG_PATH}
$ENV{LIBJPEG_PATH}/include
$ENV{LIBPNG_PATH}/include
$ENV{FREETYPE_PATH}/include/freetype2
$ENV{OSIP_PATH}/include
$ENV{EXOSIP_PATH}/include
$ENV{UCHARDET_PATH}/include
$ENV{LIBOPUS_PATH}/include
$ENV{SHINE_PATH}/include
$ENV{MEDIA_SERVER_PATH}/include
$ENV{MEDIA_SERVER_PATH}/include/avcodec/h264
${ALSA_INCLUDE_DIR}
)
add_library(${target} STATIC
${VIDEO_SOURCES}
${USER_SOURCES}
)
add_definitions(
-Dcimg_display=0
-Dcimg_use_jpeg
-Dcimg_use_png
)
target_link_libraries(${target} PRIVATE
$ENV{LIBJPEG_PATH}/lib/libjpeg.a
$ENV{LIBPNG_PATH}/lib/libpng.a
$ENV{FREETYPE_PATH}/lib/libfreetype.a
$ENV{EXOSIP_PATH}/lib/libeXosip2.a
$ENV{OSIP_PATH}/lib/libosip2.a
$ENV{OSIP_PATH}/lib/libosipparser2.a
$ENV{UCHARDET_PATH}/lib/libuchardet.a
$ENV{OPENJPEG_PATH}/lib/libopenjp2.a
${ALSA_LIBRARIES}
)
if (USING_ZLMEDIAKIT)
message("Using ZLMediaKit...")
add_subdirectory(zlmediakit)
add_definitions(-DUSING_ZLMEDIAKIT)
target_include_directories(${target} PUBLIC zlmediakit)
target_link_libraries(${target} PRIVATE zlmediakit)
endif()
if (USING_FFMPEG)
add_compile_definitions(-DUSING_FFMPEG -D__STDC_CONSTANT_MACROS)
target_link_libraries(${target} PRIVATE
$ENV{FFMPEG_PATH}/lib/libavdevice.a
$ENV{FFMPEG_PATH}/lib/libavfilter.a
$ENV{FFMPEG_PATH}/lib/libavformat.a
$ENV{FFMPEG_PATH}/lib/libavcodec.a
$ENV{FFMPEG_PATH}/lib/libavutil.a
$ENV{FFMPEG_PATH}/lib/libswscale.a
$ENV{FFMPEG_PATH}/lib/libswresample.a
$ENV{X264_PATH}/lib/libx264.a
$ENV{X265_PATH}/lib/libx265.a
$ENV{LIBMP3LAME_PATH}/lib/libmp3lame.a
dl
)
endif()
if (USING_MEDIASERVER)
target_link_libraries(${target} PRIVATE
$ENV{MEDIA_SERVER_PATH}/librtmp.a
$ENV{MEDIA_SERVER_PATH}/libflv.a
$ENV{MEDIA_SERVER_PATH}/libmpeg.a
$ENV{MEDIA_SERVER_PATH}/libh264.a
$ENV{MEDIA_SERVER_PATH}/libh265.a
)
endif()
if (USING_LIBOPUS)
target_link_libraries(${target} PRIVATE
$ENV{LIBOPUS_PATH}/lib/libopus.a
)
endif()
if (USING_SHINE)
target_link_libraries(${target} PRIVATE
$ENV{SHINE_PATH}/lib/libshine.a
)
endif()