vcpkg/ports/tesseract/portfile.cmake
Matthew Oliver 85a48c1ed5
[ffmpeg] Add support for dav1d,fontconfig,freetype,fribidi,ilbc,modplug,opengl,openjpeg,libssh,tensorflow,tesseract,webp,libxml2 dependencies. (#15787)
* [tesseract] Use vcpkg_fixup_pkgconfig.

* [libxml2] Correct pkgconfig lib name.

* [libwebp] Use vcpkg_fixup_pkgconfig.

* [libssh] Export pkgconfig on windows.

Also move to using git to get source.

* [modplug] Export pkgconfig on windows.

* [ffmpeg] Add support for fontconfig,freetype,fribidi,modplug,openjpeg,libssh,tesseract,libxml2 dependencies.

* [openjpeg] Correct required static link libs in pkgconfig.

* [modplug] Combine vcpkg_from_github using variable.

* Update ports/libssh/CONTROL

* Improve portfile.cmake

* update version records.

* [openjpeg] Update libs in pkgcfg.

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>

* update version records

* [libssh] Add pthread to pkgconfig when using mbedtls.

* [libssh] Correct pthread naming on windows.

* [fontconfig] Add libintl to pkgconfig on windows.

* update version records

* [ffmpeg] Fixup FindFFmpeg.

* [ffmpeg] speex now supports non-windows.

* [ffmpeg] Add feature libass.

* [ffmpeg] Add dav1d feature.

* [ffmpeg] Add feature ilbc.

* [ffmpeg] Add tensorflow feature.

* [ffmpeg] update version record.

* [ffmpeg] Add CI feature test.

* [ffmpeg] Limit features based on CI failures.

* [ffmpeg] Update version record.

* [ffmpeg] limit features based on ci.baseline.

* [various ports] Update supports field.

* [ffmpeg] Limit features more based on CI.

* update version records.

* [ffmpeg] Add detection of additional non target deps..

select_library_configurations_from_names currently detects the debug libs even for release builds as  _IMPORT_PREFIX was not being set.

* [aubio] Silence warning about FindFFMPEG.

* [pangolin] Use vcpkg supplied FindFFMPEG.

* update version files.

* [ffnvcodec] Set as not supporting uwp.

ffnvcodec will build under uwp as its a header only lib, but it can not be used as it requires dynamic dll loading.

* [ffmpeg] Update feature all.

* update version records

* [tesseract] Wrap debug pkgcfg update.

* [libssh,libxml2,openjpeg,fontconfig] Fix pkg-config for release only triplets.

* [libssh] Correct port version after merge.

* [ffmpeg] Fixup after merge.

* Update version files.

* [ffmpeg] Add opengl support.

* [ffmpeg] Update package version.

* [ffmpeg] Fix ffnvcodec support.

* [ffmpeg] Fix x265 detection on osx.

* [libvpx] Enable arm-uwp build.

* [ffmpeg] Fixup x265 patch.

* trigger sdl rebuild

* [ffmpeg] Disable opengl on osx.

* Revert "trigger sdl rebuild"

This reverts commit 94065bfe84.

* [ffmpeg] Disable failing features on osx.

* Update ports/ffmpeg/FindFFMPEG.cmake.in

Co-authored-by: Matthias C. M. Troffaes <matthias.troffaes@gmail.com>

* [ffmpeg] Add ass dependencies to FindFFmpeg.

* Update ports/ffmpeg/FindFFMPEG.cmake.in

Co-authored-by: Matthias C. M. Troffaes <matthias.troffaes@gmail.com>

* update version

* [fontconfig] disable pthread/json as they are not needed for lib builds.

Only used for tests.

* [ffmpeg] Enable fontconfig on static+windows.

* update versions

* update versions.

* Fix incorrectly included commits

* revert pangolin commit

Reverts most of 2543be2edf

* update versions

* Correct port version after merge.

* update versions.

* [ffmpeg] Fix cmake dependency detection on non-windows.

* Revert "revert pangolin commit"

This reverts commit f59bc5a53e.

* [ffmpeg] Fix dependency loading that does not define separate debug/release libs.

* update versions.

* [ffmpeg] set CMP0072 policy.

* [wavpack] Fix cmake config export.

* [ffmpeg] Add optional system dependent libraries.

* update versions after merge.

* update versions.

Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com>
Co-authored-by: JackBoosY <yuzaiyang@beyondsoft.com>
Co-authored-by: Matthias C. M. Troffaes <matthias.troffaes@gmail.com>
2021-04-07 10:06:55 -07:00

71 lines
2.3 KiB
CMake

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO tesseract-ocr/tesseract
REF 4.1.1
SHA512 017723a2268be789fe98978eed02fd294968cc8050dde376dee026f56f2b99df42db935049ae5e72c4519a920e263b40af1a6a40d9942e66608145b3131a71a2
PATCHES
fix-tiff-linkage.patch
fix-text2image.patch
fix-training-tools.patch
)
# The built-in cmake FindICU is better
file(REMOVE ${SOURCE_PATH}/cmake/FindICU.cmake)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
training-tools BUILD_TRAINING_TOOLS
)
if("cpu-independed" IN_LIST FEATURES)
set(TARGET_ARCHITECTURE none)
else()
set(TARGET_ARCHITECTURE auto)
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS ${FEATURE_OPTIONS}
-DSTATIC=${BUILD_STATIC}
-DUSE_SYSTEM_ICU=True
-DCMAKE_DISABLE_FIND_PACKAGE_LibArchive=ON
-DCMAKE_DISABLE_FIND_PACKAGE_OpenCL=ON
-DLeptonica_DIR=YES
-DTARGET_ARCHITECTURE=${TARGET_ARCHITECTURE}
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH cmake)
file(READ ${CURRENT_PACKAGES_DIR}/share/tesseract/TesseractConfig.cmake TESSERACT_CONFIG)
string(REPLACE "find_package(Leptonica REQUIRED)"
"find_package(Leptonica REQUIRED)
find_package(LibArchive REQUIRED)" TESSERACT_CONFIG "${TESSERACT_CONFIG}")
file(WRITE ${CURRENT_PACKAGES_DIR}/share/tesseract/TesseractConfig.cmake "${TESSERACT_CONFIG}")
vcpkg_copy_tools(TOOL_NAMES tesseract AUTO_CLEAN)
if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/tesseract.pc" "-ltesseract41" "-ltesseract41d")
endif()
vcpkg_fixup_pkgconfig()
if("training-tools" IN_LIST FEATURES)
list(APPEND TRAINING_TOOLS
ambiguous_words classifier_tester combine_tessdata
cntraining dawg2wordlist mftraining shapeclustering
wordlist2dawg combine_lang_model lstmeval lstmtraining
set_unicharset_properties unicharset_extractor text2image
)
vcpkg_copy_tools(TOOL_NAMES ${TRAINING_TOOLS} AUTO_CLEAN)
endif()
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)