From f2c37d0abfac4ef61f348db0c0635f2e0d3720c2 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Thu, 12 Mar 2015 06:48:01 -0500 Subject: [PATCH] [libpng16] Updated CMakeLists.txt to add OSX framework, change YES/NO to ON/OFF for consistency, and remove some useless tests (Alexey Petruchik). --- ANNOUNCE | 20 ++++++++++++-------- CHANGES | 4 ++++ CMakeLists.txt | 51 +++++++++++++++++++++++++++++--------------------- 3 files changed, 46 insertions(+), 29 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index d26e49f11..04139ef24 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ -Libpng 1.6.17rc02 - March 9, 2015 +Libpng 1.6.17rc03 - March 12, 2015 This is not intended to be a public release. It will be replaced within a few weeks by a public version or by another test version. @@ -8,20 +8,20 @@ Files available for download: Source files with LF line endings (for Unix/Linux) and with a "configure" script - 1.6.17rc02.tar.xz (LZMA-compressed, recommended) - 1.6.17rc02.tar.gz + 1.6.17rc03.tar.xz (LZMA-compressed, recommended) + 1.6.17rc03.tar.gz Source files with CRLF line endings (for Windows), without the "configure" script - lp1617r02.7z (LZMA-compressed, recommended) - lp1617r02.zip + lp1617r03.7z (LZMA-compressed, recommended) + lp1617r03.zip Other information: - 1.6.17rc02-README.txt - 1.6.17rc02-LICENSE.txt - libpng-1.6.17rc02-*.asc (armored detached GPG signatures) + 1.6.17rc03-README.txt + 1.6.17rc03-LICENSE.txt + libpng-1.6.17rc03-*.asc (armored detached GPG signatures) Changes since the last public release (1.6.16): @@ -73,6 +73,10 @@ Version 1.6.17rc02 [March 9, 2015] properly from scripts/pnglibconf.dfa and pnglibconf.h.prebuilt. Free the unknown_chunks structure even when it contains no data. +Version 1.6.17rc03 [March 12, 2015] + Updated CMakeLists.txt to add OSX framework, change YES/NO to ON/OFF + for consistency, and remove some useless tests (Alexey Petruchik). + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/CHANGES b/CHANGES index 076c28c3c..da1882976 100644 --- a/CHANGES +++ b/CHANGES @@ -5174,6 +5174,10 @@ Version 1.6.17rc02 [March 9, 2015] properly from scripts/pnglibconf.dfa and pnglibconf.h.prebuilt. Free the unknown_chunks structure even when it contains no data. +Version 1.6.17rc03 [March 12, 2015] + Updated CMakeLists.txt to add OSX framework, change YES/NO to ON/OFF + for consistency, and remove some useless tests (Alexey Petruchik). + Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit https://lists.sourceforge.net/lists/listinfo/png-mng-implement diff --git a/CMakeLists.txt b/CMakeLists.txt index c07c44f70..0923158b1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ # CMakeLists.txt -# Copyright (C) 2007-2014 Glenn Randers-Pehrson +# Copyright (C) 2007-2015 Glenn Randers-Pehrson # This code is released under the libpng license. # For conditions of distribution and use, see the disclaimer @@ -30,8 +30,7 @@ if(NOT WIN32) PATHS /usr/lib /usr/local/lib ) if(NOT M_LIBRARY) - message(STATUS - "math library 'libm' not found - floating point support disabled") + message(STATUS "math lib 'libm' not found; floating point support disabled") endif() else() # not needed on windows @@ -39,22 +38,14 @@ else() endif() # COMMAND LINE OPTIONS -if(DEFINED PNG_SHARED) - option(PNG_SHARED "Build shared lib" ${PNG_SHARED}) -else() - option(PNG_SHARED "Build shared lib" ON) -endif() -if(DEFINED PNG_STATIC) - option(PNG_STATIC "Build static lib" ${PNG_STATIC}) -else() - option(PNG_STATIC "Build static lib" ON) -endif() - -option(PNG_TESTS "Build libpng tests" YES) +option(PNG_SHARED "Build shared lib" ON) +option(PNG_STATIC "Build static lib" ON) +option(PNG_TESTS "Build libpng tests" ON) # Many more configuration options could be added here -option(PNG_DEBUG "Build with debug output" NO) -option(PNGARG "Disable ANSI-C prototypes" NO) +option(PNG_FRAMEWORK "Build OS X framework" OFF) +option(PNG_DEBUG "Build with debug output" OFF) +option(PNGARG "Disable ANSI-C prototypes" OFF) # SET LIBNAME set(PNG_LIB_NAME png${PNGLIB_MAJOR}${PNGLIB_MINOR}) @@ -134,7 +125,7 @@ if(PNG_SHARED) endif() if(PNG_STATIC) -# does not work without changing name + # does not work without changing name set(PNG_LIB_NAME_STATIC ${PNG_LIB_NAME}_static) add_library(${PNG_LIB_NAME_STATIC} STATIC ${libpng_sources}) list(APPEND PNG_LIB_TARGETS ${PNG_LIB_NAME_STATIC}) @@ -145,10 +136,27 @@ if(PNG_STATIC) target_link_libraries(${PNG_LIB_NAME_STATIC} ${ZLIB_LIBRARY} ${M_LIBRARY}) endif() +if(PNG_FRAMEWORK) + set(PNG_LIB_NAME_FRAMEWORK ${PNG_LIB_NAME}_framework) + add_library(${PNG_LIB_NAME_FRAMEWORK} SHARED ${libpng_sources}) + list(APPEND PNG_LIB_TARGETS ${PNG_LIB_NAME_FRAMEWORK}) + set_target_properties(${PNG_LIB_NAME_FRAMEWORK} PROPERTIES + FRAMEWORK TRUE + FRAMEWORK_VERSION ${PNGLIB_VERSION} + MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${PNGLIB_MAJOR}.${PNGLIB_MINOR} + MACOSX_FRAMEWORK_BUNDLE_VERSION ${PNGLIB_VERSION} + MACOSX_FRAMEWORK_IDENTIFIER org.libpng.libpng + XCODE_ATTRIBUTE_INSTALL_PATH "@rpath" + PUBLIC_HEADER "${libpng_public_hdrs}" + OUTPUT_NAME png) + target_link_libraries(${PNG_LIB_NAME_FRAMEWORK} ${ZLIB_LIBRARY} ${M_LIBRARY}) +endif() + if(NOT PNG_LIB_TARGETS) message(SEND_ERROR "No library variant selected to build. " - "Please enable at least one of the following options: PNG_STATIC, PNG_SHARED") + "Please enable at least one of the following options: " + " PNG_STATIC, PNG_SHARED, PNG_FRAMEWORK") endif() if(PNG_SHARED AND WIN32) @@ -253,7 +261,7 @@ endif(NOT WIN32 OR CYGWIN OR MINGW) # SET UP LINKS if(PNG_SHARED) set_target_properties(${PNG_LIB_NAME} PROPERTIES -# VERSION 16.${PNGLIB_RELEASE}.1.6.17rc02 +# VERSION 16.${PNGLIB_RELEASE}.1.6.17rc03 VERSION 16.${PNGLIB_RELEASE}.0 SOVERSION 16 CLEAN_DIRECT_OUTPUT 1) @@ -284,7 +292,8 @@ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) ${PNG_EXPORT_RULE} RUNTIME DESTINATION bin LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}) if(PNG_SHARED) # Create a symlink for libpng.dll.a => libpng16.dll.a on Cygwin