Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 33 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
cmake_minimum_required(VERSION 3.5)

# Bundled third-party targets are configured in sibling directories and are
# linked together from this top-level fallback logic.
if(POLICY CMP0079)
cmake_policy(SET CMP0079 NEW)
endif()

PROJECT(cr3)

set(CMAKE_CXX_STANDARD 20)
Expand Down Expand Up @@ -202,9 +209,16 @@ endif (NOT MSVC AND NOT DEFINED USE_STATIC_ZLIB)
if (NOT ZLIB_FOUND)
message("System ZLIB not found, will build local one\n")
ADD_SUBDIRECTORY(thirdparty/${REPO_ZLIB_SRCDIR})
SET(ZLIB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/${REPO_ZLIB_SRCDIR} ${CMAKE_BINARY_DIR}/thirdparty/${REPO_ZLIB_SRCDIR} CACHE PATH "" FORCE)
SET(ZLIB_LIBRARIES zlibstatic)
SET(ZLIB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/${REPO_ZLIB_SRCDIR} CACHE PATH "" FORCE)
SET(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR} ${CMAKE_BINARY_DIR}/thirdparty/${REPO_ZLIB_SRCDIR})
SET(ZLIB_LIBRARY zlibstatic)
SET(ZLIB_LIBRARIES zlibstatic)
SET(ZLIB_FOUND TRUE)
# Freetype calls FindZLIB itself and links the modern imported target.
# Keep its package lookup on the bundled target instead of the host search.
if (NOT TARGET ZLIB::ZLIB)
ADD_LIBRARY(ZLIB::ZLIB ALIAS zlibstatic)
endif()
endif (NOT ZLIB_FOUND)
endif(DEFINED USE_QT_ZLIB)
endif(NOT MAC)
Expand All @@ -219,10 +233,23 @@ endif (NOT MSVC AND NOT CR3_PNG)
if (NOT PNG_FOUND)
message("System LIBPNG not found, will build local one\n")
INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
SET(ZLIB_LIBRARY ${ZLIB_LIBRARIES})
SET(PNG_SHARED OFF CACHE BOOL "Build libpng as a shared library." FORCE)
SET(PNG_STATIC ON CACHE BOOL "Build libpng as a static library." FORCE)
SET(PNG_TESTS OFF CACHE BOOL "Build libpng tests." FORCE)
SET(PNG_TOOLS OFF CACHE BOOL "Build libpng tools." FORCE)
SET(PNG_EXECUTABLES OFF CACHE BOOL "Build libpng executables." FORCE)
SET(SKIP_INSTALL_ALL ON CACHE BOOL "Don't install bundled third-party libraries." FORCE)
ADD_SUBDIRECTORY(thirdparty/${REPO_LIBPNG_SRCDIR})
SET(PNG_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/${REPO_LIBPNG_SRCDIR} ${CMAKE_BINARY_DIR}/thirdparty/${REPO_LIBPNG_SRCDIR} CACHE PATH "" FORCE)
SET(PNG_LIBRARIES png)
SET(PNG_PNG_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/${REPO_LIBPNG_SRCDIR} CACHE PATH "" FORCE)
SET(PNG_INCLUDE_DIR ${PNG_PNG_INCLUDE_DIR} ${CMAKE_BINARY_DIR}/thirdparty/${REPO_LIBPNG_SRCDIR} CACHE PATH "" FORCE)
SET(PNG_INCLUDE_DIRS ${PNG_INCLUDE_DIR})
SET(PNG_LIBRARY png_static)
SET(PNG_LIBRARIES png_static)
SET(PNG_FOUND TRUE)
# Freetype calls FindPNG itself and links PNG::PNG.
if (NOT TARGET PNG::PNG)
ADD_LIBRARY(PNG::PNG ALIAS png_static)
endif()
endif (NOT PNG_FOUND)

