Update AppImage dependency build scripts

parent 1bbfd3d8
......@@ -109,6 +109,7 @@ add_subdirectory( ext_gtk+ )
add_subdirectory( ext_gavl )
add_subdirectory( ext_frei0r )
add_subdirectory( ext_opencv )
add_subdirectory( ext_opus )
add_subdirectory( ext_vidstab )
add_subdirectory( ext_rubberband )
add_subdirectory( ext_mlt )
......
ExternalProject_Add(
ext_ffmpeg
DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR}
GIT_REPOSITORY https://anonscm.debian.org/git/pkg-multimedia/ffmpeg.git
# A stupid crlf issue prevents changing branch using normal pipeline, so
# we have a crazy workaround to delete offending file and checkout the wanted branch
UPDATE_COMMAND git checkout debian/7%4.1-1
PATCH_COMMAND rm <SOURCE_DIR>/tests/ref/fate/sub-scc
ExternalProject_Add(
ext_ffmpeg
DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR}
GIT_REPOSITORY https://anonscm.debian.org/git/pkg-multimedia/ffmpeg.git
# A stupid crlf issue prevents changing branch using normal pipeline, so
# we have a crazy workaround to delete offending file and checkout the wanted branch
UPDATE_COMMAND git checkout debian/7%4.3-3
# PATCH_COMMAND rm <SOURCE_DIR>/tests/ref/fate/sub-scc
GIT_TAG debian/master
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${EXT_INSTALL_DIR} --extra-ldflags="-L${EXT_INSTALL_DIR}/lib -lstdc++ -lm -lrt -ldl" --extra-cflags="-I$EXT_INSTALL_DIR/include" --enable-shared --enable-avfilter --enable-gpl --enable-avresample --enable-libx265 --enable-libvpx --enable-libx264 --disable-doc
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${EXT_INSTALL_DIR} --extra-ldflags="-L${EXT_INSTALL_DIR}/lib -lstdc++ -lm -lrt -ldl" --extra-cflags="-I$EXT_INSTALL_DIR/include" --enable-shared --enable-avfilter --enable-gpl --enable-avresample --enable-libx265 --enable-libvpx --enable-libx264 --disable-doc --enable-libmp3lame --enable-libopus --enable-libvorbis
BUILD_ALWAYS TRUE
BUILD_IN_SOURCE 1
BUILD_COMMAND $(MAKE) clean
......
......@@ -2,8 +2,8 @@
ExternalProject_Add(
ext_opencv_contrib
DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR}
URL https://github.com/opencv/opencv_contrib/archive/4.1.0.tar.gz
URL_MD5 5357a038f54ba15c771abb0d91a5519d
URL https://github.com/opencv/opencv_contrib/archive/4.3.0.tar.gz
URL_MD5 924ed270a66b5234442cf84da8c7e4b1
# This is a support repository for OpenCV 4.x and does not contain any
# build or install rules. This will be hooked into OpenCV which will control
......@@ -17,8 +17,8 @@ ExternalProject_Add(
ExternalProject_Add(
ext_opencv
DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR}
URL https://github.com/opencv/opencv/archive/4.1.0.tar.gz
URL_MD5 b80c59c7e4feee6a00608315e02b0b73
CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} -DOPENCV_EXTRA_MODULES_PATH=${EXT_BUILD_DIR}/deps-build/ext_opencv/ext_opencv_contrib-prefix/src/ext_opencv_contrib/modules -DOPENCV_GENERATE_PKGCONFIG=ON -DBUILD_opencv_freetype=OFF -DCPU_BASELINE=SSE4_2 -DCPU_DISPATCH=SSE4_2
URL https://github.com/opencv/opencv/archive/4.3.0.tar.gz
URL_MD5 559953ef6ffaad03421cbba7f31d891c
CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} -DOPENCV_EXTRA_MODULES_PATH=${EXT_BUILD_DIR}/deps-build/ext_opencv/ext_opencv_contrib-prefix/src/ext_opencv_contrib/modules -DOPENCV_GENERATE_PKGCONFIG=ON -DBUILD_LIST=core,objdetect,imgproc,imgcodecs,flann,tracking -DBUILD_opencv_freetype=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_DOCS=OFF -DBUILD_PERF_TESTS=OFF -DINSTALL_C_EXAMPLES=OFF -DINSTALL_PYTHON_EXAMPLES=OFF -DWITH_LAPACK=OFF -DWITH_V4L=OFF -DOPENCV_ENABLE_ALLOCATOR_STATS=OFF -DOPENCV_BUILD_3RDPARTY_LIBS=OFF -DBUILD_NEW_PYTHON_SUPPORT=OFF -DBUILD_ZLIB=OFF -DWITH_JASPER=OFF -DWITH_PNG=OFF -DWITH_OPENEXR=OFF -DWITH_1394=OFF -DWITH_CUBLAS=OFF -DWITH_CUDA=OFF -DWITH_CUFFT=OFF -DWITH_DIRECTX=OFF -DWITH_DSHOW=OFF -DWITH_EIGEN=OFF -DWITH_FFMPEG=OFF -DWITH_GPHOTO2=OFF -DWITH_GSTREAMER=OFF -DWITH_GTK=OFF -DWITH_IMGCODEC_HDR=OFF -DWITH_IMGCODEC_PXM=OFF -DWITH_IMGCODEC_SUNRASTER=OFF -DWITH_IPP=OFF -DWITH_JPEG=OFF -DWITH_MATLAB=OFF -DWITH_NVCUVID=OFF -DWITH_OPENCL_SVM=OFF -DWITH_OPENCL=OFF -DWITH_OPENCLAMDBLAS=OFF -DWITH_OPENCLAMDFFT=OFF -DWITH_OPENMP=OFF -DWITH_OPENNI=OFF -DWITH_PVAPI=OFF -DWITH_QT_OPENGL=OFF -DWITH_QT=OFF -DWITH_QUICKTIME=OFF -DWITH_TBB=OFF -DWITH_TIFF=OFF -DWITH_UNICAP=OFF -DWITH_VA_INTEL=OFF -DWITH_VFW=OFF -DWITH_VIDEOINPUT=OFF -DWITH_VTK=OFF -DWITH_WEBP=OFF -DWITH_WIN32UI=OFF -DWITH_XINE=OFF -DCPU_BASELINE=SSE2 -DCPU_DISPATCH=SSE2
DEPENDS ext_opencv_contrib
)
ExternalProject_Add(
ext_opus
DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR}
URL https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
URL_MD5 d7c07db796d21c9cf1861e0c2b0c0617
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${EXT_INSTALL_DIR}
BUILD_COMMAND $(MAKE)
INSTALL_COMMAND $(MAKE) install
)
......@@ -5,12 +5,12 @@
ExternalProject_Add(
ext_qt
DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR}
URL https://download.qt.io/official_releases/qt/5.12/5.12.4/single/qt-everywhere-src-5.12.4.tar.xz
URL_MD5 dda95b0239d13c5276834177af3a8588
URL https://download.qt.io/official_releases/qt/5.14/5.14.1/single/qt-everywhere-src-5.14.1.tar.xz
URL_MD5 781c3179410aff7ef84607214e1e91b4
CMAKE_ARGS -DOPENSSL_LIBS='-L${EXTPREFIX_qt}/lib -lssl -lcrypto'
BUILD_IN_SOURCE 1
#PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/qsql_mysql.diff
CONFIGURE_COMMAND <SOURCE_DIR>/configure -prefix ${EXT_INSTALL_DIR} -opensource -confirm-license -openssl-linked -verbose -nomake examples -nomake tests -nomake tools -skip qt3d -skip qtactiveqt -skip qtcanvas3d -skip qtconnectivity -skip qtlocation -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtandroidextras -skip qtserialport -skip qtdatavis3d -skip qtvirtualkeyboard -skip qtspeech -skip qtsensors -skip qtgamepad -skip qtscxml -skip qtremoteobjects -skip qtxmlpatterns -skip qtcharts -skip qtpurchasing -skip qtserialbus -skip qtdoc -skip qtmacextras -skip qtwinextras -skip qtwebglplugin -skip qtwebsockets -skip qtwebview -skip qtnetworkauth
CONFIGURE_COMMAND <SOURCE_DIR>/configure -prefix ${EXT_INSTALL_DIR} -opensource -confirm-license -openssl-linked -verbose -nomake examples -nomake tests -nomake tools -skip qt3d -skip qtactiveqt -skip qtcanvas3d -skip qtconnectivity -skip qtlocation -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtandroidextras -skip qtserialport -skip qtdatavis3d -skip qtvirtualkeyboard -skip qtspeech -skip qtsensors -skip qtgamepad -skip qtscxml -skip qtremoteobjects -skip qtxmlpatterns -skip qtcharts -skip qtpurchasing -skip qtserialbus -skip qtdoc -skip qtmacextras -skip qtwinextras -skip qtwebglplugin -skip qtwebsockets -skip qtwebview -skip qtnetworkauth -linker gold
BUILD_COMMAND $(MAKE)
INSTALL_COMMAND $(MAKE) install
......
......@@ -65,75 +65,116 @@ cd $BUILD_PREFIX/deps-build/
# Configure the dependencies for building
cmake $KDENLIVE_SOURCES/packaging/appimage/3rdparty -DCMAKE_INSTALL_PREFIX=$DEPS_INSTALL_PREFIX -DEXT_INSTALL_DIR=$DEPS_INSTALL_PREFIX -DEXT_DOWNLOAD_DIR=$DOWNLOADS_DIR -DEXT_BUILD_DIR=$BUILD_PREFIX
CPU_CORES=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || sysctl -n hw.ncpu)
if [[ $CPU_CORES -gt 1 ]]; then
CPU_CORES=$((CPU_CORES-1))
fi
echo "CPU Cores to use : $CPU_CORES"
# Now start building everything we need, in the appropriate order
cmake --build . --target ext_lzma
cmake --build . --target ext_xml
cmake --build . --target ext_gettext
cmake --build . --target ext_xslt
cmake --build . --target ext_png
cmake --build . --target ext_lzma -j$CPU_CORES
cmake --build . --target ext_xml -j$CPU_CORES
cmake --build . --target ext_gettext -j$CPU_CORES
cmake --build . --target ext_xslt -j$CPU_CORES
cmake --build . --target ext_png -j$CPU_CORES
# cmake --build . --target ext_jpeg #this causes build failures in Qt 5.10
export CC=/usr/bin/gcc-6
export CXX=/usr/bin/g++-6
cmake --build . --target ext_qt
cmake --build . --target ext_boost
cmake --build . --target ext_gpgme
cmake --build . --target ext_frameworks
cmake --build . --target ext_libsndfile
cmake --build . --target ext_libsamplerate
cmake --build . --target ext_nasm
cmake --build . --target ext_yasm
cmake --build . --target ext_alsa
cmake --build . --target ext_sdl2
cmake --build . --target ext_fftw3
cmake --build . --target ext_fftw3f
cmake --build . --target ext_boost -j$CPU_CORES
cmake --build . --target ext_gpgme -j$CPU_CORES
cmake --build . --target ext_libsndfile -j$CPU_CORES
cmake --build . --target ext_libsamplerate -j$CPU_CORES
cmake --build . --target ext_nasm -j$CPU_CORES
cmake --build . --target ext_yasm -j$CPU_CORES
cmake --build . --target ext_alsa -j$CPU_CORES
cmake --build . --target ext_sdl2 -j$CPU_CORES
cmake --build . --target ext_fftw3 -j$CPU_CORES
cmake --build . --target ext_fftw3f -j$CPU_CORES
# ladspa expects fft3w.pc pkgconfig files
cp $DEPS_INSTALL_PREFIX/lib/pkgconfig/fftwf.pc $DEPS_INSTALL_PREFIX/lib/pkgconfig/fftw3f.pc
cp $DEPS_INSTALL_PREFIX/lib/pkgconfig/fftw.pc $DEPS_INSTALL_PREFIX/lib/pkgconfig/fftw3.pc
cmake --build . --target ext_x264
cmake --build . --target ext_x265
cmake --build . --target ext_x264 -j$CPU_CORES
cmake --build . --target ext_x265 -j$CPU_CORES
# libvpx does not compile with this gcc6 version
export CC=/usr/bin/gcc
export CXX=/usr/bin/g++
cmake --build . --target ext_libvpx
#cmake --build . --target ext_libvpx -j$CPU_CORES
export CC=/usr/bin/gcc-6
export CXX=/usr/bin/g++-6
cmake --build . --target ext_opus -j$CPU_CORES
cmake --build . --target ext_ffmpeg -j$CPU_CORES
cmake --build . --target ext_sox -j$CPU_CORES
cmake --build . --target ext_jack -j$CPU_CORES
cmake --build . --target ext_ladspa -j$CPU_CORES
cmake --build . --target ext_cairo -j$CPU_CORES
cmake --build . --target ext_harfbuzz -j$CPU_CORES
cmake --build . --target ext_pango -j$CPU_CORES
cmake --build . --target ext_gdkpixbuf -j$CPU_CORES
cmake --build . --target ext_gtk+ -j$CPU_CORES
cmake --build . --target ext_gavl -j$CPU_CORES
cmake --build . --target ext_frei0r -j$CPU_CORES
cmake --build . --target ext_vidstab -j$CPU_CORES
cmake --build . --target ext_opencv -j$CPU_CORES
export CC=/usr/bin/gcc-6
export CXX=/usr/bin/g++-6
cmake --build . --target ext_ffmpeg
cmake --build . --target ext_sox
cmake --build . --target ext_jack
cmake --build . --target ext_ladspa
cmake --build . --target ext_cairo
cmake --build . --target ext_harfbuzz
cmake --build . --target ext_pango
cmake --build . --target ext_gdkpixbuf
cmake --build . --target ext_gtk+
cmake --build . --target ext_gavl
cmake --build . --target ext_frei0r
cmake --build . --target ext_vidstab
cmake --build . --target ext_opencv
cmake --build . --target ext_rubberband
#export CC=/usr/bin/gcc-6
#export CXX=/usr/bin/g++-6
#cmake --build . --target ext_movit
cmake --build . --target ext_kbookmarks
cmake --build . --target ext_kxmlgui
cmake --build . --target ext_kconfigwidgets
cmake --build . --target ext_knotifyconfig
cmake --build . --target ext_knewstuff
cmake --build . --target ext_kdeclarative
cmake --build . --target ext_breezeicons
cmake --build . --target ext_kcrash
cmake --build . --target ext_frameworks
cmake --build . --config RelWithDebInfo --target ext_extra-cmake-modules -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kconfig -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_breeze-icons -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kcoreaddons -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kwindowsystem -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_solid -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_threadweaver -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_karchive -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kdbusaddons -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_ki18n -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kcrash -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kcodecs -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kauth -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kguiaddons -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kwidgetsaddons -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kitemviews -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kcompletion -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kconfigwidgets -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kservice -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kiconthemes -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_attica -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kglobalaccel -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kxmlgui -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kbookmarks -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kjobwidgets -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_sonnet -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_ktextwidgets -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kio -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_knotifyconfig -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kpackage -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_knewstuff -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kdeclarative -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kservice -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kimageformats -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_knotifications -- -j$CPU_CORES
#cmake --build . --config RelWithDebInfo --target ext_frameworkintegration -- -j$CPU_CORES
cmake --build . --target ext_breeze
cmake --build . --target ext_ruby
#cmake --build . --target ext_kwayland
#cmake --build . --target ext_plasma-framework
#cmake --build . --target ext_ruby
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment