[devel] Updated CMakeLists.txt to use CMAKE_INSTALL_LIBDIR variable; useful for
installing libpng in /usr/lib64 (Funda Wang). Also ported other recent
changes from libpng-1.4.4beta07:
Revised CMakeLists.txt to put the man pages in share/man/man* not man/man*
Revised CMakeLists.txt to make symlinks instead of copies when installing.
Changed PNG_LIB_NAME from pngNN to libpngNN in CMakeLists.txt (Philip Lowman)
diff --git a/ANNOUNCE b/ANNOUNCE
index fdc0501..7383341 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
-Libpng 1.5.0beta43 - August 11, 2010
+Libpng 1.5.0beta44 - August 11, 2010
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,20 +9,20 @@
Source files with LF line endings (for Unix/Linux) and with a
"configure" script
- 1.5.0beta43.tar.xz (LZMA-compressed, recommended)
- 1.5.0beta43.tar.gz
- 1.5.0beta43.tar.bz2
+ 1.5.0beta44.tar.xz (LZMA-compressed, recommended)
+ 1.5.0beta44.tar.gz
+ 1.5.0beta44.tar.bz2
Source files with CRLF line endings (for Windows), without the
"configure" script
- lp150b43.zip
- lp150b43.7z
+ lp150b44.zip
+ lp150b44.7z
Other information:
- 1.5.0beta43-README.txt
- 1.5.0beta43-LICENSE.txt
+ 1.5.0beta44-README.txt
+ 1.5.0beta44-LICENSE.txt
Changes since the last public release (1.4.1):
@@ -349,7 +349,7 @@
Made all API functions that have const arguments and constant string
literal pointers declare them (John Bowler).
-version 1.5.0beta43 [August 11, 2010]
+Version 1.5.0beta43 [August 20, 2010]
Removed spurious tabs, shorten long lines (no source change)
Also added scripts/chkfmt to validate the format of all the files that can
reasonably be validated (it is suggested to run "make distclean" before
@@ -362,6 +362,13 @@
in an earlier update. Fixed to declare the auto variables at the head.
Use cexcept.h in pngvalid.c.
+Version 1.5.0beta44 [August 11, 2010]
+ Updated CMakeLists.txt to use CMAKE_INSTALL_LIBDIR variable; useful for
+ installing libpng in /usr/lib64 (Funda Wang).
+ Revised CMakeLists.txt to put the man pages in share/man/man* not man/man*
+ Revised CMakeLists.txt to make symlinks instead of copies when installing.
+ Changed PNG_LIB_NAME from pngNN to libpngNN in CMakeLists.txt (Philip Lowman)
+
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 78844c7..1d1b67e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2986,7 +2986,7 @@
Made all API functions that have const arguments and constant string
literal pointers declare them (John Bowler).
-Version 1.5.0beta43 [August 11, 2010]
+Version 1.5.0beta43 [August 20, 2010]
Removed spurious tabs, shorten long lines (no source change)
Also added scripts/chkfmt to validate the format of all the files that can
reasonably be validated (it is suggested to run "make distclean" before
@@ -2999,6 +2999,13 @@
in an earlier update. Fixed to declare the auto variables at the head.
Use cexcept.h in pngvalid.c.
+Version 1.5.0beta44 [August 11, 2010]
+ Updated CMakeLists.txt to use CMAKE_INSTALL_LIBDIR variable; useful for
+ installing libpng in /usr/lib64 (Funda Wang).
+ Revised CMakeLists.txt to put the man pages in share/man/man* not man/man*
+ Revised CMakeLists.txt to make symlinks instead of copies when installing.
+ Changed PNG_LIB_NAME from pngNN to libpngNN in CMakeLists.txt (Philip Lowman)
+
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 689d165..874c8cd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -91,7 +91,7 @@
endif()
# SET LIBNAME
-set(PNG_LIB_NAME png${PNGLIB_MAJOR}${PNGLIB_MINOR})
+set(PNG_LIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR})
# to distinguish between debug and release lib
set(CMAKE_DEBUG_POSTFIX "d")
@@ -101,7 +101,7 @@
set(libpng_sources
png.h
pngconf.h
- pngpriv.h
+ pngpriv.h
png.c
pngerror.c
pngget.c
@@ -123,8 +123,14 @@
)
# SOME NEEDED DEFINITIONS
+add_definitions(-DPNG_CONFIGURE_LIBPNG)
+
+if(_AIX)
+ add_definitions(-D_ALL_SOURCE)
+endif(_AIX)
+
if(MSVC)
- add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
+ add_definitions(-DPNG_NO_MODULEDEF -D_CRT_SECURE_NO_DEPRECATE)
endif(MSVC)
if(PNG_SHARED OR NOT MSVC)
@@ -146,7 +152,7 @@
endif()
if(PNG_DEBUG)
- add_definitions(-DPNG_DEBUG=1)
+ add_definitions(-DPNG_DEBUG)
endif()
if(NOT M_LIBRARY AND NOT WIN32)
@@ -190,24 +196,36 @@
# CREATE PKGCONFIG FILES
# we use the same files like ./configure, so we have to set its vars
+if(NOT DEFINED CMAKE_INSTALL_LIBDIR)
+ set(CMAKE_INSTALL_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib)
+endif(NOT DEFINED CMAKE_INSTALL_LIBDIR)
set(prefix ${CMAKE_INSTALL_PREFIX})
set(exec_prefix ${CMAKE_INSTALL_PREFIX})
-set(libdir ${CMAKE_INSTALL_PREFIX}/lib)
+set(libdir ${CMAKE_INSTALL_LIBDIR})
set(includedir ${CMAKE_INSTALL_PREFIX}/include)
+set(LIBS "-lz -lm")
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in
- ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc)
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in
- ${CMAKE_CURRENT_BINARY_DIR}/libpng-config)
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in
- ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc)
-configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in
- ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config)
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in
+ ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc @ONLY)
+install(CODE "
+ MESSAGE(STATUS \"Symlinking ${PNGLIB_NAME}.pc to libpng.pc\")
+ execute_process(COMMAND \${CMAKE_COMMAND} -E create_symlink
+ \"${PNGLIB_NAME}.pc\"
+ \"libpng.pc\")
+")
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in
+ ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config @ONLY)
+install(CODE "
+ MESSAGE(STATUS \"Symlinking ${PNGLIB_NAME}-config to libpng-config\")
+ execute_process(COMMAND \${CMAKE_COMMAND} -E create_symlink
+ \"${PNGLIB_NAME}-config\"
+ \"libpng-config\")
+")
# SET UP LINKS
if(PNG_SHARED)
set_target_properties(${PNG_LIB_NAME} PROPERTIES
-# VERSION 15.${PNGLIB_RELEASE}.1.5.0beta43
+# VERSION 15.${PNGLIB_RELEASE}.1.5.0beta44
VERSION 15.${PNGLIB_RELEASE}.0
SOVERSION 15
CLEAN_DIRECT_OUTPUT 1)
@@ -226,13 +244,27 @@
if(PNG_SHARED)
install(TARGETS ${PNG_LIB_NAME}
RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib)
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(CODE "
+ MESSAGE(STATUS \"Symlinking ${PNGLIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} to libpng${CMAKE_SHARED_LIBRARY_SUFFIX}\")
+ execute_process(COMMAND \${CMAKE_COMMAND} -E create_symlink
+ \"${PNGLIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}\"
+ \"libpng${CMAKE_SHARED_LIBRARY_SUFFIX}\")
+ ")
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng${CMAKE_SHARED_LIBRARY_SUFFIX} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
if(PNG_STATIC)
install(TARGETS ${PNG_LIB_NAME_STATIC}
- LIBRARY DESTINATION lib
- ARCHIVE DESTINATION lib)
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(CODE "
+ MESSAGE(STATUS \"Symlinking ${PNGLIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX} to libpng${CMAKE_STATIC_LIBRARY_SUFFIX}\")
+ execute_process(COMMAND \${CMAKE_COMMAND} -E create_symlink
+ \"${PNGLIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}\"
+ \"libpng${CMAKE_STATIC_LIBRARY_SUFFIX}\")
+ ")
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng${CMAKE_STATIC_LIBRARY_SUFFIX} DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
endif()
@@ -247,16 +279,16 @@
endif()
if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
# Install man pages
- install(FILES libpng.3 libpngpf.3 DESTINATION man/man3)
- install(FILES png.5 DESTINATION man/man5)
+ install(FILES libpng.3 libpngpf.3 DESTINATION share/man/man3)
+ install(FILES png.5 DESTINATION share/man/man5)
# Install pkg-config files
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc
- DESTINATION lib/pkgconfig)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng-config
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config
DESTINATION bin)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc
- DESTINATION lib/pkgconfig)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config
DESTINATION bin)
endif()