Commit Graph

292 Commits

Author SHA1 Message Date
zdenop
2d397a8551 cmake: improve libarchive support - prefer cmake function instead of pkg-config 2021-09-19 11:17:40 +02:00
zdenop
eafbb2b22a cmake: add option to build with libcurl support 2021-09-19 11:13:21 +02:00
zdenop
ff5f59cf24 cmake: fix cygwin GNU c++ build; fixes #2379 2021-09-19 11:06:19 +02:00
Stefan Weil
7cfcfe1101 cmake: Remove universalambigs.cpp
Fixes: 407346246c ("[universalambigs] Use inline variables.")
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-08-23 07:30:03 +02:00
Stefan Weil
95223cfaab cmake: Link tiff library only for Windows
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-08-07 19:57:24 +02:00
Stefan Weil
d50baec7a7 cmake: Add dotproductneon.cpp
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-08-06 20:55:40 +02:00
zdenop
7975fec2fd
Add new cmake option -DFAST_FLOAT=ON for faster LSTM with float (#3514)
Co-authored-by: Stefan Weil <sw@weilnetz.de>
2021-08-05 21:35:54 +02:00
SpaceIm
b2fea77a27 fix cross-build to iOS/tvOS/watchOS
On these OS, executables are bundle, and they need a BUNDLE DESTINATION, otherwise CMake configuration fails.
See https://cmake.org/cmake/help/latest/policy/CMP0006.html
2021-07-17 09:29:34 +02:00
Stefan Weil
e0af8d12e6 Fix check for NEON on 32 bit ARM
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-03 15:43:10 +02:00
Stefan Weil
4333b2cea3
Use CMAKE_SYSTEM_PROCESSOR to check for SIMD support options (#3484)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-07-02 16:23:58 +03:00
Łukasz Nocuń
38f0fdcd88
Fix CMake Linux build (#3478) 2021-06-30 00:16:51 +03:00
OgreTransporter
4d0f027f58
Bugfix OpenMP with Visual Studio (#3475)
* Bugfix OpenMP with Visual Studio

* Test for working VS2019 update instead of first version of VS2019
2021-06-29 21:06:38 +03:00
Łukasz Nocuń
c583ecef29
Fix permanently disabled optimizations in CMake (#3467) 2021-06-24 21:16:23 +03:00
zdenop
53b8cd04ab fix clang cmake build on windows 2021-04-12 21:41:09 +02:00
Stefan Weil
6ddceac538 Remove mfdefs.cpp from CMakeLists.txt and Makefile.am
That file was removed in commit 47715e576a.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-04-07 17:27:08 +02:00
Stefan Weil
7d70ed4b41 Modernize code for OTSU and reduce public API further
Remove thresholder.h from the public API.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-03-23 08:59:04 +01:00
Egor Pugin
73a325494e
[cmake] Require C++17. 2021-03-10 00:41:47 +03:00
Stefan Weil
4902e68682 cmake: Use pkg_config to find required libraries
This is needed for cmake builds on MacOS (Intel and Amd64) with Homebrew.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-01-31 17:23:06 +01:00
Stefan Weil
458af8b8d0 cmake: Don't try to set compile flags for NEON support for ARM64
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-01-31 16:54:17 +01:00
Stefan Weil
5d040f91a0 cmake: Activate NEON support for ARM64
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2021-01-31 16:32:24 +01:00
Shatur95
17dbbd65e2 Fix wrong include 2021-01-30 23:48:12 +02:00
Egor Pugin
15c214be06 Revert "Try to fix aarch64 build on macos."
This reverts commit a6321940dc.
2021-01-11 13:51:35 +03:00
Egor Pugin
c399a6b04e Try to fix cmake build. 2021-01-11 13:47:55 +03:00
Egor Pugin
a6321940dc Try to fix aarch64 build on macos. 2021-01-11 12:53:03 +03:00
Egor Pugin
b4a9bcffe9 Rename platform.h -> export.h in more places. 2021-01-01 03:00:15 +03:00
Egor Pugin
6306393c91 [cmake] Implement shared builds. 2020-12-31 19:32:03 +03:00
Egor Pugin
a75f3e8a6a [cmake] Set hidden visibility by default. 2020-12-31 18:26:15 +03:00
Stefan Weil
fc4002dda8 Remove helpers.h from public API
Remove also outdated references to apitypes.h which no longer exists.

Signed-off-by: Stefan Weil <sw@weil.de>
2020-12-31 09:06:16 +01:00
Stefan Weil
f4e380f64a Remove serialis.h from public API
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2020-12-29 11:28:50 +01:00
Stefan Weil
90af3e7b5c Remove strngs.h from public API
Signed-off-by: Stefan Weil <sw@weil.de>
2020-12-28 21:03:29 +01:00
Stefan Weil
64e902ddf7 Remove genericvector.h from public API
Signed-off-by: Stefan Weil <sw@weil.de>
2020-12-28 21:03:29 +01:00
Egor Pugin
176339f9c9
Restore C++17. 2020-12-26 16:39:20 +03:00
Egor Pugin
87b5471810
[cmake] Try to disable C++17. 2020-12-26 16:24:48 +03:00
Egor Pugin
6a63b0e11e
[cmake] Enable C++17 temporarily. 2020-12-26 04:25:16 +03:00
Egor Pugin
a67fa1780f Delete .rc from tesseractmain. 2020-12-26 00:47:51 +03:00
Egor Pugin
688bb8dfae [cmake] Move include dirs into target include dirs. 2020-12-25 18:06:45 +03:00
Egor Pugin
14d52a79ba Remove .rc files. No need to add them into dll/exe. 2020-12-25 18:06:35 +03:00
Egor Pugin
ceddb7bc83 [cmake] Use source groups for libtess sources. 2020-12-25 17:43:26 +03:00
Egor Pugin
b6269a7206 Add include headers to cmake target. 2020-12-20 14:20:59 +03:00
Shatur95
8719498c19 Locate CMake config files without subfolder 2020-12-11 18:24:51 +02:00
Shatur95
a0f43ca03c Generate imported target automatically 2020-10-08 01:16:01 +03:00
Shatur95
c8a164b1fb Modernize CMake config files 2020-10-08 00:51:44 +03:00
Shatur95
e020fbdab6 Use DESTINATION instead of TYPE
For compatibility with older CMake.
2020-10-05 20:52:20 +03:00
Shatur95
72779fb185 Fix CMake install configs 2020-10-01 22:05:02 +03:00
Stefan Weil
0e79daed42 Fix cmake build for MSVC
MSVC does not support /arch:FMA or /arch:SSE4.1.
For /arch:AVX and /arch:AVX2 no check is needed because they are supported since a long time.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2020-07-01 21:54:51 +02:00
zdenop
511189b069
Update CMakeLists.txt
thanks.

Co-authored-by: Stefan Weil <sw@weilnetz.de>
2020-07-01 08:43:55 +02:00
zdenop
2538989ef5 cmake: NEON build is not supported on Mac OS X 2020-07-01 00:12:10 +02:00
zdenop
3c3e7b913f cmake: check compiler flags for AVX,AVX2,FMA,SSE4.1 support 2020-06-30 23:09:36 +02:00
zdenop
33f1e1371b cmake: eliminate OptimizeForArchitecture 2020-06-30 22:35:05 +02:00
zdenop
7e8ddfcb63 cmake: add NEON compile support 2020-06-30 20:57:50 +02:00
zdenop
8778e84eba cmake: fix policy setting for newer cmake (CheckIPOSupported) 2020-06-30 13:31:49 +02:00
zdenop
744697e502 Merge branch 'master' of https://github.com/tesseract-ocr/tesseract 2020-06-26 15:42:32 +02:00
zdenop
6c2d3f52f3 cmake: allow to enable LTO 2020-06-26 15:38:00 +02:00
zdenop
d17ec2c754
Merge pull request #3036 from xuzhen/master
Fixed CMakeLists.txt for the compilers without C++17 support
2020-06-26 14:40:38 +02:00
Prabindh Sundareson
31edf8bdf9 Add MT option for MSVC compilation 2020-06-25 17:47:22 +05:30
Xu Zhen
57fe147115
Fixed CMake with MinGW 4.9 2020-06-23 12:23:41 +08:00
amitdo
eb5ad74665 Disabled legacy build: Don't compile permdawg.cpp 2020-06-18 18:24:17 +03:00
Matej Knopp
e900252c1a Fix CMake build with DISABLED_LEGACY_ENGINE 2020-06-17 19:42:49 +02:00
zdenop
3a3c41d1ab try to fix cmake gcc build - make simd configuration (HAVE_?) global (as autotools). 2020-05-19 18:02:16 +02:00
zdenop
32b3ab40f1 fix cmake msvc build 2020-05-19 16:16:38 +02:00
zdenop
90e81ac939 supress VS warnings in release target C4267 (conversion from 'size_t' to 'type', possible loss of data), C4305 ('context' : truncation from 'type1' to 'type2') and C4267 (var' : conversion from 'size_t' to 'type', possible loss of data) 2020-05-19 16:06:03 +02:00
zdenop
acaa90c971 cmake: dont use vector unit compile definition globaly 2020-05-16 12:30:20 +02:00
zdenop
9df8710402 Merge branch 'master' of https://github.com/tesseract-ocr/tesseract 2020-01-05 22:33:34 +01:00
zdenop
8ba14a655d fix #2847 cmake with OPENMP_BUILD=ON 2020-01-05 22:33:24 +01:00
Egor Pugin
ca3ce652b1
Update CMakeLists.txt 2020-01-05 23:08:03 +03:00
Stefan Weil
1d75ddd56f Use /W4 instead of /Wall for MSVC (fix issue #2816)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-12-18 07:42:52 +01:00
Stefan Weil
a1a139cbd2 Replace AVX_OPT, ..., AVX macros by HAVE_AVX, ... and clean related code
- Replace AVX_OPT, AVX2_OPT, FMA_OPT, SSE41_OPT
- Replace AVX, AVX2, FMA, SSE4_1
- Write new HAVE_AVX, HAVE_AVX2, HAVE_FMA, HAVE_SSE4_1 into config_auto.h
- Put related conditionals in Makefile.am in one place

This makes the code clearer and fixes a log message in
IntSimdMatrixTest.AVX2.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-11-28 17:51:37 +01:00
zdenop
2b688983f6 cmake: fix typo 2019-11-11 19:10:01 +01:00
zdenop
dbcff0ae88 cmake: fix clan openmp build on windows 2019-11-01 09:28:51 +01:00
zdenop
a5716692b2 cmake: allow build on Raspbian GNU/Linux 9 (stretch) 2019-11-01 09:28:08 +01:00
Egor Pugin
2bcc9d8093 Remove cppan build. 2019-10-30 21:37:38 +03:00
Stefan Weil
7bd94a9354 Remove old code for no longer existing src/api/*.h
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-10-29 12:47:04 +01:00
Stefan Weil
061eccd6ae Rename tesseract/tess_version.h -> tesseract/version.h
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-10-29 11:47:31 +01:00
Stefan Weil
17b0951736 Support cmake with new include file structure
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-10-29 08:33:55 +01:00
amitdo
227501c580 CMake: Sync list of public headers with Autotools build 2019-10-06 13:59:18 +02:00
Stefan Weil
b3b740eb22 cmake: Set default build type to Release
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-09-29 13:53:44 +02:00
zdenop
e8e77957ae cmake: AUTO_OPTIMIZE: enable to turn-off auto optimize macros 2019-09-28 14:37:05 +02:00
zdenop
573dc31adb cmake: arch files: fix duplicate build and follow autotools logic 2019-09-28 14:35:44 +02:00
zdenop
8a62d49914 cmake: auto optimize macros must be run before setting CMAKE_CXX_FLAGS* 2019-09-28 08:27:43 +02:00
zdenop
21680fa75b cmake: fix build type flags 2019-09-27 23:56:36 +02:00
zdenop
b1f7047a5f cmake: remove moved (training) header from installation 2019-09-27 21:08:17 +02:00
Egor Pugin
73f713519c
Merge pull request #2614 from stweil/training
Move source files which are used for training only to src/training
2019-08-12 19:35:50 +03:00
Stefan Weil
e84cb24def Move source files which are used for training only to src/training
They are moved from src/classify and src/lstm to src/training.

This reduces the size of the Tesseract library.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-08-12 17:08:08 +02:00
Stefan Weil
23e605911f Remove unused function truncate_path and related files
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-08-12 14:48:56 +02:00
Stefan Weil
25f2af9d1d cmake: Add missing include directory for LibArchive
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-07-25 09:13:31 +02:00
zhuangzhuang1988
35d252e30e fix cmake warning. 2019-07-16 11:03:14 +08:00
Zdenko Podobný
fef64d795c fix #2101 2019-07-13 20:11:03 +02:00
Stefan Weil
61eab60fe3 arch: Reduce number of include files for dot product functions
dotproductavx.h and dotproductsse.h declared only two functions.
Move those declarations to dotproduct.h.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-07-12 23:18:00 +02:00
Stefan Weil
2d5b166876 Add dot product implementation for Intel FMA (double = tessdata_best)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-07-12 23:18:00 +02:00
Egor Pugin
89cbb6adf2 [cmake] Hide unnecessary find_package. 2019-07-08 20:59:23 +03:00
Egor Pugin
3b6f071ee8 Implement CMake+SW build.
Currently only Windows is supported.
You could try it as following:

    mkdir build_sw && cd build_sw && cmake .. -DSW_BUILD=1
2019-07-08 18:50:30 +03:00
theirix
d371852c74 Avoid using experimental C++14/17 support in CMake
This commit points CMAKE_CXX_STANDARD to the latest non-experimental standard.

CMake announces C++14 and C++17 support even if the
compiler supports it only experimentally (c++1y and c++1z).
It breaks cmake standard detection and requires workarounds
for old compilers.
2019-07-08 11:34:51 +03:00
zdenop
54abc780fa cmake: do not report unused-command-line-argument for clan released target 2019-07-05 14:26:30 +02:00
Stefan Weil
134eb39960 Remove tesscallback.h
It is no longer used.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-07-04 16:03:30 +02:00
zhuangzhuang1988
91aac02387 export USE_SYSTEM_ICU viriable 2019-07-03 10:29:15 +08:00
Stefan Weil
7093727da1 cmake: Fix build with OpenMP (issue #2462)
Builds with gcc wrongly used /openmp instead of -fopenmp.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-06-25 13:20:52 +02:00
Stefan Weil
df98bb7368 Move LSTMTrainer from libtesseract to libtesseract_training
LSTMTrainer is only used for training, so the shared library for
Tesseract can be made smaller.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-06-22 16:23:51 +02:00
Stefan Weil
674d6a90d8 Remove code for embedded build
That code is unrelated to Tesseract and can be easily implemented
by external projects which require it.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-06-17 09:55:33 +02:00
zdenop
5e62d02230 cmake: using c++ standard for g++ 2019-06-01 21:49:30 +02:00
Stefan Weil
b9a31eca37 Revert "Do not hardcode c++11 for unix builds"
This reverts commit 4348793bd5.
It is needed for Travis CI based on Ubuntu Trusty.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2019-06-01 17:42:24 +02:00