diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -193,6 +193,8 @@ add_subdirectory( ext_qt ) add_subdirectory( ext_poppler ) add_subdirectory( ext_libraw ) +add_subdirectory( ext_heif ) +add_subdirectory( ext_pkgconfig ) add_subdirectory( ext_frameworks ) if (ENABLE_PYTHON_DEPS OR NOT MINGW) add_subdirectory( ext_sip ) diff --git a/3rdparty/ext_heif/CMakeLists.txt b/3rdparty/ext_heif/CMakeLists.txt new file mode 100644 --- /dev/null +++ b/3rdparty/ext_heif/CMakeLists.txt @@ -0,0 +1,71 @@ +SET(EXTPREFIX_heif "${EXTPREFIX}" ) +ExternalProject_Add( + ext_libde265 + DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} + URL https://github.com/strukturag/libde265/releases/download/v1.0.3/libde265-1.0.3.tar.gz + URL_MD5 0e1e26ffcb2177c3749c748e20fcd588 + + BUILD_IN_SOURCE 1 + + CONFIGURE_COMMAND /configure --prefix=${EXTPREFIX_heif} ${GLOBAL_AUTOMAKE_PROFILE} + BUILD_COMMAND make + INSTALL_COMMAND make install + + UPDATE_COMMAND "" +) + +ExternalProject_Add( + ext_yasm + DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} + URL http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz + URL_MD5 fc9e586751ff789b34b1f21d572d96af + + CONFIGURE_COMMAND /configure --prefix=${EXTPREFIX_heif} ${GLOBAL_AUTOMAKE_PROFILE} + BUILD_COMMAND make + INSTALL_COMMAND make install + + UPDATE_COMMAND "" +) + +ExternalProject_Add( + ext_nasm + DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} + URL https://www.nasm.us/pub/nasm/releasebuilds/2.14.03rc2/nasm-2.14.03rc2.tar.gz + URL_MD5 4cd1fe6788cd15d08c1a8f18b6d2428e + + CONFIGURE_COMMAND /configure --prefix=${EXTPREFIX_heif} ${GLOBAL_AUTOMAKE_PROFILE} + BUILD_COMMAND make + INSTALL_COMMAND make install + + UPDATE_COMMAND "" +) + +ExternalProject_Add( + ext_libx265 + DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} + URL http://ftp.videolan.org/pub/videolan/x265/x265_3.0.tar.gz + URL_MD5 8ff1780246bb7ac8506239f6129c04ec + + SOURCE_SUBDIR source/ + CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_heif} + BUILD_COMMAND make + INSTALL_COMMAND make install + + UPDATE_COMMAND "" + DEPENDS ext_yasm ext_nasm +) + +ExternalProject_Add( + ext_libheif + DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} + URL https://github.com/strukturag/libheif/releases/download/v1.4.0/libheif-1.4.0.tar.gz + URL_MD5 b3c726609a8750c5fc1687a7b193adff + + CONFIGURE_COMMAND /configure --prefix=${EXTPREFIX_heif} ${GLOBAL_AUTOMAKE_PROFILE} + + BUILD_COMMAND CXXFLAGS="-Wno-error" make + INSTALL_COMMAND make install + + UPDATE_COMMAND "" + DEPENDS ext_libde265 ext_libx265 ext_pkgconfig +) diff --git a/3rdparty/ext_pkgconfig/CMakeLists.txt b/3rdparty/ext_pkgconfig/CMakeLists.txt new file mode 100644 --- /dev/null +++ b/3rdparty/ext_pkgconfig/CMakeLists.txt @@ -0,0 +1,13 @@ +SET(PREFIX_pkgconfig "${EXTPREFIX}" ) + +ExternalProject_Add( ext_pkgconfig + DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} + URL http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.1.tar.gz + URL_MD5 f739a28cae4e0ca291f82d1d41ef107d + + BUILD_IN_SOURCE 1 + + CONFIGURE_COMMAND /configure --prefix=${PREFIX_pkgconfig} ${GLOBAL_AUTOMAKE_PROFILE} --with-internal-glib + BUILD_COMMAND make + INSTALL_COMMAND make install +) diff --git a/packaging/macos/osxbuild.sh b/packaging/macos/osxbuild.sh --- a/packaging/macos/osxbuild.sh +++ b/packaging/macos/osxbuild.sh @@ -172,6 +172,7 @@ # build 3rdparty tools # The order must not be changed! cmake_3rdparty \ + ext_pkgconfig \ ext_gettext \ ext_openssl \ ext_qt \ @@ -213,6 +214,8 @@ ext_sip \ ext_pyqt + cmake_3rdparty ext_libheif + cmake_3rdparty \ ext_frameworks \ ext_extra_cmake_modules \ @@ -240,6 +243,8 @@ cd ${KIS_TBUILD_DIR}/${pkg}/${pkg}-prefix/src/${pkg}-stamp } || { cd ${KIS_TBUILD_DIR}/ext_frameworks/${pkg}-prefix/src/${pkg}-stamp + } || { + cd ${KIS_TBUILD_DIR}/ext_heif/${pkg}-prefix/src/${pkg}-stamp } echo "Installing ${pkg} files..." rm ${pkg}-configure ${pkg}-build ${pkg}-install @@ -256,6 +261,7 @@ fi build_install_ext \ + ext_pkgconfig \ ext_gettext \ ext_openssl \ ext_zlib \ @@ -279,6 +285,8 @@ ext_sip \ ext_pyqt \ + build_install_ext ext_libheif + # Build kde_frameworks build_install_ext \ ext_extra_cmake_modules \