CMakeLists.txt 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # ----------------------------------------------------------------------------
  2. # CMake file for libspng. See root CMakeLists.txt
  3. #
  4. # ----------------------------------------------------------------------------
  5. project(${SPNG_LIBRARY})
  6. set(CURR_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}")
  7. set_property(GLOBAL PROPERTY SPNG_INCLUDE_DIR ${CURR_INCLUDE_DIR})
  8. ocv_include_directories(${ZLIB_INCLUDE_DIRS})
  9. file(GLOB_RECURSE spng_headers RELATIVE "${CMAKE_CURRENT_LIST_DIR}" "*.h")
  10. file(GLOB_RECURSE spng_sources RELATIVE "${CMAKE_CURRENT_LIST_DIR}" "*.c")
  11. message(STATUS "libspng will be used as PNG codec")
  12. # ----------------------------------------------------------------------------------
  13. # Define the library target:
  14. # ----------------------------------------------------------------------------------
  15. if(MSVC)
  16. add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
  17. endif(MSVC)
  18. add_library(${SPNG_LIBRARY} STATIC ${OPENCV_3RDPARTY_EXCLUDE_FROM_ALL} ${spng_headers} ${spng_sources})
  19. target_link_libraries(${SPNG_LIBRARY} ${ZLIB_LIBRARIES})
  20. set_target_properties(${SPNG_LIBRARY}
  21. PROPERTIES OUTPUT_NAME ${SPNG_LIBRARY}
  22. DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
  23. COMPILE_PDB_NAME ${SPNG_LIBRARY}
  24. COMPILE_PDB_NAME_DEBUG "${SPNG_LIBRARY}${OPENCV_DEBUG_POSTFIX}"
  25. ARCHIVE_OUTPUT_DIRECTORY ${3P_LIBRARY_OUTPUT_PATH}
  26. )
  27. target_compile_definitions(${SPNG_LIBRARY} PUBLIC SPNG_STATIC)
  28. if(ENABLE_SOLUTION_FOLDERS)
  29. set_target_properties(${SPNG_LIBRARY} PROPERTIES FOLDER "3rdparty")
  30. endif()
  31. if(NOT BUILD_SHARED_LIBS)
  32. ocv_install_target(${SPNG_LIBRARY} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev OPTIONAL)
  33. endif()
  34. ocv_install_3rdparty_licenses(${SPNG_LIBRARY} LICENSE)