[libpng15] Updated CMakeLists.txt to add OSX framework, change YES/NO to ON/OFF
for consistency, and remove some useless tests (Alexey Petruchik).
diff --git a/ANNOUNCE b/ANNOUNCE
index 2c89fe9..d988f05 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
-Libpng 1.5.22rc02 - March 9, 2015
+Libpng 1.5.22rc03 - 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.
@@ -9,21 +9,21 @@
Source files with LF line endings (for Unix/Linux) and with a
"configure" script
- 1.5.22rc02.tar.xz (LZMA-compressed, recommended)
- 1.5.22rc02.tar.gz
- 1.5.22rc02.tar.bz2
+ 1.5.22rc03.tar.xz (LZMA-compressed, recommended)
+ 1.5.22rc03.tar.gz
+ 1.5.22rc03.tar.bz2
Source files with CRLF line endings (for Windows), without the
"configure" script
- lp1522r02.7z (LZMA-compressed, recommended)
- lp1522r02.zip
+ lp1522r03.7z (LZMA-compressed, recommended)
+ lp1522r03.zip
Other information:
- 1.5.22rc02-README.txt
- 1.5.22rc02-LICENSE.txt
- libpng-1.5.22rc02-*.asc (armored detached GPG signatures)
+ 1.5.22rc03-README.txt
+ 1.5.22rc03-LICENSE.txt
+ libpng-1.5.22rc03-*.asc (armored detached GPG signatures)
Changes since the last public release (1.5.21):
@@ -52,11 +52,15 @@
Version 1.5.22rc01 [March 4, 2015]
No changes.
-Version 1.5.22rc02 [March 9, 2015]
+Version 1.5.22rc02 [March 9, 2014]
Removed some comments that the configure script did not handle
properly from scripts/pnglibconf.dfa and pnglibconf.h.prebuilt.
Merged png_free_data() with libpng-1.6.17
+Version 1.5.22rc03 [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 05d870b..e71b593 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4316,11 +4316,15 @@
Version 1.5.22rc01 [March 4, 2015]
No changes.
-Version 1.5.22rc02 [March 9, 2015]
+Version 1.5.22rc02 [March 9, 2014]
Removed some comments that the configure script did not handle
properly from scripts/pnglibconf.dfa and pnglibconf.h.prebuilt.
Merged png_free_data() with libpng-1.6.17
+Version 1.5.22rc03 [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 0df73a4..e07dbdb 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 @@
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 @@
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})
@@ -106,8 +97,6 @@
)
# SOME NEEDED DEFINITIONS
-add_definitions(-DPNG_CONFIGURE_LIBPNG)
-
if(MSVC)
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
endif(MSVC)
@@ -133,7 +122,7 @@
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})
@@ -144,10 +133,27 @@
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)
@@ -187,7 +193,6 @@
get_filename_component(LINK_TARGET "${SRC_FILE}" NAME)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${LINK_TARGET}" ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
- execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${LINK_TARGET}" ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink "${LINK_TARGET}" ${DEST_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
endif(WIN32 AND NOT CYGWIN AND NOT MSYS)
endmacro()
@@ -201,7 +206,7 @@
# we use the same files like ./configure, so we have to set its vars
# Only do this on Windows for Cygwin - the files don't make much sense outside
# a UNIX look alike
-if(NOT WIN32 OR CYGWIN OR MINGW)
+if(NOT WIN32 OR CYGWIN OR MINGW)
set(prefix ${CMAKE_INSTALL_PREFIX})
set(exec_prefix ${CMAKE_INSTALL_PREFIX})
set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
@@ -219,7 +224,7 @@
# SET UP LINKS
if(PNG_SHARED)
set_target_properties(${PNG_LIB_NAME} PROPERTIES
-# VERSION 15.${PNGLIB_RELEASE}.1.5.22rc02
+# VERSION 15.${PNGLIB_RELEASE}.1.5.22rc03
VERSION 15.${PNGLIB_RELEASE}.0
SOVERSION 15
CLEAN_DIRECT_OUTPUT 1)
@@ -250,7 +255,8 @@
${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 => libpng15.dll.a on Cygwin