diff options
author | Rosen Penev <rosenp@gmail.com> | 2020-07-04 14:09:49 -0700 |
---|---|---|
committer | Rosen Penev <rosenp@gmail.com> | 2020-07-08 16:59:00 -0700 |
commit | ea5405bfa682827885ffbcbd1ccc3cd0d21eb1f1 (patch) | |
tree | 3bdc6efeb92edbe43557994a463b4ff1d1184c4a | |
parent | b3000441dc7335a7b768cb7b36e615dd511be806 (diff) |
tesseract: switch to CMake
Allows simplifying the Makefile. Also faster compilation.
Added CMake patch to fix compilation.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
-rw-r--r-- | libs/leptonica/Makefile | 2 | ||||
-rw-r--r-- | utils/tesseract/Makefile | 18 | ||||
-rw-r--r-- | utils/tesseract/patches/010-cmake.patch | 44 |
3 files changed, 55 insertions, 9 deletions
diff --git a/libs/leptonica/Makefile b/libs/leptonica/Makefile index dccbb504c..3fcad2d59 100644 --- a/libs/leptonica/Makefile +++ b/libs/leptonica/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=leptonica PKG_VERSION:=1.78.0 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.leptonica.org/source/ diff --git a/utils/tesseract/Makefile b/utils/tesseract/Makefile index dc8d2a459..b3aebe5a0 100644 --- a/utils/tesseract/Makefile +++ b/utils/tesseract/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tesseract PKG_VERSION:=4.0.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/tesseract-ocr/tesseract/tar.gz/$(PKG_VERSION)? @@ -19,12 +19,10 @@ PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE PKG_BUILD_PARALLEL:=1 -PKG_FIXUP:=autoreconf -PKG_INSTALL:=1 +CMAKE_BINARY_SUBDIR:=openwrt-build include $(INCLUDE_DIR)/package.mk - -TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib +include $(INCLUDE_DIR)/cmake.mk define Package/tesseract MENU:=1 @@ -36,11 +34,17 @@ define Package/tesseract endef TARGET_CFLAGS:=$(filter-out -O%,$(TARGET_CFLAGS)) -O3 + +CMAKE_OPTIONS += \ + -DBUILD_TRAINING_TOOLS=OFF + define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include $(CP) $(PKG_INSTALL_DIR)/usr/include/tesseract $(1)/usr/include/ $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libtesseract.{a,so*} $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libtesseract.so* $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/lib/cmake + $(CP) $(PKG_INSTALL_DIR)/usr/cmake/*.cmake $(1)/usr/lib/cmake/ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/tesseract.pc $(1)/usr/lib/pkgconfig/ endef @@ -50,8 +54,6 @@ define Package/tesseract/install $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/ $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so.* $(1)/usr/lib/ - $(INSTALL_DIR) $(1)/usr/share - $(CP) $(PKG_INSTALL_DIR)/usr/share/* $(1)/usr/share/ endef $(eval $(call BuildPackage,tesseract)) diff --git a/utils/tesseract/patches/010-cmake.patch b/utils/tesseract/patches/010-cmake.patch new file mode 100644 index 000000000..5b77e57bf --- /dev/null +++ b/utils/tesseract/patches/010-cmake.patch @@ -0,0 +1,44 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -224,41 +224,6 @@ set(tesseract_src ${tesseract_src} + src/api/pdfrenderer.cpp + ) + +-if (WIN32) +- if (MSVC) +- include_directories(src/vs2010/tesseract) +- set(tesseract_hdr +- ${tesseract_hdr} +- ${CMAKE_CURRENT_SOURCE_DIR}/src/vs2010/tesseract/resource.h) +- set(tesseract_rsc ${CMAKE_BINARY_DIR}/vs2010/tesseract/libtesseract.rc) +- set_source_files_properties( +- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/dotproductsse.cpp +- PROPERTIES COMPILE_DEFINITIONS __SSE4_1__) +- set_source_files_properties( +- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/intsimdmatrixsse.cpp +- PROPERTIES COMPILE_DEFINITIONS __SSE4_1__) +- set_source_files_properties( +- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/dotproductavx.cpp +- PROPERTIES COMPILE_FLAGS "/arch:AVX") +- set_source_files_properties( +- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/intsimdmatrixavx2.cpp +- PROPERTIES COMPILE_FLAGS "/arch:AVX2") +- endif() +-else() +- set_source_files_properties( +- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/dotproductsse.cpp +- PROPERTIES COMPILE_FLAGS "-msse4.1") +- set_source_files_properties( +- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/intsimdmatrixsse.cpp +- PROPERTIES COMPILE_FLAGS "-msse4.1") +- set_source_files_properties( +- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/dotproductavx.cpp +- PROPERTIES COMPILE_FLAGS "-mavx") +- set_source_files_properties( +- ${CMAKE_CURRENT_SOURCE_DIR}/src/arch/intsimdmatrixavx2.cpp +- PROPERTIES COMPILE_FLAGS "-mavx2") +-endif() +- + add_library (libtesseract ${LIBRARY_TYPE} ${tesseract_src} ${tesseract_hdr} + ${tesseract_rsc} + ) |