提交 a8f0c933 编写于 作者: A Andrey Kamaev

Modified zlib search. Use system zlib on Android by default

上级 b12f1853
if(NOT ZLIB_FOUND)
add_subdirectory(zlib)
endif()
if(WITH_JASPER AND NOT JASPER_FOUND) if(WITH_JASPER AND NOT JASPER_FOUND)
add_subdirectory(libjasper) add_subdirectory(libjasper)
endif() endif()
......
...@@ -7,12 +7,7 @@ project(libpng) ...@@ -7,12 +7,7 @@ project(libpng)
# List of C++ files: # List of C++ files:
include_directories("${CMAKE_CURRENT_SOURCE_DIR}") include_directories("${CMAKE_CURRENT_SOURCE_DIR}")
include_directories(${ZLIB_INCLUDE_DIR})
if(ZLIB_FOUND)
include_directories(${ZLIB_INCLUDE_DIR})
else()
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../zlib")
endif()
file(GLOB lib_srcs *.c) file(GLOB lib_srcs *.c)
file(GLOB lib_hdrs *.h) file(GLOB lib_hdrs *.h)
......
...@@ -37,11 +37,11 @@ if(MSVC) ...@@ -37,11 +37,11 @@ if(MSVC)
endif() endif()
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein" configure_file("${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein"
"${OpenCV_BINARY_DIR}/zconf.h" @ONLY) "${CMAKE_CURRENT_BINARY_DIR}/zconf.h" @ONLY)
include_directories("${CMAKE_CURRENT_SOURCE_DIR}") include_directories("${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}")
set(ZLIB_PUBLIC_HDRS set(ZLIB_PUBLIC_HDRS
"${OpenCV_BINARY_DIR}/zconf.h" "${CMAKE_CURRENT_BINARY_DIR}/zconf.h"
zlib.h zlib.h
) )
set(ZLIB_PRIVATE_HDRS set(ZLIB_PRIVATE_HDRS
...@@ -73,10 +73,8 @@ set(ZLIB_SRCS ...@@ -73,10 +73,8 @@ set(ZLIB_SRCS
zutil.c zutil.c
) )
set(the_target "zlib") add_library(${ZLIB_LIBRARY} STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
set_target_properties(${ZLIB_LIBRARY} PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
add_library(${the_target} STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
set_target_properties(${the_target} PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
if(UNIX) if(UNIX)
if(CMAKE_COMPILER_IS_GNUCXX OR CV_ICC) if(CMAKE_COMPILER_IS_GNUCXX OR CV_ICC)
...@@ -88,16 +86,16 @@ if(MSVC) ...@@ -88,16 +86,16 @@ if(MSVC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4013") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4013")
endif() endif()
set_target_properties(${the_target} PROPERTIES set_target_properties(${ZLIB_LIBRARY} PROPERTIES
OUTPUT_NAME "${the_target}" OUTPUT_NAME ${ZLIB_LIBRARY}
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}" DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/3rdparty/${OPENCV_LIB_INSTALL_PATH}" ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/3rdparty/${OPENCV_LIB_INSTALL_PATH}"
) )
if(ENABLE_SOLUTION_FOLDERS) if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(${the_target} PROPERTIES FOLDER "3rdparty") set_target_properties(${ZLIB_LIBRARY} PROPERTIES FOLDER "3rdparty")
endif() endif()
if(NOT BUILD_SHARED_LIBS) if(NOT BUILD_SHARED_LIBS)
install(TARGETS ${the_target} ARCHIVE DESTINATION share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH} COMPONENT main) install(TARGETS ${ZLIB_LIBRARY} ARCHIVE DESTINATION share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH} COMPONENT main)
endif() endif()
...@@ -148,6 +148,9 @@ OCV_OPTION(BUILD_TESTS "Build accuracy & regression tests" ...@@ -148,6 +148,9 @@ OCV_OPTION(BUILD_TESTS "Build accuracy & regression tests"
OCV_OPTION(BUILD_WITH_DEBUG_INFO "Include debug info into debug libs" ON ) OCV_OPTION(BUILD_WITH_DEBUG_INFO "Include debug info into debug libs" ON )
OCV_OPTION(BUILD_WITH_STATIC_CRT "Enables use of staticaly linked CRT for staticaly linked OpenCV" ON IF MSVC ) OCV_OPTION(BUILD_WITH_STATIC_CRT "Enables use of staticaly linked CRT for staticaly linked OpenCV" ON IF MSVC )
# 3rdparty libs
OCV_OPTION(BUILD_ZLIB "Build zlib from source instead of installed in the system" WIN32 OR IOS )
if(WIN32 OR ANDROID) if(WIN32 OR ANDROID)
set(OPENCV_BUILD_3RDPARTY_LIBS TRUE CACHE INTERNAL "Build 3rd party libraries") set(OPENCV_BUILD_3RDPARTY_LIBS TRUE CACHE INTERNAL "Build 3rd party libraries")
else() else()
...@@ -424,7 +427,6 @@ endif() ...@@ -424,7 +427,6 @@ endif()
if (UNIX OR WIN32) if (UNIX OR WIN32)
if(NOT OPENCV_BUILD_3RDPARTY_LIBS) if(NOT OPENCV_BUILD_3RDPARTY_LIBS)
message(STATUS "NOT OPENCV_BUILD_3RDPARTY_LIBS **************************************************") message(STATUS "NOT OPENCV_BUILD_3RDPARTY_LIBS **************************************************")
include(FindZLIB)
if(WITH_PNG) if(WITH_PNG)
include(FindPNG) include(FindPNG)
if(PNG_FOUND) if(PNG_FOUND)
...@@ -468,12 +470,26 @@ if(WITH_JASPER AND NOT JASPER_FOUND) ...@@ -468,12 +470,26 @@ if(WITH_JASPER AND NOT JASPER_FOUND)
set(JASPER_LIBRARIES libjasper) set(JASPER_LIBRARIES libjasper)
endif() endif()
if(NOT ZLIB_FOUND) ################### zlib - always required
set(ZLIB_LIBRARY zlib) if(NOT BUILD_ZLIB)
if(ANDROID)
set(ZLIB_FOUND TRUE)
set(ZLIB_LIBRARY z)
set(ZLIB_INCLUDE_DIR "")
else()
include(FindZLIB)
endif()
else()
set(ZLIB_FOUND FALSE)
endif() endif()
#message(STATUS "Graphic libraries: ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARIES} ${JASPER_LIBRARIES}") if(NOT ZLIB_FOUND)
set(ZLIB_LIBRARY zlib)
add_subdirectory(3rdparty/zlib)
set(ZLIB_INCLUDE_DIR "${OpenCV_SOURCE_DIR}/3rdparty/zlib" "${${ZLIB_LIBRARY}_BINARY_DIR}")
endif()
################### OpenEXR
if(WITH_OPENEXR) if(WITH_OPENEXR)
include(cmake/OpenCVFindOpenEXR.cmake) include(cmake/OpenCVFindOpenEXR.cmake)
endif() endif()
...@@ -775,7 +791,7 @@ status(" OpenGL support:" HAVE_OPENGL THEN YES ELSE NO) ...@@ -775,7 +791,7 @@ status(" OpenGL support:" HAVE_OPENGL THEN YES ELSE NO)
# media # media
status("") status("")
status(" Media I/O: ") status(" Media I/O: ")
status(" ZLib:" ZLIB_FOUND THEN ${ZLIB_FOUND} ELSE build) status(" ZLib:" ZLIB_FOUND THEN "${ZLIB_FOUND} - ${ZLIB_LIBRARY}" ELSE build)
status(" JPEG:" NOT WITH_JPEG OR JPEG_FOUND THEN ${JPEG_FOUND} ELSE build) status(" JPEG:" NOT WITH_JPEG OR JPEG_FOUND THEN ${JPEG_FOUND} ELSE build)
status(" PNG:" NOT WITH_PNG OR PNG_FOUND THEN ${PNG_FOUND} ELSE build) status(" PNG:" NOT WITH_PNG OR PNG_FOUND THEN ${PNG_FOUND} ELSE build)
status(" TIFF:" NOT WITH_TIFF OR TIFF_FOUND THEN ${TIFF_FOUND} ELSE build) status(" TIFF:" NOT WITH_TIFF OR TIFF_FOUND THEN ${TIFF_FOUND} ELSE build)
......
set(the_description "The Core Functionality") set(the_description "The Core Functionality")
ocv_add_module(core ${ZLIB_LIBRARY}) ocv_add_module(core ${ZLIB_LIBRARY})
if(NOT ZLIB_FOUND)
set(ZLIB_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/zlib")
endif()
ocv_module_include_directories(${ZLIB_INCLUDE_DIR}) ocv_module_include_directories(${ZLIB_INCLUDE_DIR})
if(HAVE_CUDA) if(HAVE_CUDA)
......
...@@ -10,13 +10,8 @@ ocv_add_module(highgui opencv_imgproc OPTIONAL opencv_androidcamera) ...@@ -10,13 +10,8 @@ ocv_add_module(highgui opencv_imgproc OPTIONAL opencv_androidcamera)
set(GRFMT_LIBS "") set(GRFMT_LIBS "")
if(WITH_PNG OR WITH_TIFF OR WITH_OPENEXR) if(WITH_PNG OR WITH_TIFF OR WITH_OPENEXR)
if(ZLIB_FOUND) include_directories(${ZLIB_INCLUDE_DIR})
include_directories(${ZLIB_INCLUDE_DIR}) set(GRFMT_LIBS ${GRFMT_LIBS} ${ZLIB_LIBRARY})
set(GRFMT_LIBS ${GRFMT_LIBS} ${ZLIB_LIBRARIES})
else()
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/../../3rdparty/zlib")
set(GRFMT_LIBS ${GRFMT_LIBS} zlib)
endif()
endif() endif()
if(WITH_JPEG) if(WITH_JPEG)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册