]> granicus.if.org Git - zziplib/commitdiff
generated and install pkgconfig files
authorGuido Draheim <guidod@gmx.de>
Sun, 16 Sep 2018 12:18:39 +0000 (14:18 +0200)
committerGuido Draheim <guidod@gmx.de>
Sun, 16 Sep 2018 12:18:39 +0000 (14:18 +0200)
Makefile
zzip/CMakeLists.txt
zzipwrap/CMakeLists.txt

index 645833d32a5f99b80f385fb0b04229bca0c50501..672db9f4e6b4b1389093382dfb38e1f8175078d2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,7 @@ libzzip libzzipmmapped libzzipfseeko libzzipwrap zzipwrap:
        cd build && $(MAKE) $@ VERBOSE=1
 zzip unzzip unzzip-mix unzzip-mem unzzip-big zzdir zzcat zzcatsdl zzxorcat zzxordir zzxorcopy zzobfuscated:
        cd build && $(MAKE) $@ VERBOSE=1
-sfx zzipself zzipsetstub doc htm man htmpages manpages site dbk pdf:
+sfx zzipself zzipsetstub doc htm man htmpages manpages site dbk pdf pkgconfig:
        cd build && $(MAKE) $@ VERBOSE=1
 tests checks check:
        cd build && $(MAKE) $@ VERBOSE=1
index 8f4d41a30fa40b304453d8327fcafbe3731b4faa..71af7dc65fd2483a6069c638a05024714376cfa4 100644 (file)
@@ -211,7 +211,33 @@ add_custom_command(OUTPUT compat/zzip.h
 add_custom_target(compat ALL DEPENDS compat/zzip.h)
 endif()
 
+if(UNIX)
+add_custom_command(OUTPUT zziplib.pc
+   COMMAND ${BASH} -c "echo 'prefix=${CMAKE_INSTALL_PREFIX}' > zziplib.pc"
+   COMMAND ${BASH} -c "echo 'libdir=\${prefix}/${CMAKE_INSTALL_LIBDIR}' >> zziplib.pc"
+   COMMAND ${BASH} -c "echo 'includedir=\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}' >> zziplib.pc"
+   COMMAND ${BASH} -c "echo '' >> zziplib.pc"
+   COMMAND ${BASH} -c "echo 'Name: ${CMAKE_PROJECT_NAME}' >> zziplib.pc"
+   COMMAND ${BASH} -c "echo 'Description: ZZipLib - libZ-based ZIP-access Library with an Easy-to-Use API' >> zziplib.c"
+   COMMAND ${BASH} -c "echo 'Version: ${VERSION}' >> zziplib.pc"
+   COMMAND ${BASH} -c "echo 'Requires: zlib' >> zziplib.pc"
+   COMMAND ${BASH} -c "echo 'Libs: -L\${libdir} -lzzip' >> zziplib.pc"
+   COMMAND ${BASH} -c "echo 'Cflags: -I\${includedir}' >> zziplib.pc"
+   COMMAND ${BASH} -c "sed -e 's/-lzzip/-lzzipmmapped/' -e 's/zziplib/zzipmmapped/' zziplib.pc > zzipmmapped.pc"
+   COMMAND ${BASH} -c "sed -e 's/-lzzip/-lzzipfseeko/' -e 's/zziplib/zzipfseeko/' zziplib.pc > zzipfseeko.pc"
+   BYPRODUCTS zzipmmapped.pc zzipfseeko.pc
+   VERBATIM)
+add_custom_target(pkgconfig ALL DEPENDS zziplib.pc)
+endif()
+
 # install ########################################################
+set(outdir ${CMAKE_CURRENT_BINARY_DIR})
+
+if(UNIX)
+install(FILES ${outdir}/zziplib.pc ${outdir}/zzipmmapped.pc ${outdir}/zzipfseeko.pc
+        DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" )
+endif()
+
 install(FILES ${libzzip_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/zzip )
 install(TARGETS libzzip 
     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
index f706e344f180f9ac1024cd0a34c876dd646af4c5..3fac24a258b4d492ed27e82d79191ef2ddeb347d 100644 (file)
@@ -48,7 +48,30 @@ SET_TARGET_PROPERTIES(libzzipwrap PROPERTIES VERSION ${VERNUM}.${FIXNUM} SOVERSI
 add_executable(zzipwrap ${zzipwrap_SRCS} )
 target_link_libraries(zzipwrap libzzipwrap )
 
+if(UNIX)
+add_custom_command(OUTPUT zzipwrap.pc
+   COMMAND ${BASH} -c "echo 'prefix=${CMAKE_INSTALL_PREFIX}' > zzipwrap.pc"
+   COMMAND ${BASH} -c "echo 'libdir=\${prefix}/${CMAKE_INSTALL_LIBDIR}' >> zzipwrap.pc"
+   COMMAND ${BASH} -c "echo 'includedir=\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}' >> zzipwrap.pc"
+   COMMAND ${BASH} -c "echo '' >> zzipwrap.pc"
+   COMMAND ${BASH} -c "echo 'Name: ${PROJECT_NAME}' >> zzipwrap.pc"
+   COMMAND ${BASH} -c "echo 'Description: Callback Wrappers for ZZipLib' >> zzipwrap.c"
+   COMMAND ${BASH} -c "echo 'Version: ${VERSION}' >> zzipwrap.pc"
+   COMMAND ${BASH} -c "echo 'Requires: zziplib' >> zzipwrap.pc"
+   COMMAND ${BASH} -c "echo 'Libs: -L\${libdir} -lzzipwrap' >> zzipwrap.pc"
+   COMMAND ${BASH} -c "echo 'Cflags: -I\${includedir}' >> zzipwrap.pc"
+   VERBATIM)
+add_custom_target(pkgconfigs ALL DEPENDS zzipwrap.pc)
+endif()
+
 # install ########################################################
+set(outdir ${CMAKE_CURRENT_BINARY_DIR})
+
+if(UNIX)
+install(FILES ${outdir}/zzipwrap.pc 
+        DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" )
+endif()
+
 install(FILES ${libzzipwrap_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/zzip )
 install(TARGETS libzzipwrap
     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}