if (NOT MSVC AND NOT CR3_JPEG)
Expand Down Expand Up @@ -255,9 +282,6 @@ if (NOT FREETYPE_FOUND)
endif (NOT HarfBuzz_FOUND)
SET(FT_WITH_ZLIB ON CACHE BOOL "Use system zlib instead of internal library." FORCE)
SET(FT_WITH_PNG ON CACHE BOOL "Support PNG compressed OpenType embedded bitmaps." FORCE)
SET(ZLIB_LIBRARY ${ZLIB_LIBRARIES})
SET(PNG_PNG_INCLUDE_DIR ${PNG_INCLUDE_DIR} CACHE PATH "" FORCE)
SET(PNG_LIBRARY ${PNG_LIBRARIES})
SET(SKIP_INSTALL_ALL ON CACHE BOOL "Don't install anything" FORCE)
ADD_SUBDIRECTORY(thirdparty/${REPO_FREETYPE_SRCDIR})
SET(FREETYPE_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/${REPO_FREETYPE_SRCDIR}/include CACHE PATH "" FORCE)
Expand Down Expand Up @@ -319,6 +343,7 @@ if (NOT ZSTD_FOUND)
set(ZSTD_BUILD_TESTS OFF CACHE BOOL "BUILD TESTS" FORCE)
set(ZSTD_BUILD_STATIC ON CACHE BOOL "BUILD STATIC LIBRARIES" FORCE)
set(ZSTD_BUILD_SHARED OFF CACHE BOOL "BUILD SHARED LIBRARIES" FORCE)
set(SKIP_INSTALL_ALL ON CACHE BOOL "Don't install bundled third-party libraries." FORCE)
add_subdirectory(thirdparty/${REPO_ZSTD_SRCDIR}/build/cmake)
SET(ZSTD_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/${REPO_ZSTD_SRCDIR}/lib CACHE PATH "Include directories needed to use ZSTD" FORCE)
SET(ZSTD_LIBRARIES libzstd_static CACHE FILEPATH "Libraries needed to link to ZSTD" FORCE)
Expand Down
2 changes: 1 addition & 1 deletion android/app/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ add_definitions(-DLVLONG_FILE_SUPPORT=1)
add_definitions(-DMAX_IMAGE_SCALE_MUL=2)
add_definitions(-DUSE_NANOSVG=1)
add_definitions(-DBUNDLED_FRIBIDI=1)
add_definitions(-DKO_LIBUNIBREAK_PATCH=1) # libunibreak patched with "add_lb_get_char_class.patch" file from koreader
add_definitions(-DKO_LIBUNIBREAK_PATCH=1) # lb_get_char_class is provided by bundled libunibreak 7.0
add_definitions(-DUSE_UTF8PROC=1)

#set(LOCAL_CFLAGS "-Wno-psabi -Wno-unused-variable -Wno-sign-compare -Wno-write-strings -Wno-main -Wno-unused-but-set-variable -Wno-unused-function -Wall")
Expand Down
12 changes: 10 additions & 2 deletions thirdparty-deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,13 @@ deploy_package()
fi
fi

# A previous unpack or patch attempt did not complete. The source tree is
# deploy-script-owned, so start over instead of reusing partial contents.
if [ ! -f .prepared ] && [ -d "${thirdparty_dir}/${SOURCESDIR}" ]
then
rm -r "${thirdparty_dir}/${SOURCESDIR}" >/dev/null 2>&1 || die "rm (partial dir) failed!"
fi

if [ ! -d "${thirdparty_dir}/${SOURCESDIR}" ]
then
rm -f .unpacked .prepared
Expand Down Expand Up @@ -114,7 +121,7 @@ deploy_package()
then
# make sha512 sum file
echo "${SHA512} *${SRCFILE}" > "${SRCFILE}.sha512"
${SHA512SUM} -c "${SRCFILE}.sha512" || if [ "x" = "x" ]; then rm -f .downloaded; rm -f "${SRCFILE}.sha512"; die "Failed to verify checksum!"; fi
${SHA512SUM} -c "${SRCFILE}.sha512" || if [ "x" = "x" ]; then ${SHA512SUM} "${SRCFILE}"; rm -f .downloaded; rm -f "${SRCFILE}.sha512"; die "Failed to verify checksum!"; fi
echo "1" > .verified
rm -f "${SRCFILE}.sha512"
echo "Checksum OK."
Expand All @@ -124,7 +131,7 @@ deploy_package()
if [ ! -f .unpacked ]
then
cd "${thirdparty_dir}" || die "chdir to thirdparty_dir failed!"
tar -x${tar_args}f "${pkg_datadir}/${SRCFILE}" || die "Failed to unpack sources!"
tar -x${tar_args}f "${pkg_datadir}/${SRCFILE}" ${TAR_EXCLUDES} || die "Failed to unpack sources!"
cd "${pkg_datadir}" || die "chdir failed!"
echo "1" > .unpacked
echo "Unpacked OK."
Expand All @@ -151,6 +158,7 @@ deploy_package()
unset -v URL
unset -v SOURCEDIR
unset -v PATCHES
unset -v TAR_EXCLUDES

cd "${pwd1}"
}
Expand Down
4 changes: 2 additions & 2 deletions thirdparty_repo/freetype.meta.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
# Metadata for deploy script

PN="freetype"
PV="2.11.0"
PV="2.14.3"
# package revision: when patchset is changed (but not version), increase it
# when version changed, reset to "1".
REV="2"
SRCFILE="${PN}-${PV}.tar.xz"
SHA512="bf1991f3c382832586be1d21ae73c20840ee8546807ba60d0eb0215134545656c0c8de488f27357d4a4f6497d7cb540998cda98ec59061a3e640036fb209147d"
SHA512="43de86ea70b4b47f6efaae67f3440f65a24ffac29dc6d11203a9764e4f1a749ce1ba7645acd23525220b3ba12ddad8687b962b9f1254e2c0a86070854e85d5a0"
URL="https://download.savannah.gnu.org/releases/${PN}/${SRCFILE}"

SOURCESDIR="${PN}-${PV}"
Expand Down
8 changes: 3 additions & 5 deletions thirdparty_repo/fribidi.meta.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,15 @@
# Metadata for deploy script

