summaryrefslogtreecommitdiff
path: root/Build/source/libs/libpng/libpng-src/CMakeLists.txt
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2016-12-29 23:29:02 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2016-12-29 23:29:02 +0000
commitcd05e6fca5f7e341ee25ae421c8f6371857912fe (patch)
tree032fb8e8ef76a5474d2bbccec7398edeb6ac1847 /Build/source/libs/libpng/libpng-src/CMakeLists.txt
parent789f98159b53965cccf9eadcc924bf1079c2be48 (diff)
libpng 1.6.27
git-svn-id: svn://tug.org/texlive/trunk@42804 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/libpng/libpng-src/CMakeLists.txt')
-rw-r--r--Build/source/libs/libpng/libpng-src/CMakeLists.txt35
1 files changed, 33 insertions, 2 deletions
diff --git a/Build/source/libs/libpng/libpng-src/CMakeLists.txt b/Build/source/libs/libpng/libpng-src/CMakeLists.txt
index c7878f67087..40b3503a638 100644
--- a/Build/source/libs/libpng/libpng-src/CMakeLists.txt
+++ b/Build/source/libs/libpng/libpng-src/CMakeLists.txt
@@ -5,6 +5,7 @@
# Revised by Roger Lowman, 2009-2010
# Revised by Clifford Yapp, 2011-2012
# Revised by Roger Leigh, 2016
+# Revised by Andreas Franek, 2016
# This code is released under the libpng license.
# For conditions of distribution and use, see the disclaimer
@@ -35,7 +36,7 @@ enable_testing()
set(PNGLIB_MAJOR 1)
set(PNGLIB_MINOR 6)
-set(PNGLIB_RELEASE 26)
+set(PNGLIB_RELEASE 27)
set(PNGLIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR})
set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE})
@@ -69,6 +70,35 @@ option(PNGARG "Disable ANSI-C prototypes" OFF)
set(PNG_PREFIX "" CACHE STRING "Prefix to add to the API function names")
set(DFA_XTRA "" CACHE FILEPATH "File containing extra configuration settings")
+# set definitions and sources for arm
+if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^arm")
+ set(PNG_ARM_NEON_POSSIBLE_VALUES check on off)
+ set(PNG_ARM_NEON "check" CACHE STRING "Enable ARM NEON optimizations:
+ check: (default) use internal checking code;
+ off: disable the optimizations;
+ on: turn on unconditionally.")
+ set_property(CACHE PNG_ARM_NEON PROPERTY STRINGS
+ ${PNG_ARM_NEON_POSSIBLE_VALUES})
+ list(FIND PNG_ARM_NEON_POSSIBLE_VALUES ${PNG_ARM_NEON} index)
+ if(index EQUAL -1)
+ message(FATAL_ERROR
+ " PNG_ARM_NEON must be one of [${PNG_ARM_NEON_POSSIBLE_VALUES}]")
+ elseif(NOT ${PNG_ARM_NEON} STREQUAL "no")
+ set(libpng_arm_sources
+ arm/arm_init.c
+ arm/filter_neon.S
+ arm/filter_neon_intrinsics.c)
+
+ if(${PNG_ARM_NEON} STREQUAL "on")
+ add_definitions(-DPNG_ARM_NEON_OPT=2)
+ elseif(${PNG_ARM_NEON} STREQUAL "check")
+ add_definitions(-DPNG_ARM_NEON_CHECK_SUPPORTED)
+ endif()
+ else()
+ add_definitions(-DPNG_ARM_NEON_OPT=0)
+ endif()
+endif()
+
# SET LIBNAME
set(PNG_LIB_NAME png${PNGLIB_MAJOR}${PNGLIB_MINOR})
@@ -359,6 +389,7 @@ set(libpng_sources
pngwrite.c
pngwtran.c
pngwutil.c
+ ${libpng_arm_sources}
)
set(pngtest_sources
pngtest.c
@@ -696,7 +727,7 @@ endif(NOT WIN32 OR CYGWIN OR MINGW)
# SET UP LINKS
if(PNG_SHARED)
set_target_properties(png PROPERTIES
-# VERSION 16.${PNGLIB_RELEASE}.1.6.26
+# VERSION 16.${PNGLIB_RELEASE}.1.6.27
VERSION 16.${PNGLIB_RELEASE}.0
SOVERSION 16
CLEAN_DIRECT_OUTPUT 1)