2010-05-12 01:44:00 +08:00
|
|
|
# ----------------------------------------------------------------------------
|
|
|
|
# CMake file for libpng. See root CMakeLists.txt
|
|
|
|
#
|
|
|
|
# ----------------------------------------------------------------------------
|
2012-08-28 08:54:15 +08:00
|
|
|
|
2015-12-10 23:03:48 +08:00
|
|
|
if(ENABLE_NEON)
|
2015-12-10 18:48:15 +08:00
|
|
|
project(${PNG_LIBRARY} C ASM)
|
2012-08-28 08:54:15 +08:00
|
|
|
else()
|
2015-12-10 18:48:15 +08:00
|
|
|
project(${PNG_LIBRARY} C)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if(NOT WIN32)
|
|
|
|
find_library(M_LIBRARY
|
|
|
|
NAMES m
|
|
|
|
PATHS /usr/lib /usr/local/lib
|
|
|
|
)
|
|
|
|
if(NOT M_LIBRARY)
|
|
|
|
message(STATUS "math lib 'libm' not found; floating point support disabled")
|
|
|
|
endif()
|
|
|
|
else()
|
|
|
|
# not needed on windows
|
|
|
|
set(M_LIBRARY "")
|
2012-08-28 08:54:15 +08:00
|
|
|
endif()
|
2010-05-12 01:44:00 +08:00
|
|
|
|
2013-08-22 22:04:50 +08:00
|
|
|
ocv_include_directories("${CMAKE_CURRENT_SOURCE_DIR}" ${ZLIB_INCLUDE_DIRS})
|
2011-04-27 00:03:02 +08:00
|
|
|
|
2010-05-12 01:44:00 +08:00
|
|
|
file(GLOB lib_srcs *.c)
|
|
|
|
file(GLOB lib_hdrs *.h)
|
|
|
|
|
2015-12-10 18:48:15 +08:00
|
|
|
|
2017-06-13 00:10:13 +08:00
|
|
|
if(ARM OR AARCH64)
|
|
|
|
if(ENABLE_NEON AND NOT AARCH64)
|
|
|
|
list(APPEND lib_srcs arm/arm_init.c arm/filter_neon.S arm/filter_neon_intrinsics.c)
|
|
|
|
add_definitions(-DPNG_ARM_NEON_OPT=2)
|
|
|
|
else()
|
|
|
|
add_definitions(-DPNG_ARM_NEON_OPT=0) # NEON assembler is not supported
|
|
|
|
endif()
|
2012-08-28 08:54:15 +08:00
|
|
|
endif()
|
|
|
|
|
2016-09-09 00:41:11 +08:00
|
|
|
if(ENABLE_SSE
|
|
|
|
AND (NOT MSVC OR (MSVC_VERSION GREATER 1799))) # MSVS2013+ (issue #7232)
|
2016-08-25 09:48:46 +08:00
|
|
|
list(APPEND lib_srcs contrib/intel/intel_init.c contrib/intel/filter_sse2_intrinsics.c)
|
|
|
|
add_definitions(-DPNG_INTEL_SSE)
|
|
|
|
endif()
|
|
|
|
|
2010-05-12 01:44:00 +08:00
|
|
|
# ----------------------------------------------------------------------------------
|
2012-06-08 11:15:08 +08:00
|
|
|
# Define the library target:
|
2010-05-12 01:44:00 +08:00
|
|
|
# ----------------------------------------------------------------------------------
|
|
|
|
|
2012-08-28 08:44:09 +08:00
|
|
|
if(MSVC)
|
|
|
|
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
|
|
|
|
endif(MSVC)
|
|
|
|
|
2012-02-24 21:53:22 +08:00
|
|
|
add_library(${PNG_LIBRARY} STATIC ${lib_srcs} ${lib_hdrs})
|
2013-08-22 22:04:50 +08:00
|
|
|
target_link_libraries(${PNG_LIBRARY} ${ZLIB_LIBRARIES})
|
2010-05-12 01:44:00 +08:00
|
|
|
|
|
|
|
if(UNIX)
|
2012-02-24 21:53:22 +08:00
|
|
|
if(CMAKE_COMPILER_IS_GNUCXX OR CV_ICC)
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
|
|
|
endif()
|
2010-05-12 01:44:00 +08:00
|
|
|
endif()
|
|
|
|
|
2012-06-08 16:11:17 +08:00
|
|
|
ocv_warnings_disable(CMAKE_C_FLAGS -Wcast-align)
|
|
|
|
|
2012-02-24 21:53:22 +08:00
|
|
|
set_target_properties(${PNG_LIBRARY}
|
2012-06-08 11:15:08 +08:00
|
|
|
PROPERTIES OUTPUT_NAME ${PNG_LIBRARY}
|
|
|
|
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
|
2015-08-17 08:28:22 +08:00
|
|
|
COMPILE_PDB_NAME ${PNG_LIBRARY}
|
|
|
|
COMPILE_PDB_NAME_DEBUG "${PNG_LIBRARY}${OPENCV_DEBUG_POSTFIX}"
|
2012-06-27 14:22:26 +08:00
|
|
|
ARCHIVE_OUTPUT_DIRECTORY ${3P_LIBRARY_OUTPUT_PATH}
|
2012-06-08 11:15:08 +08:00
|
|
|
)
|
|
|
|
|
2011-05-17 17:40:06 +08:00
|
|
|
if(ENABLE_SOLUTION_FOLDERS)
|
2012-02-24 21:53:22 +08:00
|
|
|
set_target_properties(${PNG_LIBRARY} PROPERTIES FOLDER "3rdparty")
|
2011-05-11 21:37:20 +08:00
|
|
|
endif()
|
2012-06-08 11:15:08 +08:00
|
|
|
|
2010-12-05 10:10:59 +08:00
|
|
|
if(NOT BUILD_SHARED_LIBS)
|
2014-01-17 20:30:31 +08:00
|
|
|
ocv_install_target(${PNG_LIBRARY} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev)
|
2010-12-05 10:10:59 +08:00
|
|
|
endif()
|