mirror of
https://github.com/QIDITECH/QIDIStudio.git
synced 2026-01-31 00:48:41 +03:00
86 lines
3.5 KiB
CMake
86 lines
3.5 KiB
CMake
set(_conf_cmd ./configure)
|
|
|
|
if (MSVC)
|
|
set(_dstdir ${DESTDIR}/usr/local)
|
|
set(_source_dir "${CMAKE_BINARY_DIR}/dep_FFMPEG-prefix/src/dep_FFMPEG")
|
|
ExternalProject_Add(dep_FFMPEG
|
|
URL https://github.com/bambulab/ffmpeg_prebuilts/releases/download/7.0.2/7.0.2_msvc.zip
|
|
URL_HASH SHA256=DF44AE6B97CE84C720695AE7F151B4A9654915D1841C68F10D62A1189E0E7181
|
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/FFMPEG
|
|
CONFIGURE_COMMAND ""
|
|
BUILD_COMMAND ""
|
|
INSTALL_COMMAND
|
|
# COMMAND ${CMAKE_COMMAND} -E make_directory "${_dstdir}/bin"
|
|
# COMMAND ${CMAKE_COMMAND} -E make_directory "${_dstdir}/lib"
|
|
# COMMAND ${CMAKE_COMMAND} -E make_directory "${_dstdir}/include"
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory "${_source_dir}/bin" "${_dstdir}/bin"
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory "${_source_dir}/lib" "${_dstdir}/lib"
|
|
COMMAND ${CMAKE_COMMAND} -E copy_directory "${_source_dir}/include" "${_dstdir}/include"
|
|
)
|
|
|
|
else ()
|
|
set(_extra_cmd "--pkg-config-flags=\"--static\"")
|
|
string(APPEND _extra_cmd "--extra-cflags=\"-I ${DESTDIR}/usr/local/include\"")
|
|
string(APPEND _extra_cmd "--extra-ldflags=\"-I ${DESTDIR}/usr/local/lib\"")
|
|
string(APPEND _extra_cmd "--extra-libs=\"-lpthread -lm\"")
|
|
string(APPEND _extra_cmd "--ld=\"g++\"")
|
|
string(APPEND _extra_cmd "--bindir=\"${DESTDIR}/usr/local/bin\"")
|
|
string(APPEND _extra_cmd "--enable-gpl")
|
|
string(APPEND _extra_cmd "--enable-nonfree")
|
|
|
|
if (APPLE)
|
|
set(_minos_cmd
|
|
"CFLAGS=-mmacosx-version-min=${DEP_OSX_TARGET}"
|
|
"LDFLAGS=-mmacosx-version-min=${DEP_OSX_TARGET}"
|
|
)
|
|
if (IS_CROSS_COMPILE)
|
|
set(_cross_cmd --enable-cross-compile)
|
|
set(_pic_cmd --enable-pic)
|
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64")
|
|
set(_arch_cmd --arch=arm64)
|
|
set(_cc_cmd "--cc=clang -arch arm64")
|
|
else()
|
|
set(_arch_cmd --arch=x86_64)
|
|
set(_cc_cmd "--cc=clang -arch x86_64")
|
|
endif()
|
|
endif()
|
|
endif()
|
|
|
|
set(_build_j -j)
|
|
if(DEFINED ENV{CMAKE_BUILD_PARALLEL_LEVEL})
|
|
set(_build_j "-j$ENV{CMAKE_BUILD_PARALLEL_LEVEL}")
|
|
endif()
|
|
|
|
ExternalProject_Add(dep_FFMPEG
|
|
URL https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n7.0.2.tar.gz
|
|
URL_HASH SHA256=5EB46D18D664A0CCADF7B0ADEE03BD3B7FA72893D667F36C69E202A807E6D533
|
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/FFMPEG
|
|
CONFIGURE_COMMAND ${_conf_cmd}
|
|
${_cross_cmd}
|
|
${_pic_cmd}
|
|
${_arch_cmd}
|
|
${_cc_cmd}
|
|
--prefix="${DESTDIR}/usr/local"
|
|
--enable-shared
|
|
--disable-doc
|
|
--enable-small
|
|
--disable-outdevs
|
|
--disable-filters
|
|
--enable-filter=*null*,afade,*fifo,*format,*resample,aeval,allrgb,allyuv,atempo,pan,*bars,color,*key,crop,draw*,eq*,framerate,*_qsv,*_vaapi,*v4l2*,hw*,scale,volume,test*
|
|
--disable-protocols
|
|
--enable-protocol=file,fd,pipe,rtp,udp
|
|
--disable-muxers
|
|
--enable-muxer=rtp
|
|
--disable-encoders
|
|
--disable-decoders
|
|
--enable-decoder=*aac*,h264*,mp3*,mjpeg,rv*
|
|
--disable-demuxers
|
|
--enable-demuxer=h264,mp3,mov
|
|
--disable-zlib
|
|
--disable-avdevice
|
|
BUILD_IN_SOURCE ON
|
|
BUILD_COMMAND make ${_build_j}
|
|
INSTALL_COMMAND make install
|
|
)
|
|
|
|
endif() |