Merge pull request #3344 from mshabunin:java_automation
[profile/ivi/opencv.git] / 3rdparty / libpng / CMakeLists.txt
1 # ----------------------------------------------------------------------------
2 #  CMake file for libpng. See root CMakeLists.txt
3 #
4 # ----------------------------------------------------------------------------
5
6 if(NEON)
7   project(${PNG_LIBRARY} ASM)
8 else()
9   project(${PNG_LIBRARY})
10 endif()
11
12 ocv_include_directories("${CMAKE_CURRENT_SOURCE_DIR}" ${ZLIB_INCLUDE_DIRS})
13
14 file(GLOB lib_srcs *.c)
15 file(GLOB lib_hdrs *.h)
16
17 if(NEON)
18   list(APPEND lib_srcs arm/filter_neon.S)
19   add_definitions(-DPNG_ARM_NEON)
20 endif()
21
22 # ----------------------------------------------------------------------------------
23 #         Define the library target:
24 # ----------------------------------------------------------------------------------
25
26 add_definitions(-DPNG_CONFIGURE_LIBPNG)
27
28 if(MSVC)
29   add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
30 endif(MSVC)
31
32 if (HAVE_WINRT)
33   add_definitions(-DHAVE_WINRT)
34 endif()
35
36 add_library(${PNG_LIBRARY} STATIC ${lib_srcs} ${lib_hdrs})
37 target_link_libraries(${PNG_LIBRARY} ${ZLIB_LIBRARIES})
38
39 if(UNIX)
40   if(CMAKE_COMPILER_IS_GNUCXX OR CV_ICC)
41     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
42   endif()
43 endif()
44
45 ocv_warnings_disable(CMAKE_C_FLAGS -Wcast-align)
46
47 set_target_properties(${PNG_LIBRARY}
48   PROPERTIES OUTPUT_NAME ${PNG_LIBRARY}
49   DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
50   ARCHIVE_OUTPUT_DIRECTORY ${3P_LIBRARY_OUTPUT_PATH}
51   )
52
53 if(ENABLE_SOLUTION_FOLDERS)
54   set_target_properties(${PNG_LIBRARY} PROPERTIES FOLDER "3rdparty")
55 endif()
56
57 if(NOT BUILD_SHARED_LIBS)
58   ocv_install_target(${PNG_LIBRARY} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev)
59 endif()