cmake_minimum_required(VERSION 3.14)
project(zoomPM)

find_package(PNG)
if(NOT PNG_FOUND)
  find_package(ZLIB) # zlib is needed by libPNG
  if(NOT ZLIB_FOUND)
        set(ZLIB_BUILD_TESTING OFF)
        set(ZLIB_BUILD_STATIC OFF)
        set(ZLIB_INSTALL OFF)
        add_subdirectory(third_party/zlib-1.3.2)
        set(ZLIB_FOUND TRUE)
        set(ZLIB_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/third_party/zlib-1.3.2")
  endif()

  set(PNG_STATIC OFF)
  set(PNG_TESTS OFF)
  set(PNG_TOOLS OFF)
  set(SKIP_INSTALL_ALL 1)
  add_subdirectory(third_party/libpng-1.6.56)
  set_target_properties(${PNG_LIBRARIES} PROPERTIES
            INTERFACE_INCLUDE_DIRECTORIES "${PNG_INCLUDE_DIRS}")
  add_library(PNG::PNG ALIAS "${PNG_LIBRARIES}")
endif()

add_executable(zoomPM zoomPM.cpp cmdLine.h io_png.c io_png.h xmtime.h)
target_link_libraries(zoomPM ${PNG_LIBRARIES})

find_package(OpenMP)
if(OpenMP_CXX_FOUND)
  target_link_libraries(zoomPM OpenMP::OpenMP_CXX)
endif()

if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU)|(CLANG)")
  set_target_properties(zoomPM PROPERTIES COMPILE_FLAGS "-Wall -Wextra")
endif()