PN="fribidi"
PV="1.0.10"
PV="1.0.16"
# package revision: when patchset is changed (but not version), increase it
# when version changed, reset to "1".
REV="1"
SRCFILE="${PN}-${PV}.tar.xz"
SHA512="cb51920012c3c7507c17e2beb1dbbcfb8d7c6404e4cb54b260a332754a0d5b103d8834d77e8795651b3f38069c9bd2e9914c21b001411a72f9ffe1ec1ef2f360"
SHA512="e3a56f36155f6813e3609473639fc533de742309f561c463012dc90b412a1ac7694b765d92669b2cbfaee973ca0e92fa5e926e68a1a078921f26ef17d82ab651"

URL="https://github.com/fribidi/fribidi/releases/download/v${PV}/${SRCFILE}"

SOURCESDIR="${PN}-${PV}"

PATCHES="01-cmake-static.patch
9e78abb7ead0781a6160be2e0d27d212ccd6f438.patch
a11d8b3942546906b4a74d2061f50e05e4d33f18.patch"
PATCHES="01-cmake-static.patch"
4 changes: 2 additions & 2 deletions thirdparty_repo/harfbuzz.meta.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
# Metadata for deploy script

PN="harfbuzz"
PV="2.8.2"
PV="14.2.1"
# package revision: when patchset is changed (but not version), increase it
# when version changed, reset to "1".
REV="1"
SRCFILE="${PN}-${PV}.tar.xz"
SHA512="47f672967ba9e9a1ea21164b9780cbaaad2f4f619811e84d1b6bdb598e5ad60c96e08fadd270460a4ce8e2fb4603fcdd881ba55f2826abc2a4ab439efdc856dc"
SHA512="481dca68900e57895d3671baf0595c2d3a26f4f08d0db5662e83089f0d0ff6dc0c28c64c2811eb0f812b0525ed428e90db44f091a88bef47ace2f97d8285b013"

URL="https://github.com/harfbuzz/harfbuzz/releases/download/${PV}/${SRCFILE}"

Expand Down
8 changes: 4 additions & 4 deletions thirdparty_repo/libjpeg.meta.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
# Metadata for deploy script

PN="libjpeg"
PV="9.4.0"
PV="10.0.0"
# package revision: when patchset is changed (but not version), increase it
# when version changed, reset to "1".
REV="1"
SRCFILE="jpegsrc.v9d.tar.gz"
SHA512="c64d3ee269367351211c077a64b2395f2cfa49b9f8257fae62fa1851dc77933a44b436d8c70ceb52b73a5bedff6dbe560cc5d6e3ed5f2997d724e2ede9582bc3"
SRCFILE="jpegsrc.v10.tar.gz"
SHA512="3bdd55d805d76f35cbcd44074e27684a25b40f4811c62374ec9300dde31fa75a17ff3fccfcb8f5947311fa7b07f52dc9cba343562ae4ceb8b3cbe30fda1e4311"

URL="http://www.ijg.org/files/${SRCFILE}"

SOURCESDIR="jpeg-9d"
SOURCESDIR="jpeg-10"

PATCHES="01-cmake-static.patch
02-preconfigured.patch
Expand Down
6 changes: 3 additions & 3 deletions thirdparty_repo/libpng.meta.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
# Metadata for deploy script

PN="libpng"
PV="1.6.37"
PV="1.6.58"
# package revision: when patchset is changed (but not version), increase it
# when version changed, reset to "1".
REV="1"
SRCFILE="${PN}-${PV}.tar.xz"
SHA512="59e8c1059013497ae616a14c3abbe239322d3873c6ded0912403fc62fb260561768230b6ab997e2cccc3b868c09f539fd13635616b9fa0dd6279a3f63ec7e074"
SHA512="5937d6409d7ad564c9dba7969c5d39eea8bbc01936f433bf5936c872ec290dea353783f89bded91e124b3b3b15518320097de365acd3b0bcc922a0e90c94adc8"

URL="https://download.sourceforge.net/${PN}/${PN}-${PV}.tar.xz"

SOURCESDIR="${PN}-${PV}"

PATCHES="01-cmake-static-r1.patch"
PATCHES=
9 changes: 4 additions & 5 deletions thirdparty_repo/libunibreak.meta.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,15 @@
# Metadata for deploy script

PN="libunibreak"
PV="4.3"
PV="7.0"
# package revision: when patchset is changed (but not version), increase it
# when version changed, reset to "1".
REV="1"
REV="4"
SRCFILE="${PN}-${PV}.tar.gz"
SHA512="4b53fd169912033403b6ca09047b7b928211fab3607ef26070ab731054138b9a291f7d138d3a479f9cde8edb0fabf8da114da68aee32e60cddf45cc3baae1170"
SHA512="2dec8aa5788486dcbe1f676d31a103f7a3f253a2bf4af7772b3f3019667b352aa04aae369e0838ce6d554b207a2d555738f3510bb1cfec65adcc8c4164aeb00b"

URL="https://github.com/adah1972/libunibreak/releases/download/libunibreak_${PV/./_}/${SRCFILE}"

SOURCESDIR="${PN}-${PV}"

PATCHES="01-add_lb_get_char_class.patch
02-cmake-static.patch"
PATCHES="02-cmake-static.patch"

This file was deleted.

This file was deleted.

Loading
Loading