From 2814102d28c0acb80529f2cd5a55662ffa38523b Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Mon, 2 Apr 2012 11:52:34 +0800 Subject: [PATCH] mod: use customed cmake rules to build CREngine libraries --- .gitmodules | 4 ++-- Makefile | 26 ++++++++------------------ crengine | 1 - kpvcrlib/CMakeLists.txt | 39 +++++++++++++++++++++++++++++++++++++++ kpvcrlib/crengine | 1 + 5 files changed, 50 insertions(+), 21 deletions(-) delete mode 160000 crengine create mode 100644 kpvcrlib/CMakeLists.txt create mode 160000 kpvcrlib/crengine diff --git a/.gitmodules b/.gitmodules index 6c5c235cf..ead63e79f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,6 +7,6 @@ [submodule "djvulibre"] path = djvulibre url = git://djvu.git.sourceforge.net/gitroot/djvu/djvulibre.git -[submodule "crengine"] - path = crengine +[submodule "kpvcrlib/crengine"] + path = kpvcrlib/crengine url = git://crengine.git.sourceforge.net/gitroot/crengine/crengine diff --git a/Makefile b/Makefile index e75b7ea76..05bd9bc60 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,8 @@ MUPDFDIR=mupdf MUPDFTARGET=build/debug MUPDFLIBDIR=$(MUPDFDIR)/$(MUPDFTARGET) DJVUDIR=djvulibre -CRENGINEDIR=crengine +KPVCRLIGDIR=kpvcrlib +CRENGINEDIR=$(KPVCRLIGDIR)/crengine FREETYPEDIR=$(MUPDFDIR)/thirdparty/freetype-2.4.8 LFSDIR=luafilesystem @@ -59,19 +60,13 @@ DJVULIBS := $(DJVUDIR)/build/libdjvu/.libs/libdjvulibre.a CRENGINELIBS := $(CRENGINEDIR)/crengine/libcrengine.a \ $(CRENGINEDIR)/thirdparty/chmlib/libchmlib.a \ $(CRENGINEDIR)/thirdparty/libpng/libpng.a \ - $(CRENGINEDIR)/thirdparty/libjpeg/libjpeg.a \ - $(CRENGINEDIR)/thirdparty/zlib/libz.a \ $(CRENGINEDIR)/thirdparty/antiword/libantiword.a THIRDPARTYLIBS := $(MUPDFLIBDIR)/libfreetype.a \ $(MUPDFLIBDIR)/libopenjpeg.a \ $(MUPDFLIBDIR)/libjbig2dec.a \ + $(MUPDFLIBDIR)/libjpeg.a \ $(MUPDFLIBDIR)/libz.a -# @TODO the libjpeg used by mupdf is too new for crengine and will cause -# a segment fault when decoding jpeg images in crengine, we need to fix -# this. 28.03 2012 (houqp) - #$(MUPDFLIBDIR)/libjpeg.a - LUALIB := $(LUADIR)/src/liblua.a kpdfview: kpdfview.o einkfb.o pdf.o blitbuffer.o drawcontext.o input.o util.o ft.o lfs.o $(MUPDFLIBS) $(THIRDPARTYLIBS) $(LUALIB) djvu.o $(DJVULIBS) cre.o $(CRENGINELIBS) @@ -117,8 +112,6 @@ fetchthirdparty: -rm -Rf mupdf/thirdparty git submodule init git submodule update - grep USE_FONTCONFIG $(CRENGINEDIR)/crengine/include/crsetup.h && grep -v USE_FONTCONFIG $(CRENGINEDIR)/crengine/include/crsetup.h > /tmp/new && mv /tmp/new $(CRENGINEDIR)/crengine/include/crsetup.h - test -f $(CRENGINEDIR)/thirdparty/zlib/qconfig.h || touch $(CRENGINEDIR)/thirdparty/zlib/qconfig.h test -f mupdf-thirdparty.zip || wget http://www.mupdf.com/download/mupdf-thirdparty.zip unzip mupdf-thirdparty.zip -d mupdf test -f lua-5.1.4.tar.gz || wget http://www.lua.org/ftp/lua-5.1.4.tar.gz @@ -130,7 +123,10 @@ clean: cleanthirdparty: make -C $(LUADIR) clean make -C $(MUPDFDIR) clean - make -C $(CRENGINEDIR) clean + make -C $(CRENGINEDIR)/thirdparty/antiword clean + make -C $(CRENGINEDIR)/thirdparty/chmlib clean + make -C $(CRENGINEDIR)/thirdparty/libpng clean + make -C $(CRENGINEDIR)/crengine clean -rm -rf $(DJVUDIR)/build -rm -f $(MUPDFDIR)/fontdump.host -rm -f $(MUPDFDIR)/cmapdump.host @@ -159,13 +155,7 @@ endif make -C $(DJVUDIR)/build $(CRENGINELIBS): - cd $(CRENGINEDIR) && cmake -D CR3_PNG=1 -D CR3_JPEG=1 . - cd $(CRENGINEDIR)/thirdparty/libjpeg && make - cd $(CRENGINEDIR)/thirdparty/chmlib && make - cd $(CRENGINEDIR)/thirdparty/antiword && make - cd $(CRENGINEDIR)/thirdparty/libpng && make - cd $(CRENGINEDIR)/thirdparty/zlib && make - cd $(CRENGINEDIR)/crengine && make + cd $(KPVCRLIGDIR) && CC="$(CC)" CXX="$(CXX)" cmake . && make $(LUALIB): make -C lua/src CC="$(CC)" CFLAGS="$(CFLAGS)" MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E" liblua.a diff --git a/crengine b/crengine deleted file mode 160000 index e0a86d85a..000000000 --- a/crengine +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e0a86d85a3da3bed48a84fd3096ee6040ba1ba34 diff --git a/kpvcrlib/CMakeLists.txt b/kpvcrlib/CMakeLists.txt new file mode 100644 index 000000000..59ac5c365 --- /dev/null +++ b/kpvcrlib/CMakeLists.txt @@ -0,0 +1,39 @@ +PROJECT(kpvcrlib) +cmake_minimum_required(VERSION 2.6) + +SET(CR_3RDPARTY_DIR crengine/thirdparty) + +SET(CR3_PNG 1) +SET(CR3_JPEG 1) + +SET(FREETYPE_INCLUDE_DIRS ${CR_3RDPARTY_DIR}/freetype/include) +SET(ANTIWORD_INCLUDE_DIR ${CR_3RDPARTY_DIR}/antiword) +SET(CHM_INCLUDE_DIRS ${CR_3RDPARTY_DIR}/chmlib) +SET(PNG_INCLUDE_DIR ${CR_3RDPARTY_DIR}/libpng) + +INCLUDE_DIRECTORIES( + ${FREETYPE_INCLUDE_DIRS} + ${ANTIWORD_INCLUDE_DIR} + ${CHM_INCLUDE_DIRS} + ${PNG_INCLUDE_DIR} +) + +ADD_DEFINITIONS(-DUSE_FONTCONFIG=0 -DUSE_FREETYPE=1 -DCR3_PATCH=1 -DNDEBUG=1) + +#ADD_SUBDIRECTORY(crengine) + +message("Will build patched LIBCHM library") +ADD_DEFINITIONS(-DCHM_SUPPORT_ENABLED=1) +ADD_SUBDIRECTORY(${CR_3RDPARTY_DIR}/chmlib) + +message("Will build patched LIBPNG library") +ADD_SUBDIRECTORY(${CR_3RDPARTY_DIR}/libpng) + +message("Will build patched ANTIWORD library") +ADD_DEFINITIONS(-DENABLE_ANTIWORD=1) +ADD_DEFINITIONS(-DCR3_ANTIWORD_PATCH=1) +ADD_SUBDIRECTORY(${CR_3RDPARTY_DIR}/antiword) + +SET(GUI kpv) +ADD_SUBDIRECTORY(crengine/crengine) + diff --git a/kpvcrlib/crengine b/kpvcrlib/crengine new file mode 160000 index 000000000..ba469d334 --- /dev/null +++ b/kpvcrlib/crengine @@ -0,0 +1 @@ +Subproject commit ba469d33473670ca303e2ef7f9762452a86e18b1