diff options
author | James Le Cuirot <chewi@gentoo.org> | 2022-07-07 21:52:54 +0100 |
---|---|---|
committer | Dominik Riebeling <dominik.riebeling@gmail.com> | 2022-07-11 15:00:07 -0400 |
commit | 4917f764bbb9580d9ec312794c0d7ae71c6792e1 (patch) | |
tree | 755c7c45cc253187146eac69e82a5c5442945c52 | |
parent | db2817eb1ab3d4634010a83db5c657fc8d27b5eb (diff) | |
download | rockbox-4917f764bbb9580d9ec312794c0d7ae71c6792e1.tar.gz rockbox-4917f764bbb9580d9ec312794c0d7ae71c6792e1.zip |
rbutil: Try to use system-wide QuaZIP in preference to building our own
QuaZIP is included in several major Linux distributions and packaging
policies strongly oppose bundling of libraries.
Change-Id: I8d454784dc4b244f4dd8aa18deb3350a29aaab77
-rw-r--r-- | docs/CREDITS | 1 | ||||
-rw-r--r-- | utils/rbutilqt/CMakeLists.txt | 66 | ||||
-rw-r--r-- | utils/rbutilqt/base/ziputil.cpp | 6 | ||||
-rw-r--r-- | utils/rbutilqt/base/ziputil.h | 6 |
4 files changed, 44 insertions, 35 deletions
diff --git a/docs/CREDITS b/docs/CREDITS index 6f7c23fc7e..3a6fcb83b9 100644 --- a/docs/CREDITS +++ b/docs/CREDITS | |||
@@ -710,6 +710,7 @@ Marc Aarts | |||
710 | Fabrice Bellard | 710 | Fabrice Bellard |
711 | Selami Dinçer | 711 | Selami Dinçer |
712 | Matej Golian | 712 | Matej Golian |
713 | James Le Cuirot | ||
713 | 714 | ||
714 | The libmad team | 715 | The libmad team |
715 | The wavpack team | 716 | The wavpack team |
diff --git a/utils/rbutilqt/CMakeLists.txt b/utils/rbutilqt/CMakeLists.txt index 41954cb9ee..24e15ac1b4 100644 --- a/utils/rbutilqt/CMakeLists.txt +++ b/utils/rbutilqt/CMakeLists.txt | |||
@@ -255,9 +255,44 @@ if(APPLE) | |||
255 | ${CMAKE_CURRENT_LIST_DIR}/base/ttscarbon.h) | 255 | ${CMAKE_CURRENT_LIST_DIR}/base/ttscarbon.h) |
256 | endif() | 256 | endif() |
257 | 257 | ||
258 | find_package(QuaZip-Qt${QT_VERSION_MAJOR} QUIET) | ||
259 | if(QuaZip-Qt${QT_VERSION_MAJOR}_FOUND) | ||
260 | message("-- Found QuaZip") | ||
261 | set(QUAZIP_LIBRARY QuaZip::QuaZip) | ||
262 | else() | ||
263 | message("-- QuaZip not found, building our own") | ||
264 | # TODO: Upstream has cmake support, use that instead. | ||
265 | add_library(quazip | ||
266 | ${CMAKE_CURRENT_LIST_DIR}/quazip/ioapi.h | ||
267 | ${CMAKE_CURRENT_LIST_DIR}/quazip/minizip_crypt.h | ||
268 | ${CMAKE_CURRENT_LIST_DIR}/quazip/qioapi.cpp | ||
269 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazip.cpp | ||
270 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipfile.cpp | ||
271 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipfile.h | ||
272 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipfileinfo.cpp | ||
273 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipfileinfo.h | ||
274 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazip_global.h | ||
275 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazip.h | ||
276 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipnewinfo.cpp | ||
277 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipnewinfo.h | ||
278 | ${CMAKE_CURRENT_LIST_DIR}/quazip/unzip.c | ||
279 | ${CMAKE_CURRENT_LIST_DIR}/quazip/unzip.h | ||
280 | ${CMAKE_CURRENT_LIST_DIR}/quazip/zip.c | ||
281 | ${CMAKE_CURRENT_LIST_DIR}/quazip/zip.h | ||
282 | ) | ||
283 | target_include_directories(quazip PUBLIC ${CMAKE_CURRENT_LIST_DIR}/quazip) | ||
284 | target_link_libraries(quazip z Qt${QT_VERSION_MAJOR}::Core) | ||
285 | if(QT_VERSION_MAJOR EQUAL 6) | ||
286 | target_link_libraries(quazip Qt${QT_VERSION_MAJOR}::Core5Compat) | ||
287 | endif() | ||
288 | target_compile_definitions(quazip PUBLIC QUAZIP_STATIC) | ||
289 | set_property(TARGET quazip PROPERTY AUTOMOC ON) | ||
290 | set(QUAZIP_LIBRARY quazip) | ||
291 | endif() | ||
292 | |||
258 | target_link_libraries(rbbase | 293 | target_link_libraries(rbbase |
259 | cutelogger quazip mspack bspatch rbspeex voicefont | 294 | cutelogger ${QUAZIP_LIBRARY} mspack bspatch rbspeex |
260 | sansapatcher ipodpatcher chinachippatcher | 295 | voicefont sansapatcher ipodpatcher chinachippatcher |
261 | mkamsboot mkimxboot mkmpioboot mktccboot mks5lboot | 296 | mkamsboot mkimxboot mkmpioboot mktccboot mks5lboot |
262 | Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Network) | 297 | Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Network) |
263 | target_include_directories(rbbase PUBLIC ${CMAKE_CURRENT_LIST_DIR}/base) | 298 | target_include_directories(rbbase PUBLIC ${CMAKE_CURRENT_LIST_DIR}/base) |
@@ -298,33 +333,6 @@ target_link_libraries(cutelogger PUBLIC Qt${QT_VERSION_MAJOR}::Core) | |||
298 | target_compile_definitions(cutelogger PUBLIC CUTELOGGER_STATIC) | 333 | target_compile_definitions(cutelogger PUBLIC CUTELOGGER_STATIC) |
299 | set_property(TARGET cutelogger PROPERTY AUTOMOC ON) | 334 | set_property(TARGET cutelogger PROPERTY AUTOMOC ON) |
300 | 335 | ||
301 | # TODO: Upstream has cmake support, use that instead. | ||
302 | add_library(quazip | ||
303 | ${CMAKE_CURRENT_LIST_DIR}/quazip/ioapi.h | ||
304 | ${CMAKE_CURRENT_LIST_DIR}/quazip/minizip_crypt.h | ||
305 | ${CMAKE_CURRENT_LIST_DIR}/quazip/qioapi.cpp | ||
306 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazip.cpp | ||
307 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipfile.cpp | ||
308 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipfile.h | ||
309 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipfileinfo.cpp | ||
310 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipfileinfo.h | ||
311 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazip_global.h | ||
312 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazip.h | ||
313 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipnewinfo.cpp | ||
314 | ${CMAKE_CURRENT_LIST_DIR}/quazip/quazipnewinfo.h | ||
315 | ${CMAKE_CURRENT_LIST_DIR}/quazip/unzip.c | ||
316 | ${CMAKE_CURRENT_LIST_DIR}/quazip/unzip.h | ||
317 | ${CMAKE_CURRENT_LIST_DIR}/quazip/zip.c | ||
318 | ${CMAKE_CURRENT_LIST_DIR}/quazip/zip.h | ||
319 | ) | ||
320 | target_include_directories(quazip PUBLIC ${CMAKE_CURRENT_LIST_DIR}/quazip) | ||
321 | target_link_libraries(quazip z Qt${QT_VERSION_MAJOR}::Core) | ||
322 | if(QT_VERSION_MAJOR EQUAL 6) | ||
323 | target_link_libraries(quazip Qt${QT_VERSION_MAJOR}::Core5Compat) | ||
324 | endif() | ||
325 | target_compile_definitions(quazip PUBLIC QUAZIP_STATIC) | ||
326 | set_property(TARGET quazip PROPERTY AUTOMOC ON) | ||
327 | |||
328 | add_library(mspack | 336 | add_library(mspack |
329 | #mspack/cabc.c | 337 | #mspack/cabc.c |
330 | mspack/cabd.c | 338 | mspack/cabd.c |
diff --git a/utils/rbutilqt/base/ziputil.cpp b/utils/rbutilqt/base/ziputil.cpp index e285446711..877a861253 100644 --- a/utils/rbutilqt/base/ziputil.cpp +++ b/utils/rbutilqt/base/ziputil.cpp | |||
@@ -22,9 +22,9 @@ | |||
22 | #include "progressloglevels.h" | 22 | #include "progressloglevels.h" |
23 | #include "Logger.h" | 23 | #include "Logger.h" |
24 | 24 | ||
25 | #include "quazip/quazip.h" | 25 | #include <quazip.h> |
26 | #include "quazip/quazipfile.h" | 26 | #include <quazipfile.h> |
27 | #include "quazip/quazipfileinfo.h" | 27 | #include <quazipfileinfo.h> |
28 | 28 | ||
29 | 29 | ||
30 | ZipUtil::ZipUtil(QObject* parent) : ArchiveUtil(parent) | 30 | ZipUtil::ZipUtil(QObject* parent) : ArchiveUtil(parent) |
diff --git a/utils/rbutilqt/base/ziputil.h b/utils/rbutilqt/base/ziputil.h index 73a87a820a..ea32ca42c3 100644 --- a/utils/rbutilqt/base/ziputil.h +++ b/utils/rbutilqt/base/ziputil.h | |||
@@ -21,9 +21,9 @@ | |||
21 | 21 | ||
22 | #include <QtCore> | 22 | #include <QtCore> |
23 | #include "archiveutil.h" | 23 | #include "archiveutil.h" |
24 | #include "quazip/quazip.h" | 24 | #include <quazip.h> |
25 | #include "quazip/quazipfile.h" | 25 | #include <quazipfile.h> |
26 | #include "quazip/quazipfileinfo.h" | 26 | #include <quazipfileinfo.h> |
27 | 27 | ||
28 | class ZipUtil : public ArchiveUtil | 28 | class ZipUtil : public ArchiveUtil |
29 | { | 29 | { |