Fix libzip build failure due to BUILD_SHARED_LIBS collision

SQLiteCpp's option(BUILD_SHARED_LIBS OFF) sets the variable in cache,
which then leaks into libzip's build. libzip defaults to ON but sees
the cached OFF value, causing it to attempt linking against
zstd::libzstd_static which doesn't exist when only the shared library
is installed (e.g., on Arch Linux).

Fix by explicitly setting BUILD_SHARED_LIBS=ON before add_subdirectory(libzip).
This commit is contained in:
FoolHen
2026-06-08 12:28:14 +02:00
parent 03b8f52fa9
commit 1e41850bec
+2
View File
@@ -25,5 +25,7 @@ option(BUILD_REGRESS "Build regression tests" OFF)
option(BUILD_OSSFUZZ "Build fuzzers for ossfuzz" OFF) option(BUILD_OSSFUZZ "Build fuzzers for ossfuzz" OFF)
option(BUILD_EXAMPLES "Build examples" OFF) option(BUILD_EXAMPLES "Build examples" OFF)
option(BUILD_DOC "Build documentation" OFF) option(BUILD_DOC "Build documentation" OFF)
# Ensure BUILD_SHARED_LIBS is ON for libzip (SQLiteCpp may have set it OFF)
set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries (.so) instead of static ones (.a)" FORCE)
add_subdirectory("libzip") add_subdirectory("libzip")