quazip qt5 support (#1197484)

epel9
Rex Dieter 10 years ago
parent f15b9cbefa
commit 8cc672e4b7

@ -0,0 +1,94 @@
diff -up quazip-0.7.1/CMakeLists.txt.qt5 quazip-0.7.1/CMakeLists.txt
--- quazip-0.7.1/CMakeLists.txt.qt5 2013-11-18 11:37:54.000000000 -0600
+++ quazip-0.7.1/CMakeLists.txt 2015-04-19 17:25:59.638703934 -0500
@@ -10,10 +10,11 @@ endif()
if (Qt5Core_FOUND)
set(QTCORE_LIBRARIES ${Qt5Core_LIBRARIES})
+ set(QUAZIP_LIB_VERSION_SUFFIX 5)
# if there is no QT_ROOT, try to deduce it from Qt QtCore include
if ("${QT_ROOT}" STREQUAL "")
set(QT_ROOT ${QT_QTCORE_INCLUDE_DIR}/../..)
- endif()
+ endif()
include_directories(${Qt5Core_INCLUDE_DIRS})
macro(qt_wrap_cpp)
@@ -33,7 +34,7 @@ else()
endif()
# Use system zlib on unix and Qt ZLIB on Windows
-IF(UNIX)
+IF(UNIX OR MINGW)
find_package(ZLIB REQUIRED)
ELSE(UNIX)
SET(ZLIB_INCLUDE_DIRS "${QT_ROOT}/src/3rdparty/zlib" CACHE STRING "Path to ZLIB headers of Qt")
@@ -48,7 +49,9 @@ SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_D
set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
set(LIB_DESTINATION "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE STRING "Library directory name" FORCE)
+set(QUAZIP_LIB_TARGET_NAME quazip${QUAZIP_LIB_VERSION_SUFFIX} CACHE
+ INTERNAL "Target name of libquazip" FORCE)
add_subdirectory(quazip)
-install(FILES FindQuaZip.cmake DESTINATION ${CMAKE_ROOT}/Modules)
+install(FILES FindQuaZip.cmake RENAME FindQuaZip${QUAZIP_LIB_VERSION_SUFFIX}.cmake DESTINATION ${CMAKE_ROOT}/Modules)
diff -up quazip-0.7.1/FindQuaZip.cmake.qt5 quazip-0.7.1/FindQuaZip.cmake
--- quazip-0.7.1/FindQuaZip.cmake.qt5 2012-02-26 00:46:10.000000000 -0600
+++ quazip-0.7.1/FindQuaZip.cmake 2015-04-19 17:25:59.638703934 -0500
@@ -9,14 +9,17 @@ IF (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRA
# in cache already
SET(QUAZIP_FOUND TRUE)
ELSE (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIBRARIES)
+ IF (Qt5Core_FOUND)
+ set(QUAZIP_LIB_VERSION_SUFFIX 5)
+ ENDIF()
IF (WIN32)
FIND_PATH(QUAZIP_LIBRARY_DIR
WIN32_DEBUG_POSTFIX d
- NAMES libquazip.dll
+ NAMES libquazip${QUAZIP_LIB_VERSION_SUFFIX}.dll
HINTS "C:/Programme/" "C:/Program Files"
PATH_SUFFIXES QuaZip/lib
)
- FIND_LIBRARY(QUAZIP_LIBRARIES NAMES libquazip.dll HINTS ${QUAZIP_LIBRARY_DIR})
+ FIND_LIBRARY(QUAZIP_LIBRARIES NAMES libquazip${QUAZIP_LIB_VERSION_SUFFIX}.dll HINTS ${QUAZIP_LIBRARY_DIR})
FIND_PATH(QUAZIP_INCLUDE_DIR NAMES quazip.h HINTS ${QUAZIP_LIBRARY_DIR}/../ PATH_SUFFIXES include/quazip)
FIND_PATH(QUAZIP_ZLIB_INCLUDE_DIR NAMES zlib.h)
ELSE(WIN32)
@@ -25,12 +28,12 @@ ELSE (QUAZIP_INCLUDE_DIRS AND QUAZIP_LIB
pkg_check_modules(PC_QUAZIP quazip)
FIND_LIBRARY(QUAZIP_LIBRARIES
WIN32_DEBUG_POSTFIX d
- NAMES quazip
+ NAMES quazip${QUAZIP_LIB_VERSION_SUFFIX}
HINTS /usr/lib /usr/lib64
)
FIND_PATH(QUAZIP_INCLUDE_DIR quazip.h
HINTS /usr/include /usr/local/include
- PATH_SUFFIXES quazip
+ PATH_SUFFIXES quazip${QUAZIP_LIB_VERSION_SUFFIX}
)
FIND_PATH(QUAZIP_ZLIB_INCLUDE_DIR zlib.h HINTS /usr/include /usr/local/include)
ENDIF (WIN32)
diff -up quazip-0.7.1/quazip/CMakeLists.txt.qt5 quazip-0.7.1/quazip/CMakeLists.txt
--- quazip-0.7.1/quazip/CMakeLists.txt.qt5 2013-08-10 11:00:00.000000000 -0500
+++ quazip-0.7.1/quazip/CMakeLists.txt 2015-04-19 17:29:26.600686574 -0500
@@ -14,10 +14,11 @@ ADD_DEFINITIONS(-DQUAZIP_BUILD)
qt_wrap_cpp(MOC_SRCS ${PUBLIC_HEADERS})
set(SRCS ${SRCS} ${MOC_SRCS})
-add_library(quazip SHARED ${SRCS})
-set_target_properties(quazip PROPERTIES VERSION 1.0.0 SOVERSION 1)
+add_library(${QUAZIP_LIB_TARGET_NAME} SHARED ${SRCS})
+
+set_target_properties(${QUAZIP_LIB_TARGET_NAME} PROPERTIES VERSION 1.0.0 SOVERSION 1 DEBUG_POSTFIX d)
# Link against ZLIB_LIBRARIES if needed (on Windows this variable is empty)
-target_link_libraries(quazip ${QT_QTMAIN_LIBRARY} ${QT_QTCORE_LIBRARY} ${ZLIB_LIBRARIES})
+target_link_libraries(${QUAZIP_LIB_TARGET_NAME} ${QT_QTMAIN_LIBRARY} ${QTCORE_LIBRARIES} ${ZLIB_LIBRARIES})
-install(FILES ${PUBLIC_HEADERS} DESTINATION include/quazip)
-install(TARGETS quazip LIBRARY DESTINATION ${LIB_DESTINATION} ARCHIVE DESTINATION ${LIB_DESTINATION} RUNTIME DESTINATION ${LIB_DESTINATION})
+install(FILES ${PUBLIC_HEADERS} DESTINATION include/quazip${QUAZIP_LIB_VERSION_SUFFIX})
+install(TARGETS ${QUAZIP_LIB_TARGET_NAME} LIBRARY DESTINATION ${LIB_DESTINATION} ARCHIVE DESTINATION ${LIB_DESTINATION} RUNTIME DESTINATION ${LIB_DESTINATION})

@ -1,13 +1,21 @@
Name: quazip
Version: 0.7.1
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Qt/C++ wrapper for the minizip library
License: GPLv2+ or LGPLv2+
URL: http://quazip.sourceforge.net/
Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
BuildRequires: cmake
BuildRequires: qt4-devel
BuildRequires: qt5-qtbase-devel
BuildRequires: doxygen graphviz
# Combine upstream qt5 parallel-installable commits and some other fixes
# and omit support for quazip_static (it's broken)
#http://sourceforge.net/p/quazip/code/254/
#http://sourceforge.net/p/quazip/code/257/
Patch1: quazip-0.7.1-qt5.patch
%description
QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that
can be used to access ZIP archives. It uses Trolltech's Qt toolkit.
@ -29,19 +37,47 @@ Requires: qt4-devel%{?_isa}
The %{name}-devel package contains libraries, header files and documentation
for developing applications that use %{name}.
%package qt5
Summary: Qt5 wrapper for the minizip library
%description qt5
QuaZIP is a simple C++ wrapper over Gilles Vollant's ZIP/UNZIP package that
can be used to access ZIP archives. It uses Trolltech's Qt toolkit.
QuaZIP allows you to access files inside ZIP archives using QIODevice API,
and - yes! - that means that you can also use QTextStream, QDataStream or
whatever you would like to use on your zipped files.
QuaZIP provides complete abstraction of the ZIP/UNZIP API, for both reading
from and writing to ZIP archives.
%package qt5-devel
Summary: Development files for %{name}
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
Requires: qt5-qtbase-devel%{?_isa}
%description qt5-devel
The %{name}-devel package contains libraries, header files and documentation
for developing applications that use %{name}.
%prep
%setup -q
%patch1 -p1 -b .qt5
# Fixes build and install
sed -i 's\PREFIX/lib\PREFIX/%{_lib}\' %{name}/%{name}.pro
%build
mkdir build-qt4
pushd build-qt4
%cmake .. -DBUILD_WITH_QT4:BOOL=ON
make %{?_smp_mflags}
popd
%build
export PATH=%{_qt4_bindir}:$PATH
%{_qt4_qmake} PREFIX=%{_prefix}
#do not build in parallel - there are race conditions in
#qmake-generated makefiles
make
mkdir build-qt5
pushd build-qt5
%cmake .. -DBUILD_WITH_QT4:BOOL=OFF
make %{?_smp_mflags}
popd
doxygen Doxyfile
for file in doc/html/*; do
@ -49,7 +85,8 @@ for file in doc/html/*; do
done
%install
make INSTALL="install -p" INSTALL_ROOT=%{buildroot} install
make install/fast DESTDIR=%{buildroot} -C build-qt5
make install/fast DESTDIR=%{buildroot} -C build-qt4
%post -p /sbin/ldconfig
@ -57,14 +94,29 @@ make INSTALL="install -p" INSTALL_ROOT=%{buildroot} install
%files
%doc COPYING NEWS.txt README.txt
%{_libdir}/*.so.*
%{_libdir}/libquazip.so.1*
%files devel
%doc doc/html
%{_includedir}/%{name}
%{_libdir}/*.so
%{_includedir}/quazip/
%{_libdir}/libquazip.so
%{_datadir}/cmake/Modules/FindQuaZip.cmake
%files qt5
%doc COPYING NEWS.txt README.txt
%{_libdir}/libquazip5.so.1*
%files qt5-devel
%doc doc/html
%{_includedir}/quazip5/
%{_libdir}/libquazip5.so
%{_datadir}/cmake/Modules/FindQuaZip5.cmake
%changelog
* Sun Apr 19 2015 Rex Dieter <rdieter@fedoraproject.org> 0.7.1-2
- quazip qt5 support (#1197484)
* Thu Jan 08 2015 Nicolas Chauvet <kwizart@gmail.com> - 0.7.1-1
- Update to 0.7.1

Loading…
Cancel
Save