mirror of
https://gitee.com/jiuyilian/embedded-framework.git
synced 2025-01-06 10:16:51 -05:00
54 lines
2.5 KiB
CMake
54 lines
2.5 KiB
CMake
set(FFMPEG_INSTALL_PATH "${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg")
|
|
if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX})
|
|
set(CONFIGURE_COMMAND "--enable-cross-compile --target-os=linux --arch=linux \
|
|
--cc=${CMAKE_C_COMPILER} \
|
|
--cxx=${CMAKE_CXX_COMPILER} \
|
|
--prefix=${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg \
|
|
--enable-parsers --enable-decoder=h264 \
|
|
--enable-ffmpeg --enable-static \
|
|
--enable-gpl --enable-nonfree --enable-version3 --enable-small \
|
|
--enable-muxer=mov --enable-muxer=mp4 \
|
|
--enable-decoder=aac --enable-decoder=pcm_alaw --enable-encoder=pcm_alaw \
|
|
--enable-demuxer=mov \
|
|
--enable-protocol=file --enable-bsf=aac_adtstoasc --enable-bsf=h264_mp4toannexb --enable-bsf=hevc_mp4toannexb")
|
|
else()
|
|
set(CONFIGURE_COMMAND "--enable-cross-compile --target-os=linux --arch=arm64 \
|
|
--cc=${CMAKE_C_COMPILER} \
|
|
--cxx=${CMAKE_CXX_COMPILER} \
|
|
--prefix=${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg \
|
|
--disable-asm --enable-parsers --disable-decoders --enable-decoder=h264 \
|
|
--disable-debug --enable-ffmpeg --enable-shared --enable-static --disable-stripping --disable-doc \
|
|
--enable-gpl --enable-nonfree --enable-version3 --enable-small \
|
|
--disable-mipsdsp --disable-mipsdspr2 \
|
|
--disable-encoders \
|
|
--disable-muxers --enable-muxer=mov --enable-muxer=mp4 \
|
|
--disable-decoders --enable-decoder=aac \
|
|
--disable-filters \
|
|
--disable-demuxers --enable-demuxer=mov \
|
|
--disable-parsers \
|
|
--disable-protocols --enable-protocol=file \
|
|
--disable-bsfs --enable-bsf=aac_adtstoasc --enable-bsf=h264_mp4toannexb --enable-bsf=hevc_mp4toannexb \
|
|
--disable-indevs \
|
|
--disable-outdevs --disable-ffprobe --disable-ffmpeg --disable-ffplay --disable-debug")
|
|
endif()
|
|
message("Compile ffmpeg comand : ${CONFIGURE_COMMAND}")
|
|
add_custom_target(
|
|
ffmpeg
|
|
COMMAND echo "Now compile ffmpeg, please wait..."
|
|
COMMAND test -f ${EXTERNAL_SOURCE_PATH}/ffmpeg/Makefile || tar -xf ffmpeg_6.1.1.orig.tar.xz
|
|
COMMAND chmod 777 -R ffmpeg-6.1.1
|
|
COMMAND cd ffmpeg-6.1.1 && bash -c "./configure ${CONFIGURE_COMMAND}"
|
|
COMMAND cd ffmpeg-6.1.1 && make
|
|
COMMAND cd ffmpeg-6.1.1 && make install
|
|
COMMAND cd ffmpeg-6.1.1 && make clean
|
|
WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/ffmpeg/
|
|
)
|
|
|
|
add_custom_target(
|
|
remove_ffmpeg_source_files
|
|
COMMAND rm -rf ffmpeg-6.1.1
|
|
WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/ffmpeg/
|
|
)
|
|
|
|
# 将clean目标依赖于我们自定义的clean_script目标
|
|
add_dependencies(sdk_clean remove_ffmpeg_source_files) |