rpi-imager: update to 1.9.0

This commit is contained in:
Biswapriyo Nath 2025-01-08 08:48:57 +00:00
parent e56d77c810
commit b04a01e718
5 changed files with 325 additions and 121 deletions

View File

@ -1,97 +0,0 @@
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -50,8 +50,9 @@
elseif (WIN32)
set(DEPENDENCIES acceleratedcryptographichash.cpp dependencies/mountutils/src/windows/functions.cpp dependencies/drivelist/src/windows/list.cpp
windows/winfile.cpp windows/winfile.h windows/winwlancredentials.h windows/winwlancredentials.cpp
- windows/rpi-imager.rc wlanapi_delayed.lib)
- set(EXTRALIBS setupapi ${CMAKE_CURRENT_BINARY_DIR}/wlanapi_delayed.lib)
+ windows/rpi-imager.rc)
+ set(EXTRALIBS setupapi wlanapi)
+ if(MSVC)
add_custom_command(
OUTPUT wlanapi_delayed.lib
COMMAND ${CMAKE_DLLTOOL} --input-def "${CMAKE_CURRENT_SOURCE_DIR}/windows/wlanapi.def"
@@ -59,6 +60,7 @@ elseif (WIN32)
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/windows/wlanapi.def
VERBATIM
)
+ endif(MSVC)
endif()
include_directories(BEFORE .)
@@ -171,17 +173,29 @@
find_package(OpenSSL REQUIRED)
+ find_package(ZLIB REQUIRED)
+ if(ZLIB_FOUND)
+ set(EXTRALIBS ${EXTRALIBS} ZLIB::ZLIB)
+ else()
# Bundled zlib
add_subdirectory(dependencies/zlib-1.2.13)
set(ZLIB_LIBRARY zlibstatic)
set(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/zlib-1.2.13 CACHE PATH "zlib include dir")
+ endif()
+ find_package(CURL REQUIRED)
+ if(NOT CURL_FOUND)
# Bundled libcurl
set(CMAKE_CURL_INCLUDES)
set(CURL_LIBRARIES cmcurl)
add_subdirectory(dependencies/cmcurl)
set(CURL_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/cmcurl/include)
+ endif()
+ find_package(LibLZMA REQUIRED)
+ if(LIBLZMA_FOUND)
+ set(EXTRALIBS ${EXTRALIBS} LibLZMA::LibLZMA)
+ else()
# Bundled liblzma
add_subdirectory(dependencies/cmliblzma)
set(LIBLZMA_HAS_AUTO_DECODER 1)
@@ -189,14 +203,22 @@
set(LIBLZMA_HAS_LZMA_PRESET 1)
set(LIBLZMA_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/cmliblzma/liblzma/api)
set(LIBLZMA_LIBRARY cmliblzma)
+ endif()
+ find_package(zstd REQUIRED)
+ if(zstd_FOUND)
+ set(EXTRALIBS ${EXTRALIBS} zstd::libzstd_shared)
+ else()
# Bundled zstd
set(ZSTD_BUILD_PROGRAMS OFF)
set(ZSTD_BUILD_SHARED OFF)
add_subdirectory(dependencies/zstd-1.5.4/build/cmake)
set(ZSTD_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dependencies/zstd-1.5.4/lib CACHE PATH "zstd include dir")
set(ZSTD_LIBRARY libzstd_static)
+ endif()
+ find_package(LibArchive REQUIRED)
+ if(NOT LibArchive_FOUND)
# Bundled libarchive
set(ENABLE_TEST OFF CACHE BOOL "")
set(ENABLE_TAR OFF CACHE BOOL "")
@@ -207,11 +229,13 @@
set_target_properties(archive PROPERTIES EXCLUDE_FROM_ALL 1)
set(LibArchive_LIBRARIES archive_static)
set(LibArchive_INCLUDE_DIR dependencies/libarchive-3.6.2/libarchive)
+ endif()
# Bundled fat32format
add_subdirectory(dependencies/fat32format)
add_dependencies(${PROJECT_NAME} fat32format)
+ if(MSVC)
# Strip debug symbols
add_custom_command(TARGET ${PROJECT_NAME}
POST_BUILD
@@ -271,6 +295,7 @@
"${CMAKE_BINARY_DIR}/deploy/imageformats/qtiff.dll"
"${CMAKE_BINARY_DIR}/deploy/imageformats/qwebp.dll"
"${CMAKE_BINARY_DIR}/deploy/imageformats/qgif.dll")
+ endif(MSVC)
elseif(APPLE)
find_package(ZLIB REQUIRED)

