48 lines
1.5 KiB
CMake
48 lines
1.5 KiB
CMake
# -*- cmake -*-
|
|
include(Prebuilt)
|
|
|
|
set(PNG_FIND_QUIETLY ON)
|
|
set(PNG_FIND_REQUIRED ON)
|
|
|
|
if (STANDALONE)
|
|
include(FindPNG)
|
|
else (STANDALONE)
|
|
use_prebuilt_binary(libpng)
|
|
if (WINDOWS)
|
|
if(MSVC12)
|
|
set(PNG_LIBRARIES libpng16)
|
|
else(MSVC12)
|
|
set(PNG_LIBRARIES libpng15)
|
|
endif(MSVC12)
|
|
elseif(DARWIN)
|
|
set(PNG_LIBRARIES png15)
|
|
else(LINUX)
|
|
if (CMAKE_SIZEOF_VOID_P EQUAL 4) # Singu TODO: update png
|
|
set(PNG_LIBRARIES png15)
|
|
else ()
|
|
#
|
|
# When we have updated static libraries in competition with older
|
|
# shared libraries and we want the former to win, we need to do some
|
|
# extra work. The *_PRELOAD_ARCHIVES settings are invoked early
|
|
# and will pull in the entire archive to the binary giving it
|
|
# priority in symbol resolution. Beware of cmake moving the
|
|
# achive load itself to another place on the link command line. If
|
|
# that happens, you can try something like -Wl,-lpng16 here to hide
|
|
# the archive. Also be aware that the linker will not tolerate a
|
|
# second whole-archive load of the archive. See viewer's
|
|
# CMakeLists.txt for more information.
|
|
#
|
|
set(PNG_PRELOAD_ARCHIVES -Wl,--whole-archive png16 -Wl,--no-whole-archive)
|
|
set(PNG_LIBRARIES png16)
|
|
set(PNG_INCLUDE_DIRS
|
|
${LIBS_PREBUILT_DIR}/include/libpng16
|
|
${LIBS_PREBUILT_LEGACY_DIR}/include/libpng16
|
|
)
|
|
endif ()
|
|
endif()
|
|
set(PNG_INCLUDE_DIRS
|
|
${LIBS_PREBUILT_DIR}/include
|
|
${LIBS_PREBUILT_LEGACY_DIR}/include
|
|
)
|
|
endif (STANDALONE)
|