File: FindPNG.cmake

package info (click to toggle)
ddnet 19.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 68,960 kB
  • sloc: cpp: 195,050; ansic: 58,572; python: 5,568; asm: 946; sh: 941; java: 366; xml: 206; makefile: 31
file content (49 lines) | stat: -rw-r--r-- 1,415 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
if(NOT PREFER_BUNDLED_LIBS)
  set(CMAKE_MODULE_PATH ${ORIGINAL_CMAKE_MODULE_PATH})
  find_package(PNG)
  set(CMAKE_MODULE_PATH ${OWN_CMAKE_MODULE_PATH})
  if(PNG_FOUND)
    set(PNG_BUNDLED OFF)
    set(PNG_DEP)
  endif()
endif()

if(NOT PNG_FOUND)
  set_extra_dirs_lib(PNG png)
  find_library(PNG_LIBRARY
    NAMES libpng16.16 png16.16 libpng16-16 png16-16 libpng16 png16
    HINTS ${HINTS_PNG_LIBDIR} ${PC_PNG_LIBDIR} ${PC_PNG_LIBRARY_DIRS}
    PATHS ${PATHS_PNG_LIBDIR}
    ${CROSSCOMPILING_NO_CMAKE_SYSTEM_PATH}
  )

  set_extra_dirs_include(PNG png "${PNG_LIBRARY}")
  find_path(PNG_INCLUDEDIR
    NAMES png.h
    HINTS ${HINTS_PNG_INCLUDEDIR} ${PC_PNG_INCLUDEDIR} ${PC_PNG_INCLUDE_DIRS}
    PATHS ${PATHS_PNG_INCLUDEDIR}
    ${CROSSCOMPILING_NO_CMAKE_SYSTEM_PATH}
  )

  mark_as_advanced(PNG_LIBRARY PNG_INCLUDEDIR)

  if(PNG_LIBRARY AND PNG_INCLUDEDIR)
    include(FindPackageHandleStandardArgs)
    find_package_handle_standard_args(PNG DEFAULT_MSG PNG_LIBRARY PNG_INCLUDEDIR)

    set(PNG_LIBRARIES ${PNG_LIBRARY})
    set(PNG_INCLUDE_DIRS ${PNG_INCLUDEDIR})
  endif()
endif()

set(PNG_COPY_FILES)
if(PNG_FOUND)
  is_bundled(PNG_BUNDLED "${PNG_LIBRARY}")
  if(PNG_BUNDLED)
    if(TARGET_OS STREQUAL "windows")
      set(PNG_COPY_FILES "${EXTRA_PNG_LIBDIR}/libpng16-16.dll")
    elseif(TARGET_OS STREQUAL "mac")
      set(PNG_COPY_FILES "${EXTRA_PNG_LIBDIR}/libpng16.16.dylib")
    endif()
  endif()
endif()