View File

@ -0,0 +1,18 @@
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -327,6 +327,7 @@
else ()
set(arch x86)
endif ()
+ if (FALSE)
#
# Now find signtool
if (NOT SIGNTOOL)
@@ -407,6 +408,7 @@
"${CMAKE_BINARY_DIR}/deploy/imageformats/qtiff.dll"
"${CMAKE_BINARY_DIR}/deploy/imageformats/qwebp.dll"
"${CMAKE_BINARY_DIR}/deploy/imageformats/qgif.dll")
+ endif()
elseif(APPLE)
find_library(Cocoa Cocoa)

View File

@ -1,10 +0,0 @@
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -3,6 +3,7 @@
* Copyright (C) 2020 Raspberry Pi Ltd
*/
+#include <iostream>
#include <QFileInfo>
#include <QGuiApplication>
#include <QQmlApplicationEngine>

View File

@ -3,7 +3,7 @@
_realname=rpi-imager
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=1.8.5
pkgver=1.9.0
pkgrel=1
pkgdesc="Raspberry Pi Imaging Utility (mingw-w64)"
arch=('any')
@ -11,6 +11,7 @@ mingw_arch=('ucrt64' 'clang64' 'clangarm64')
msys2_references=(
'archlinux: rpi-imager'
)
msys2_repository_url='https://github.com/raspberrypi/rpi-imager/'
url='https://www.raspberrypi.com/software'
license=('spdx:Apache-2.0')
depends=(
@ -19,9 +20,8 @@ depends=(
"${MINGW_PACKAGE_PREFIX}-libarchive"
"${MINGW_PACKAGE_PREFIX}-libwinpthread"
"${MINGW_PACKAGE_PREFIX}-openssl"
"${MINGW_PACKAGE_PREFIX}-qt5-base"
"${MINGW_PACKAGE_PREFIX}-qt5-declarative"
"${MINGW_PACKAGE_PREFIX}-qt5-winextras"
"${MINGW_PACKAGE_PREFIX}-qt6-base"
"${MINGW_PACKAGE_PREFIX}-qt6-declarative"
"${MINGW_PACKAGE_PREFIX}-xz"
"${MINGW_PACKAGE_PREFIX}-zlib"
"${MINGW_PACKAGE_PREFIX}-zstd"
@ -30,20 +30,19 @@ makedepends=(
"${MINGW_PACKAGE_PREFIX}-cc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-ninja"
"${MINGW_PACKAGE_PREFIX}-qt5-quickcontrols2"
"${MINGW_PACKAGE_PREFIX}-qt5-svg"
"${MINGW_PACKAGE_PREFIX}-qt5-tools"
"${MINGW_PACKAGE_PREFIX}-qt6-svg"
"${MINGW_PACKAGE_PREFIX}-qt6-tools"
"${MINGW_PACKAGE_PREFIX}-winpthreads"
)
source=(
"https://github.com/raspberrypi/rpi-imager/archive/v${pkgver}/${_realname}-${pkgver}.tar.gz"
0001-rpi-imager-cmake-disable-bundled-dependencies.patch
0002-rpi-imager-include-missing-header.patch
0001-rpi-imager-cmake-disable-bundling.patch
remove-vendoring.patch
)
noextract=("${_realname}-${pkgver}.tar.gz")
sha256sums=('443e2ca2132067cc67038c82d890f70fd744da2503588852f014435dd11fb786'
'0e4e8e2077b6eb7b1d8f3280f0ccc28c56287dfb7a104b5b25ce30b35ea07fca'
'4b8e42ea8c0da8c7bc69b737432811d3acb1e4f2ffbb44358b070bd5c155a081')
sha256sums=('ed0669b3e59c358a488ba0d23f1ffbbcb61f144ca37d6902a63276055838d694'
'4e2813a3ee7ec455b46b554ac0661f6bb4e8c885ff8a1be2b742275123042b72'
'81f969072be94494fd8938df850a3dcf71bda7b58268c45bc6b31ed3a79b0d9a')
_apply_patch_with_msg() {
for _patch in "$@"
@ -59,8 +58,12 @@ prepare() {
cd "${_realname}-${pkgver}"
_apply_patch_with_msg \
0001-rpi-imager-cmake-disable-bundled-dependencies.patch \
0002-rpi-imager-include-missing-header.patch
0001-rpi-imager-cmake-disable-bundling.patch
# https://gitlab.archlinux.org/archlinux/packaging/packages/rpi-imager/-/blob/main/remove-vendoring.patch?ref_type=heads
# with 'AND UNIX' condition removed
_apply_patch_with_msg \
remove-vendoring.patch
}
build() {
@ -78,6 +81,7 @@ build() {
"${_extra_config[@]}" \
-DENABLE_CHECK_VERSION=OFF \
-DENABLE_TELEMETRY=OFF \
-DENABLE_VENDORING=OFF \
-S "${_realname}-${pkgver}/src" \
-B "build-${MSYSTEM}"

View File

@ -0,0 +1,289 @@
From 0bd585fa0b54a2b85cea6a6768c7e1d953b24334 Mon Sep 17 00:00:00 2001
From: Dmytro Aleksandrov <alkersan@gmail.com>
Date: Sat, 14 Sep 2024 16:49:35 -0400
Subject: [PATCH] Add possibility to opt-out from using vendored dependencies
on Unix systems
This is to allow Linux distribution maintainers to keep delivering the project
using the distro-provided libs
---
src/CMakeLists.txt | 259 ++++++++++++++++++++++++---------------------
1 file changed, 138 insertions(+), 121 deletions(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 87286c17..68de7c25 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -5,6 +5,7 @@ cmake_minimum_required(VERSION 3.15)
OPTION (ENABLE_CHECK_VERSION "Check for version updates" ON)
OPTION (ENABLE_TELEMETRY "Enable sending telemetry" ON)
OPTION (DRIVELIST_FILTER_SYSTEM_DRIVES "Filter System drives from displayed drives" ON)
+OPTION (ENABLE_VENDORING "Use vendored dependencies" ON)
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64" CACHE STRING "Which macOS architectures to build for")
@@ -38,127 +39,143 @@ endif(APPLE)
# Bundled code will occasionally use identical options - eg, BUILD_TESTING.
set(BUILD_TESTING OFF)
-# Bundled liblzma
-set(XZ_MICROLZMA_DECODER OFF)
-set(XZ_MICROLZMA_ENCODER OFF)
-set(XZ_LZIP_DECODER OFF)
-set(XZ_ENABLE_SANDBOX OFF)
-set(XZ_BUILD_SHARED_LIBS OFF)
-set(XZ_ENABLE_DOXYGEN OFF)
-set(XZ_DECODERS
- lzma1
- lzma2
- delta
-)
-set(XZ_ENCODERS "")
-set(CREATE_LZMA_SYMLINKS OFF)
-set(CREATE_XZ_SYMLINKS OFF)
-add_subdirectory(dependencies/xz-5.6.2)
-set(LIBLZMA_FOUND true)
-set(LIBLZMA_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/xz-5.6.2/src/liblzma/api FORCE)
-set(LIBLZMA_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/xz-5.6.2/src/liblzma/api FORCE)
-set(LIBLZMA_LIBRARY liblzma)
-set(LIBLZMA_LIBRARIES liblzma)
-
-# Bundled zstd
-set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "" FORCE)
-set(ZSTD_BUILD_SHARED OFF CACHE BOOL "" FORCE)
-set(ZSTD_BUILD_TESTS OFF CACHE BOOL "" FORCE)
-set(ZSTD_BUILD_DICTBUILDER OFF CACHE BOOL "" FORCE)
-add_subdirectory(dependencies/zstd-1.5.6/build/cmake)
-set(Zstd_FOUND true)
-set(ZSTD_FOUND true)
-set(Zstd_VERSION "1.5.6")
-set(ZSTD_VERSION "1.5.6")
-set(Zstd_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.6/lib)
-set(ZSTD_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.6/lib)
-set(Zstd_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.6/lib)
-set(ZSTD_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.6/lib)
-set(Zstd_LIBRARIES libzstd_static)
-set(ZSTD_LIBRARIES libzstd_static)
-
-# Bundled zlib
-set(ZLIB_BUILD_EXAMPLES OFF)
-add_subdirectory(dependencies/zlib-1.3.1)
-set(ZLIB_FOUND TRUE)
-set(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/zlib-1.3.1 CACHE PATH "zlib include dir")
-set(ZLIB_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/zlib-1.3.1 CACHE PATH "zlib include dir")
-set(ZLIB_LIBRARY zlibstatic)
-set(ZLIB_LIBRARIES zlibstatic)
-
-# Bundled libarchive
-set(ARCHIVE_ENABLE_WERROR OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_INSTALL OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_TEST OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_CNG OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_MBEDTLS OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_NETTLE OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_OPENSSL OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_BZip2 OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_LZ4 OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_LZO OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_LIBB2 OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_LIBXML2 OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_EXPAT OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_PCREPOSIX OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_PCRE2POSIX OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_LIBGCC OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_TAR OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_CPIO OFF CACHE BOOL "")
-set(ARCHIVE_ENABLE_CAT OFF CACHE BOOL "")
-set(ARCHIVE_BUILD_SHARED_LIBS OFF CACHE BOOL "")
-add_subdirectory(dependencies/libarchive-3.7.4)
-set(LibArchive_FOUND true)
-set(LibArchive_LIBRARIES archive_static)
-set(LibArchive_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/libarchive-3.7.4/libarchive)
-
-# Bundled libcurl
-set(CMAKE_CURL_INCLUDES)
-set(BUILD_STATIC_CURL true)
-set(BUILD_CURL_EXE OFF CACHE BOOL "" FORCE)
-set(BUILD_LIBCURL_DOCS OFF CACHE BOOL "" FORCE)
-set(ENABLE_CURL_MANUAL OFF CACHE BOOL "" FORCE)
-set(CURL_DISABLE_ALTSVC ON)
-set(CURL_DISABLE_KERBEROS_AUTH ON)
-set(CURL_DISABLE_DICT ON)
-set(CURL_DISABLE_DISABLE_FORM_API ON)
-set(CURL_DISABLE_FTP ON)
-set(CURL_DISABLE_GOPHER ON)
-set(CURL_DISABLE_IMAP ON)
-set(CURL_DISABLE_LDAP ON)
-set(CURL_DISABLE_LDAPS ON)
-set(CURL_DISABLE_MQTT ON)
-set(CURL_DISABLE_NETRC ON)
-set(CURL_DISABLE_POP3 ON)
-set(CURL_DISABLE_RTSP ON)
-set(CURL_DISABLE_SMTP ON)
-set(CURL_DISABLE_TELNET ON)
-set(CURL_DISABLE_TFTP ON)
-set(CURL_ZSTD ON)
-set(CURL_ENABLE_EXPORT_TARGET OFF CACHE BOOL "" FORCE)
-if (APPLE)
- # TODO: SecureTransport is a deprecated API in macOS, supporting
- # only up to TLS v1.2. cURL has not implemented the replacement,
- # Network.framework, and so we will need to select an alternative.
- # Best recommendation: Libressl, as used by Apple in the curl binary
- # on macOS.
- set(CURL_USE_SECTRANSP ON)
- set(CURL_DEFAULT_SSL_BACKEND "secure-transport")
-else()
- if (WIN32)
- set(CURL_USE_SCHANNEL ON)
- set(CURL_DEFAULT_SSL_BACKEND "schannel")
- else ()
- set(CURL_USE_GNUTLS ON)
- set(CURL_DEFAULT_SSL_BACKEND "gnutls")
- endif(WIN32)
-endif(APPLE)
-
-add_subdirectory(dependencies/curl-8.8.0)
-set(CURL_FOUND true)
-set(CURL_LIBRARIES libcurl_static)
-set(CURL_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/curl-8.8.0/include)
-set(CURL_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/curl-8.8.0/include)
+if(ENABLE_VENDORING)
+ # Bundled liblzma
+ set(XZ_MICROLZMA_DECODER OFF)
+ set(XZ_MICROLZMA_ENCODER OFF)
+ set(XZ_LZIP_DECODER OFF)
+ set(XZ_ENABLE_SANDBOX OFF)
+ set(XZ_BUILD_SHARED_LIBS OFF)
+ set(XZ_ENABLE_DOXYGEN OFF)
+ set(XZ_DECODERS
+ lzma1
+ lzma2
+ delta
+ )
+ set(XZ_ENCODERS "")
+ set(CREATE_LZMA_SYMLINKS OFF)
+ set(CREATE_XZ_SYMLINKS OFF)
+ add_subdirectory(dependencies/xz-5.6.2)
+ set(LIBLZMA_FOUND true)
+ set(LIBLZMA_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/xz-5.6.2/src/liblzma/api FORCE)
+ set(LIBLZMA_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/xz-5.6.2/src/liblzma/api FORCE)
+ set(LIBLZMA_LIBRARY liblzma)
+ set(LIBLZMA_LIBRARIES liblzma)
+
+ # Bundled zstd
+ set(ZSTD_BUILD_PROGRAMS OFF CACHE BOOL "" FORCE)
+ set(ZSTD_BUILD_SHARED OFF CACHE BOOL "" FORCE)
+ set(ZSTD_BUILD_TESTS OFF CACHE BOOL "" FORCE)
+ set(ZSTD_BUILD_DICTBUILDER OFF CACHE BOOL "" FORCE)
+ add_subdirectory(dependencies/zstd-1.5.6/build/cmake)
+ set(Zstd_FOUND true)
+ set(ZSTD_FOUND true)
+ set(Zstd_VERSION "1.5.6")
+ set(ZSTD_VERSION "1.5.6")
+ set(Zstd_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.6/lib)
+ set(ZSTD_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.6/lib)
+ set(Zstd_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.6/lib)
+ set(ZSTD_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/zstd-1.5.6/lib)
+ set(Zstd_LIBRARIES libzstd_static)
+ set(ZSTD_LIBRARIES libzstd_static)
+
+ # Bundled zlib
+ set(ZLIB_BUILD_EXAMPLES OFF)
+ add_subdirectory(dependencies/zlib-1.3.1)
+ set(ZLIB_FOUND TRUE)
+ set(ZLIB_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/zlib-1.3.1 CACHE PATH "zlib include dir")
+ set(ZLIB_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/zlib-1.3.1 CACHE PATH "zlib include dir")
+ set(ZLIB_LIBRARY zlibstatic)
+ set(ZLIB_LIBRARIES zlibstatic)
+
+ # Bundled libarchive
+ set(ARCHIVE_ENABLE_WERROR OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_INSTALL OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_TEST OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_CNG OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_MBEDTLS OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_NETTLE OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_OPENSSL OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_BZip2 OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_LZ4 OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_LZO OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_LIBB2 OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_LIBXML2 OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_EXPAT OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_PCREPOSIX OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_PCRE2POSIX OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_LIBGCC OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_TAR OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_CPIO OFF CACHE BOOL "")
+ set(ARCHIVE_ENABLE_CAT OFF CACHE BOOL "")
+ set(ARCHIVE_BUILD_SHARED_LIBS OFF CACHE BOOL "")
+ add_subdirectory(dependencies/libarchive-3.7.4)
+ set(LibArchive_FOUND true)
+ set(LibArchive_LIBRARIES archive_static)
+ set(LibArchive_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/libarchive-3.7.4/libarchive)
+
+ # Bundled libcurl
+ set(CMAKE_CURL_INCLUDES)
+ set(BUILD_STATIC_CURL true)
+ set(BUILD_CURL_EXE OFF CACHE BOOL "" FORCE)
+ set(BUILD_LIBCURL_DOCS OFF CACHE BOOL "" FORCE)
+ set(ENABLE_CURL_MANUAL OFF CACHE BOOL "" FORCE)
+ set(CURL_DISABLE_ALTSVC ON)
+ set(CURL_DISABLE_KERBEROS_AUTH ON)
+ set(CURL_DISABLE_DICT ON)
+ set(CURL_DISABLE_DISABLE_FORM_API ON)
+ set(CURL_DISABLE_FTP ON)
+ set(CURL_DISABLE_GOPHER ON)
+ set(CURL_DISABLE_IMAP ON)
+ set(CURL_DISABLE_LDAP ON)
+ set(CURL_DISABLE_LDAPS ON)
+ set(CURL_DISABLE_MQTT ON)
+ set(CURL_DISABLE_NETRC ON)
+ set(CURL_DISABLE_POP3 ON)
+ set(CURL_DISABLE_RTSP ON)
+ set(CURL_DISABLE_SMTP ON)
+ set(CURL_DISABLE_TELNET ON)
+ set(CURL_DISABLE_TFTP ON)
+ set(CURL_ZSTD ON)
+ set(CURL_ENABLE_EXPORT_TARGET OFF CACHE BOOL "" FORCE)
+ if (APPLE)
+ # TODO: SecureTransport is a deprecated API in macOS, supporting
+ # only up to TLS v1.2. cURL has not implemented the replacement,
+ # Network.framework, and so we will need to select an alternative.
+ # Best recommendation: Libressl, as used by Apple in the curl binary
+ # on macOS.
+ set(CURL_USE_SECTRANSP ON)
+ set(CURL_DEFAULT_SSL_BACKEND "secure-transport")
+ else()
+ if (WIN32)
+ set(CURL_USE_SCHANNEL ON)
+ set(CURL_DEFAULT_SSL_BACKEND "schannel")
+ else ()
+ set(CURL_USE_GNUTLS ON)
+ set(CURL_DEFAULT_SSL_BACKEND "gnutls")
+ endif(WIN32)
+ endif(APPLE)
+
+ add_subdirectory(dependencies/curl-8.8.0)
+ set(CURL_FOUND true)
+ set(CURL_LIBRARIES libcurl_static)
+ set(CURL_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/dependencies/curl-8.8.0/include)
+ set(CURL_INCLUDE_DIRS ${CMAKE_CURRENT_LIST_DIR}/dependencies/curl-8.8.0/include)
+
+elseif (NOT ENABLE_VENDORING)
+ # Find the libraries that were subject to vendoring in the system instead,
+ # To keep the possibility of delivery via Linux distro packages
+ find_package(ZLIB)
+ if(ZLIB_FOUND)
+ set(EXTRALIBS ${EXTRALIBS} ZLIB::ZLIB)
+ endif()
+ find_package(LibLZMA)
+ if(LIBLZMA_FOUND)
+ set(EXTRALIBS ${EXTRALIBS} LibLZMA::LibLZMA)
+ endif()
+ find_package(CURL 7.32.0 REQUIRED)
+ find_package(LibArchive 3.7.4 REQUIRED)
+endif()
# Adding headers explicity so they are displayed in Qt Creator
set(HEADERS config.h imagewriter.h networkaccessmanagerfactory.h nan.h drivelistitem.h drivelistmodel.h drivelistmodelpollthread.h driveformatthread.h powersaveblocker.h cli.h