139 lines
3.7 KiB
CMake
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()
|