You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
318 lines
12 KiB
318 lines
12 KiB
commit 5583ccc7a247ee27556ede344e93d3ac1dc72e9b
|
|
Author: Guido Draheim <guidod@gmx.de>
|
|
Date: Sat Apr 18 01:39:56 2020 +0200
|
|
|
|
reorganize ZZIP_OPTIONFLAGS and make install-man ON by default if UNIX
|
|
|
|
# diff --git a/GNUmakefile b/GNUmakefile
|
|
# index 3571fd1..53077b0 100644
|
|
# --- a/GNUmakefile
|
|
# +++ b/GNUmakefile
|
|
# @@ -10,10 +10,16 @@ default:
|
|
# @ test ! -f Makefile || test -f build/Makefile || echo 'DONE make all - please run make check (before make install)'
|
|
#
|
|
# .PHONY: build-am build-cm
|
|
# -build-cm: ; mkdir build-cm; cd build-cm && cmake .. -DCMAKE_INSTALL_PREFIX:PATH=$$HOME/local
|
|
# build-am: ; mkdir build-am; cd build-am && sh ../configure --prefix=$$HOME/local --enable-sdl
|
|
# -cm cmake: ; rm -rf build-cm; $(MAKE) build-cm && cd build-cm && $(MAKE) all
|
|
# +build-cm: ; mkdir build-cm; cd build-cm && cmake .. -DCMAKE_INSTALL_PREFIX:PATH=$$HOME/local
|
|
# +build-nj: ; mkdir build-nj; cd build-nj && cmake .. -DCMAKE_INSTALL_PREFIX:PATH=$$HOME/local -GNinja
|
|
# +build-nm: ; mkdir build-nj; cd build-nj && cmake .. -DCMAKE_INSTALL_PREFIX:PATH=$$HOME/local -GNmake
|
|
# am autom: ; rm -rf build-am; $(MAKE) build-am && cd build-am && $(MAKE) all
|
|
# +cm cmake: ; rm -rf build-cm; $(MAKE) build-cm && cd build-cm && $(MAKE) all
|
|
# +nj ninja: ; rm -rf build-nj; $(MAKE) build-nj && cd build-nj && ninja
|
|
# +
|
|
# +build-cm2: ; mkdir build-cm2; cd build-cm2 && cmake .. -DCMAKE_INSTALL_PREFIX:PATH=$$HOME/local -DZZIP_MANPAGES=OFF
|
|
# +cm2: ; rm -rf build-cm2; $(MAKE) build-cm2 && cd build-cm2 && $(MAKE) all
|
|
#
|
|
# new: ; rm -rf build; $(MAKE) default
|
|
#
|
|
diff --git a/SDL/CMakeLists.txt b/SDL/CMakeLists.txt
|
|
index 7ceba4a..c0d68d4 100644
|
|
--- a/SDL/CMakeLists.txt
|
|
+++ b/SDL/CMakeLists.txt
|
|
@@ -14,6 +14,15 @@ option(BUILD_STATIC_LIBS "Build the static library" OFF)
|
|
option(BUILD_TESTS "Build test programs" OFF)
|
|
option(MSVC_STATIC_RUNTIME "Build with static runtime libs (/MT)" ON)
|
|
|
|
+if(UNIX)
|
|
+option(ZZIP_LIBTOOL "Ensure binary compatibility with libtool" ON)
|
|
+option(ZZIP_PKGCONFIG "Generate pkg-config files for linking" ON)
|
|
+else()
|
|
+option(ZZIP_LIBTOOL "Ensure binary compatibility with libtool" OFF)
|
|
+option(ZZIP_PKGCONFIG "Generate pkg-config files for linking" OFF)
|
|
+endif()
|
|
+
|
|
+
|
|
# Zlib library needed
|
|
find_package ( ZLIB REQUIRED )
|
|
# pkg_search_module ( ZZIP zzip )
|
|
@@ -46,7 +55,7 @@ endif()
|
|
# pkgconfig ######################################################
|
|
|
|
if(SDL_FOUND)
|
|
-if(UNIX)
|
|
+if(ZZIP_PKGCONFIG)
|
|
join_paths(libdir "\${prefix}" "${CMAKE_INSTALL_LIBDIR}")
|
|
join_paths(includedir "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}")
|
|
join_paths(pc_zzipsdldir "\${prefix}" "${zzipsdldir}")
|
|
@@ -64,5 +73,11 @@ add_custom_target(pkgconfig-sdl ALL DEPENDS SDL_rwops_zzip.pc)
|
|
|
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/SDL_rwops_zzip.pc
|
|
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" )
|
|
-endif()
|
|
-endif()
|
|
+endif(ZZIP_PKGCONFIG)
|
|
+endif(SDL_FOUND)
|
|
+
|
|
+# messages ##################################################
|
|
+
|
|
+message(STATUS "installing SDL_rwops_zzip example headers: ${SDL_FOUND}")
|
|
+message(STATUS "installing SDL_rwops_zzip pkgconfig files: ${ZZIP_PKGCONFIG}")
|
|
+
|
|
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
|
|
index d1284e6..623da24 100644
|
|
--- a/docs/CMakeLists.txt
|
|
+++ b/docs/CMakeLists.txt
|
|
@@ -9,6 +9,14 @@ option(BUILD_SHARED_LIBS "Build a shared library" ON)
|
|
option(BUILD_STATIC_LIBS "Build the static library" OFF)
|
|
option(BUILD_TESTS "Build test programs" OFF)
|
|
option(MSVC_STATIC_RUNTIME "Build with static runtime libs (/MT)" ON)
|
|
+option(ZZIP_HTMLSITE "Generate site html pages from docs" OFF)
|
|
+option(ZZIP_HTMPAGES "Generate html manpages from sources" OFF)
|
|
+
|
|
+if(UNIX)
|
|
+option(ZZIP_MANPAGES "Generate man3 manpages from sources" ON)
|
|
+else()
|
|
+option(ZZIP_MANPAGES "Generate man3 manpages from sources" OFF)
|
|
+endif()
|
|
|
|
# Zlib library needed
|
|
find_package ( ZLIB REQUIRED )
|
|
@@ -132,14 +140,24 @@ add_custom_command(OUTPUT htmpages.tar
|
|
DEPENDS zziplib.xml zzipmmapped.xml zzipfseeko.xml
|
|
VERBATIM)
|
|
|
|
-add_custom_target(mans DEPENDS manpages)
|
|
-add_custom_target(man DEPENDS manpages)
|
|
-add_custom_target(htm DEPENDS htmpages)
|
|
add_custom_target(manpages DEPENDS manpages.tar)
|
|
add_custom_target(htmpages DEPENDS htmpages.tar)
|
|
add_custom_target(doc DEPENDS zziplib.xml zzipmmapped.xml zzipfseeko.xml site.html)
|
|
add_custom_target(docs DEPENDS doc manpages htmpages)
|
|
+add_custom_target(mans DEPENDS manpages)
|
|
+
|
|
+if(ZZIP_MANPAGES)
|
|
+add_custom_target(man ALL DEPENDS manpages)
|
|
+else()
|
|
+add_custom_target(man DEPENDS manpages)
|
|
+endif()
|
|
+if(ZZIP_HTMPAGES)
|
|
+add_custom_target(htm ALL DEPENDS htmpages)
|
|
+else()
|
|
+add_custom_target(htm DEPENDS htmpages)
|
|
+endif()
|
|
|
|
+# install ########################################################
|
|
|
|
string(REPLACE ";" " " all_bins_FILES "${bins_FILES}")
|
|
string(REPLACE ";" " " all_SDLs_FILES "${SDLs_FILES}")
|
|
@@ -168,13 +186,24 @@ add_custom_target(install-manpages
|
|
COMMAND ${BASH} -c "cd $DESTDIR${mandir} && tar xf ${outdir}/manpages.tar"
|
|
DEPENDS manpages.tar
|
|
VERBATIM)
|
|
+
|
|
add_custom_target(install-docs DEPENDS install-manpages install-htmpages install-site)
|
|
add_custom_target(install-mans DEPENDS install-manpages)
|
|
-add_custom_target(install-man DEPENDS install-manpages)
|
|
|
|
-# install ########################################################
|
|
-set(mandir ${CMAKE_INSTALL_FULL_MANDIR})
|
|
-install(CODE "execute_process(COMMAND ${BASH} -c \"set -e
|
|
- mkdir -vp $DESTDIR/${mandir} || ls -ld $DESTDIR/${mandir}
|
|
- cd $DESTDIR/${mandir} && tar xf ${CMAKE_CURRENT_BINARY_DIR}/manpages.tar
|
|
- \")")
|
|
+if(ZZIP_MANPAGES)
|
|
+add_custom_target(install-man ALL DEPENDS install-manpages)
|
|
+else()
|
|
+add_custom_target(install-man DEPENDS install-manpages)
|
|
+endif()
|
|
+
|
|
+if(ZZIP_HTMPAGES)
|
|
+add_custom_target(install-htm ALL DEPENDS install-htmpages)
|
|
+else()
|
|
+add_custom_target(install-htm DEPENDS install-htmpages)
|
|
+endif()
|
|
+
|
|
+# messages #######################################################
|
|
+
|
|
+message(STATUS "html site to be generated: ${ZZIP_HTMLSITE}" )
|
|
+message(STATUS "man pages to be generated: ${ZZIP_MANPAGES}" )
|
|
+message(STATUS "htm pages to be generated: ${ZZIP_HTMPAGES}" )
|
|
diff --git a/testbuilds/centos7-build.dockerfile b/testbuilds/centos7-build.dockerfile
|
|
index 4509b68..0b7b656 100644
|
|
--- a/testbuilds/centos7-build.dockerfile
|
|
+++ b/testbuilds/centos7-build.dockerfile
|
|
@@ -19,4 +19,4 @@ RUN mkdir src/build
|
|
RUN cd src/build && cmake3 ..
|
|
RUN cd src/build && make
|
|
RUN $no_check || (cd src/build && make check)
|
|
-RUN $no_install || (cd src/build && make install)
|
|
+RUN $no_install || (cd src/build && make install VERBOSE=1)
|
|
diff --git a/zzip/CMakeLists.txt b/zzip/CMakeLists.txt
|
|
index a9f6e3a..2f7eda5 100644
|
|
--- a/zzip/CMakeLists.txt
|
|
+++ b/zzip/CMakeLists.txt
|
|
@@ -18,8 +18,16 @@ option(BUILD_STATIC_LIBS "Build the static library" OFF)
|
|
option(MSVC_STATIC_RUNTIME "Build with static runtime libs (/MT)" ON)
|
|
option(ZZIPMMAPPED "Build libzzipmmapped (not fully portable)" ON)
|
|
option(ZZIPFSEEKO "Build libzzipfseeko (based on posix.1 api)" ON)
|
|
-option(ZZIPCOMPAT "Build compatibility with old libzzip releases" ON)
|
|
-option(ZZIPLIBTOOL "Ensure binary compatibility with libtool" ON)
|
|
+
|
|
+if(UNIX)
|
|
+option(ZZIP_COMPAT "Build compatibility with old libzzip releases" ON)
|
|
+option(ZZIP_LIBTOOL "Ensure binary compatibility with libtool" ON)
|
|
+option(ZZIP_PKGCONFIG "Generate pkg-config files for linking" ON)
|
|
+else()
|
|
+option(ZZIP_COMPAT "Build compatibility with old libzzip releases" OFF)
|
|
+option(ZZIP_LIBTOOL "Ensure binary compatibility with libtool" OFF)
|
|
+option(ZZIP_PKGCONFIG "Generate pkg-config files for linking" OFF)
|
|
+endif()
|
|
|
|
# used in zzip/_config.h
|
|
set(ZZIP_PACKAGE "${PROJECT_NAME}lib")
|
|
@@ -27,7 +35,7 @@ set(ZZIP_VERSION "${PROJECT_VERSION}")
|
|
set(ZZIP_PACKAGE_NAME "${PROJECT_NAME}lib")
|
|
set(ZZIP_PACKAGE_VERSION "${PROJECT_VERSION}")
|
|
|
|
-if(ZZIPCOMPAT)
|
|
+if(ZZIP_COMPAT)
|
|
find_package ( UnixCommands REQUIRED ) # bash cp mv rm gzip tar
|
|
endif()
|
|
|
|
@@ -193,7 +201,7 @@ set_target_properties(libzzipmmapped PROPERTIES OUTPUT_NAME "zzipmmapped" RELEAS
|
|
SET_TARGET_PROPERTIES(libzzipmmapped PROPERTIES VERSION ${VERNUM}.${FIXNUM} SOVERSION ${VERNUM})
|
|
endif()
|
|
|
|
-if(ZZIPCOMPAT)
|
|
+if(ZZIP_COMPAT)
|
|
add_custom_command(OUTPUT compat/zzip.h
|
|
COMMAND ${BASH} -c "rm -rf compat; mkdir compat"
|
|
COMMAND ${BASH} -c "echo '#ifndef ZZIP_WARNING' > compat/zzip.h"
|
|
@@ -212,9 +220,9 @@ add_custom_command(OUTPUT compat/zzip.h
|
|
BYPRODUCTS compat/zziplib.h compat/zzip-io.h
|
|
VERBATIM)
|
|
add_custom_target(compat ALL DEPENDS compat/zzip.h)
|
|
-endif()
|
|
+endif(ZZIP_COMPAT)
|
|
|
|
-if(UNIX)
|
|
+if(ZZIP_PKGCONFIG)
|
|
join_paths(libdir "\${prefix}" "${CMAKE_INSTALL_LIBDIR}")
|
|
join_paths(includedir "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}")
|
|
add_custom_command(OUTPUT zziplib.pc
|
|
@@ -235,12 +243,12 @@ add_custom_command(OUTPUT zziplib.pc
|
|
BYPRODUCTS zzipmmapped.pc zzipfseeko.pc
|
|
VERBATIM)
|
|
add_custom_target(pkgconfig ALL DEPENDS zziplib.pc)
|
|
-endif()
|
|
+endif(ZZIP_PKGCONFIG)
|
|
|
|
# install ########################################################
|
|
set(outdir ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
-if(UNIX)
|
|
+if(ZZIP_PKGCONFIG)
|
|
install(FILES ${outdir}/zziplib.pc ${outdir}/zzipmmapped.pc ${outdir}/zzipfseeko.pc
|
|
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" )
|
|
endif()
|
|
@@ -264,7 +272,7 @@ install(TARGETS libzzipmmapped
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
endif()
|
|
|
|
-if(ZZIPCOMPAT)
|
|
+if(ZZIP_COMPAT)
|
|
install(FILES ${outdir}/compat/zzip.h ${outdir}/compat/zziplib.h ${outdir}/compat/zzip-io.h
|
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
if(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG)
|
|
@@ -289,7 +297,7 @@ if(ZZIPCOMPAT)
|
|
endif()
|
|
endif()
|
|
|
|
-if(ZZIPLIBTOOL)
|
|
+if(ZZIP_LIBTOOL)
|
|
if(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG)
|
|
set(lib ${CMAKE_SHARED_LIBRARY_PREFIX})
|
|
set(dll ${CMAKE_SHARED_LIBRARY_SUFFIX})
|
|
@@ -340,4 +348,12 @@ if(ZZIPLIBTOOL)
|
|
ln -svf ${lib}${libname}${librelease}${dll}.${libversion} ${lib}${libname}${librelease}${dll}.12
|
|
\")")
|
|
endif()
|
|
-endif()
|
|
+endif(ZZIP_LIBTOOL)
|
|
+
|
|
+## messages ##############################################
|
|
+
|
|
+message(STATUS "lib zzipfseeko to be compiled: ${ZZIPFSEEKO}")
|
|
+message(STATUS "lib zzipmmapped to be compiled: ${ZZIPFSEEKO}")
|
|
+message(STATUS "lib zzip symlinks as by libtool: ${ZZIP_LIBTOOL}")
|
|
+message(STATUS "installing zzip compat headers: ${ZZIP_COMPAT}")
|
|
+message(STATUS "installing zzip pkgconfig files: ${ZZIP_PKGCONFIG}")
|
|
diff --git a/zzipwrap/CMakeLists.txt b/zzipwrap/CMakeLists.txt
|
|
index 220d93b..8ae0587 100644
|
|
--- a/zzipwrap/CMakeLists.txt
|
|
+++ b/zzipwrap/CMakeLists.txt
|
|
@@ -13,7 +13,14 @@ option(BUILD_SHARED_LIBS "Build a shared library" ON)
|
|
option(BUILD_STATIC_LIBS "Build the static library" OFF)
|
|
option(BUILD_TESTS "Build test programs" OFF)
|
|
option(MSVC_STATIC_RUNTIME "Build with static runtime libs (/MT)" ON)
|
|
-option(ZZIPLIBTOOL "Ensure binary compatibility with libtool" ON)
|
|
+
|
|
+if(UNIX)
|
|
+option(ZZIP_LIBTOOL "Ensure binary compatibility with libtool" ON)
|
|
+option(ZZIP_PKGCONFIG "Generate pkg-config files for linking" ON)
|
|
+else()
|
|
+option(ZZIP_LIBTOOL "Ensure binary compatibility with libtool" OFF)
|
|
+option(ZZIP_PKGCONFIG "Generate pkg-config files for linking" OFF)
|
|
+endif()
|
|
|
|
check_include_files ( unistd.h ZZIP_HAVE_UNISTD_H )
|
|
# set ( ZZIP_HAVE_ZLIB_H 1 )
|
|
@@ -48,7 +55,7 @@ add_executable(zzipwrap ${zzipwrap_SRCS} )
|
|
target_link_libraries(zzipwrap libzzipwrap )
|
|
target_include_directories(zzipwrap PRIVATE "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
|
|
|
|
-if(UNIX)
|
|
+if(ZZIP_PKGCONFIG)
|
|
join_paths(libdir "\${prefix}" "${CMAKE_INSTALL_LIBDIR}")
|
|
join_paths(includedir "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}")
|
|
add_custom_command(OUTPUT zzipwrap.pc
|
|
@@ -69,7 +76,7 @@ endif()
|
|
# install ########################################################
|
|
set(outdir ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
-if(UNIX)
|
|
+if(ZZIP_PKGCONFIG)
|
|
install(FILES ${outdir}/zzipwrap.pc
|
|
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" )
|
|
endif()
|
|
@@ -79,7 +86,7 @@ install(TARGETS libzzipwrap
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
|
|
-if(ZZIPLIBTOOL)
|
|
+if(ZZIP_LIBTOOL)
|
|
if(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG)
|
|
set(lib ${CMAKE_SHARED_LIBRARY_PREFIX})
|
|
set(dll ${CMAKE_SHARED_LIBRARY_SUFFIX})
|
|
@@ -95,3 +102,8 @@ if(ZZIPLIBTOOL)
|
|
\")")
|
|
endif()
|
|
endif()
|
|
+
|
|
+# messages #######################################################
|
|
+
|
|
+message(STATUS "lib zzipwrap symlinks as by libtool: ${ZZIP_LIBTOOL}")
|
|
+message(STATUS "installing zzipwrap pkgconfig files: ${ZZIP_PKGCONFIG}")
|