From 238ac075b7beeab44e3fcebbf179ee6f1c9076a4 Mon Sep 17 00:00:00 2001 From: twelve17 Date: Wed, 4 Nov 2015 18:28:17 +0000 Subject: [PATCH 1/2] Patch for compatibility with openalpr-ios 2_0 --- src/CMakeLists.txt | 61 ++++++++++++++++++++++--------- src/statedetection/CMakeLists.txt | 2 +- 2 files changed, 44 insertions(+), 19 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6cd7d3e..6363b35 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -52,18 +52,37 @@ IF (WIN32 AND WITH_DAEMON) SET(WITH_DAEMON OFF) ENDIF() -FIND_PACKAGE( Tesseract REQUIRED ) +IF(Tesseract_IOS_FRAMEWORK_PATH AND Leptonica_IOS_FRAMEWORK_PATH) + MESSAGE(STATUS "Using Tesseract iOS framework: ${Tesseract_IOS_FRAMEWORK_PATH}") + MESSAGE(STATUS "Using Leptonica iOS framework: ${Leptonica_IOS_FRAMEWORK_PATH}") + # http://www.vtk.org/Wiki/CMake:HowToUseExistingOSXFrameworks + SET(Tesseract_LIBRARIES "${Tesseract_IOS_FRAMEWORK_PATH};${Leptonica_IOS_FRAMEWORK_PATH}") + SET(Tesseract_INCLUDE_DIRS "${Tesseract_IOS_FRAMEWORK_PATH}/Headers") +ELSE() + FIND_PACKAGE( Tesseract REQUIRED ) +ENDIF() include_directories(${Tesseract_INCLUDE_DIRS}) -# Discover OpenCV directory automatically -find_path(OpenCV_DIR - NAMES OpenCVConfig.cmake - HINTS ${CMAKE_SOURCE_DIR}/../libraries/opencv/ - /storage/projects/alpr/libraries/opencv/ -) -# Opencv Package -FIND_PACKAGE( OpenCV REQUIRED ) +IF(OpenCV_IOS_FRAMEWORK_PATH) + MESSAGE(STATUS "Using OpenCV iOS framework: ${OpenCV_IOS_FRAMEWORK_PATH}") + SET(OpenCV_INCLUDE_DIRS "${OpenCV_IOS_FRAMEWORK_PATH}/Headers") + SET(OpenCV_LIBS ${OpenCV_IOS_FRAMEWORK_PATH}) + + # OpenCV's released framework has this disabled, so we must too. + # http://stackoverflow.com/a/32710441/868173 + SET(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE NO) +ELSE() + # Discover OpenCV directory automatically + find_path(OpenCV_DIR + NAMES OpenCVConfig.cmake + HINTS ${CMAKE_SOURCE_DIR}/../libraries/opencv/ + /storage/projects/alpr/libraries/opencv/ + ) + # Opencv Package + FIND_PACKAGE( OpenCV REQUIRED ) +ENDIF() + IF (${OpenCV_VERSION} VERSION_LESS 2.4.7) MESSAGE(FATAL_ERROR "OpenCV version is not compatible : ${OpenCV_VERSION}") ENDIF() @@ -94,7 +113,9 @@ ENDIF() set(CMAKE_CSS_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall ") -ADD_EXECUTABLE( alpr main.cpp ) +if (NOT IOS) + ADD_EXECUTABLE( alpr main.cpp ) +ENDIF() if (WIN32) SET(OPENALPR_LIB openalpr-static) @@ -102,15 +123,17 @@ ELSE() SET(OPENALPR_LIB openalpr) ENDIF() -TARGET_LINK_LIBRARIES(alpr - ${OPENALPR_LIB} - statedetection - support +if (NOT IOS) + TARGET_LINK_LIBRARIES(alpr + ${OPENALPR_LIB} + statedetection + support video - ${OpenCV_LIBS} - ${Tesseract_LIBRARIES} + ${OpenCV_LIBS} + ${Tesseract_LIBRARIES} ${Extra_LIBS} ) +ENDIF() # Compile the alprd library on Unix-based OS IF (WITH_DAEMON) @@ -149,8 +172,10 @@ if (WITH_BINDING_PYTHON) add_subdirectory(bindings/python) ENDIF() -install (TARGETS alpr DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) -install (FILES ${CMAKE_SOURCE_DIR}/../doc/man/alpr.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1 COMPONENT doc) +if (NOT IOS) + install (TARGETS alpr DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) + install (FILES ${CMAKE_SOURCE_DIR}/../doc/man/alpr.1 DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1 COMPONENT doc) +ENDIF() install (DIRECTORY ${CMAKE_SOURCE_DIR}/../runtime_data DESTINATION ${CMAKE_INSTALL_PREFIX}/share/openalpr) # set runtime_data to reflect the current CMAKE_INSTALL_PREFIX diff --git a/src/statedetection/CMakeLists.txt b/src/statedetection/CMakeLists.txt index a7a3cdb..515798c 100644 --- a/src/statedetection/CMakeLists.txt +++ b/src/statedetection/CMakeLists.txt @@ -8,7 +8,7 @@ set(statedetector_source_files state_detector_impl.cpp ) -if (WIN32) +if (WIN32 OR IOS) add_library(statedetection STATIC ${statedetector_source_files} ) ELSE() add_library(statedetection SHARED ${statedetector_source_files} ) From c2f5a5e7f0c699c6aa122a9449afb4db59039fbf Mon Sep 17 00:00:00 2001 From: twelve17 Date: Mon, 9 Nov 2015 10:29:18 +0000 Subject: [PATCH 2/2] Updated framework variable names per PR suggestion. --- src/CMakeLists.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6363b35..47c551c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -52,22 +52,22 @@ IF (WIN32 AND WITH_DAEMON) SET(WITH_DAEMON OFF) ENDIF() -IF(Tesseract_IOS_FRAMEWORK_PATH AND Leptonica_IOS_FRAMEWORK_PATH) - MESSAGE(STATUS "Using Tesseract iOS framework: ${Tesseract_IOS_FRAMEWORK_PATH}") - MESSAGE(STATUS "Using Leptonica iOS framework: ${Leptonica_IOS_FRAMEWORK_PATH}") +IF(Tesseract_FRAMEWORK_PATH AND Leptonica_FRAMEWORK_PATH) + MESSAGE(STATUS "Using Tesseract iOS framework: ${Tesseract_FRAMEWORK_PATH}") + MESSAGE(STATUS "Using Leptonica iOS framework: ${Leptonica_FRAMEWORK_PATH}") # http://www.vtk.org/Wiki/CMake:HowToUseExistingOSXFrameworks - SET(Tesseract_LIBRARIES "${Tesseract_IOS_FRAMEWORK_PATH};${Leptonica_IOS_FRAMEWORK_PATH}") - SET(Tesseract_INCLUDE_DIRS "${Tesseract_IOS_FRAMEWORK_PATH}/Headers") + SET(Tesseract_LIBRARIES "${Tesseract_FRAMEWORK_PATH};${Leptonica_FRAMEWORK_PATH}") + SET(Tesseract_INCLUDE_DIRS "${Tesseract_FRAMEWORK_PATH}/Headers") ELSE() FIND_PACKAGE( Tesseract REQUIRED ) ENDIF() include_directories(${Tesseract_INCLUDE_DIRS}) -IF(OpenCV_IOS_FRAMEWORK_PATH) - MESSAGE(STATUS "Using OpenCV iOS framework: ${OpenCV_IOS_FRAMEWORK_PATH}") - SET(OpenCV_INCLUDE_DIRS "${OpenCV_IOS_FRAMEWORK_PATH}/Headers") - SET(OpenCV_LIBS ${OpenCV_IOS_FRAMEWORK_PATH}) +IF(OpenCV_FRAMEWORK_PATH) + MESSAGE(STATUS "Using OpenCV iOS framework: ${OpenCV_FRAMEWORK_PATH}") + SET(OpenCV_INCLUDE_DIRS "${OpenCV_FRAMEWORK_PATH}/Headers") + SET(OpenCV_LIBS ${OpenCV_FRAMEWORK_PATH}) # OpenCV's released framework has this disabled, so we must too. # http://stackoverflow.com/a/32710441/868173