Build libjxl in Win64 native MSYS2 CI

This commit is contained in:
Daniel Novomesky 2021-09-29 15:01:58 +02:00
parent 0236308d69
commit e43743e0eb
3 changed files with 51 additions and 0 deletions

View file

@ -125,3 +125,51 @@ meson -Dprefix="${GIMP_PREFIX}" -Ddocs=false \
${GEGL_OPTIONS} .. ${GEGL_OPTIONS} ..
ninja ninja
ninja install ninja install
cd ../..
## libjxl ##
if [[ "$MSYS2_ARCH" == "x86_64" ]]; then
pacman --noconfirm -S --needed \
mingw64/mingw-w64-x86_64-brotli \
mingw64/mingw-w64-x86_64-highway \
mingw64/mingw-w64-x86_64-cmake
git clone --depth=${GIT_DEPTH} --branch v0.6.x --recursive https://github.com/libjxl/libjxl.git _libjxl
mkdir _libjxl/_build
cd _libjxl/_build
cmake -G Ninja \
-DCMAKE_INSTALL_PREFIX=${GIMP_PREFIX} \
-DCMAKE_BUILD_TYPE=Release \
-DJPEGXL_ENABLE_PLUGINS=OFF \
-DBUILD_TESTING=OFF \
-DJPEGXL_WARNINGS_AS_ERRORS=OFF \
-DJPEGXL_ENABLE_SJPEG=OFF \
-DJPEGXL_ENABLE_BENCHMARK=OFF \
-DJPEGXL_ENABLE_EXAMPLES=OFF \
-DJPEGXL_ENABLE_MANPAGES=OFF \
-DJPEGXL_ENABLE_SKCMS=ON \
-DJPEGXL_FORCE_SYSTEM_BROTLI=ON \
-DJPEGXL_FORCE_SYSTEM_HWY=ON \
-DJPEGXL_ENABLE_JNI=OFF \
-DJPEGXL_ENABLE_TCMALLOC=OFF \
-DJPEGXL_ENABLE_TOOLS=OFF \
-DCMAKE_CXX_FLAGS="-DHWY_COMPILE_ONLY_SCALAR" ..
ninja
ninja install
# move DLLs into correct location
if [ -f ${GIMP_PREFIX}/lib/libjxl.dll ]; then
mv --target-directory=${GIMP_PREFIX}/bin ${GIMP_PREFIX}/lib/libjxl.dll
fi
if [ -f ${GIMP_PREFIX}/lib/libjxl_threads.dll ]; then
mv --target-directory=${GIMP_PREFIX}/bin ${GIMP_PREFIX}/lib/libjxl_threads.dll
fi
# install image/jxl mime type
mkdir -p ${GIMP_PREFIX}/share/mime/packages
cp --target-directory=${GIMP_PREFIX}/share/mime/packages ../plugins/mime/image-jxl.xml
cd ../..
fi

View file

@ -28,6 +28,7 @@ pacman --noconfirm -S --needed \
\ \
mingw-w64-$MSYS2_ARCH-appstream-glib \ mingw-w64-$MSYS2_ARCH-appstream-glib \
mingw-w64-$MSYS2_ARCH-atk \ mingw-w64-$MSYS2_ARCH-atk \
mingw-w64-$MSYS2_ARCH-brotli \
mingw-w64-$MSYS2_ARCH-cairo \ mingw-w64-$MSYS2_ARCH-cairo \
mingw-w64-$MSYS2_ARCH-drmingw \ mingw-w64-$MSYS2_ARCH-drmingw \
mingw-w64-$MSYS2_ARCH-gexiv2 \ mingw-w64-$MSYS2_ARCH-gexiv2 \
@ -39,6 +40,7 @@ pacman --noconfirm -S --needed \
mingw-w64-$MSYS2_ARCH-gtk3 \ mingw-w64-$MSYS2_ARCH-gtk3 \
mingw-w64-$MSYS2_ARCH-gtk-doc \ mingw-w64-$MSYS2_ARCH-gtk-doc \
mingw-w64-$MSYS2_ARCH-headers-git \ mingw-w64-$MSYS2_ARCH-headers-git \
mingw-w64-$MSYS2_ARCH-highway \
mingw-w64-$MSYS2_ARCH-iso-codes \ mingw-w64-$MSYS2_ARCH-iso-codes \
mingw-w64-$MSYS2_ARCH-json-c \ mingw-w64-$MSYS2_ARCH-json-c \
mingw-w64-$MSYS2_ARCH-json-glib \ mingw-w64-$MSYS2_ARCH-json-glib \

View file

@ -28,6 +28,7 @@ pacman --noconfirm -S --needed \
\ \
mingw-w64-$MSYS2_ARCH-appstream-glib \ mingw-w64-$MSYS2_ARCH-appstream-glib \
mingw-w64-$MSYS2_ARCH-atk \ mingw-w64-$MSYS2_ARCH-atk \
mingw-w64-$MSYS2_ARCH-brotli \
mingw-w64-$MSYS2_ARCH-cairo \ mingw-w64-$MSYS2_ARCH-cairo \
mingw-w64-$MSYS2_ARCH-drmingw \ mingw-w64-$MSYS2_ARCH-drmingw \
mingw-w64-$MSYS2_ARCH-gexiv2 \ mingw-w64-$MSYS2_ARCH-gexiv2 \