From f15cd961c6c1958e873f3b71b92b152c0dec5c74 Mon Sep 17 00:00:00 2001 From: Egor Pugin Date: Mon, 30 Nov 2015 11:43:01 +0300 Subject: [PATCH] Download icu on windows to build set_unicharset_properties target. --- CMakeLists.txt | 2 +- training/CMakeLists.txt | 48 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 44b4ac5dde..d7b6726cf7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,7 +53,6 @@ set(Leptonica_DIR ${Leptonica_BUILD_DIR}) find_package(Leptonica ${MINIMUM_LEPTONICA_VERSION} REQUIRED CONFIG) endif() -find_package(ICU COMPONENTS uc i18n) find_package(OpenCL QUIET) find_package(PkgConfig) @@ -220,6 +219,7 @@ set(tesseractmain_src ) add_executable (tesseractmain ${tesseractmain_src}) target_link_libraries (tesseractmain tesseract) +set_target_properties (tesseractmain PROPERTIES OUTPUT_NAME tesseract) ######################################## diff --git a/training/CMakeLists.txt b/training/CMakeLists.txt index 68f9e6b54f..23fa2eebf2 100644 --- a/training/CMakeLists.txt +++ b/training/CMakeLists.txt @@ -4,6 +4,54 @@ if (STATIC OR NOT (WIN32 OR CYGWIN)) +# experimental +if (MSVC) + +include(CheckTypeSize) +check_type_size("void *" SIZEOF_VOID_P) + +if (SIZEOF_VOID_P EQUAL 8) + set(X64 1) + set(ARCH_DIR_NAME 64) +elseif (SIZEOF_VOID_P EQUAL 4) + set(X86 1) + set(ARCH_DIR_NAME 32) +else() + message(FATAL_ERROR "Cannot determine target architecture") +endif() + +set(icu_dir "${CMAKE_CURRENT_BINARY_DIR}/icu") +set(icu_archive "${icu_dir}/icu${ARCH_DIR_NAME}.zip") + +if (X86) + set(icu_hash 45167a240b60e36b59a87eda23490ce4) +else() + set(icu_hash 480c72491576c048de1218c3c5519399) +endif() + +message(STATUS "Downloading latest ICU binaries") + +file(DOWNLOAD + "http://download.icu-project.org/files/icu4c/56.1/icu4c-56_1-Win${ARCH_DIR_NAME}-msvc10.zip" + "${icu_archive}" + SHOW_PROGRESS + EXPECTED_HASH MD5=${icu_hash} +) +execute_process(COMMAND ${CMAKE_COMMAND} -E tar xz "${icu_archive}" + WORKING_DIRECTORY "${icu_dir}" + RESULT_VARIABLE __result +) +if(NOT __result EQUAL 0) + message(FATAL_ERROR "error ${__result}") +endif() + +set(ICU_ROOT ${icu_dir}/icu) + +endif(MSVC) +# experimental + +find_package(ICU COMPONENTS uc i18n) + ######################################## # LIBRARY tessopt ########################################