diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 247e1d03..b6aa2aa8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -155,27 +155,26 @@ set(BUILD_TESTING OFF CACHE BOOL "" FORCE) set(BUILD_STATIC_LIBS ON) set(BUILD_SHARED_LIBS OFF) -include(FetchContent) -include(dependencies/fetch-vendor.cmake) # Bundled liblzma -include(dependencies/xz.cmake) +find_package(LibLZMA 5.8.2 REQUIRED) # Bundled zstd -include(dependencies/zstd.cmake) - -# Remote nghttp2 -include(dependencies/nghttp2.cmake) +find_package(zstd 1.5.7 REQUIRED) +# zstd's config only exports imported targets, not the classic Find-module +# variables the rest of this file uses; derive them here. +set(ZSTD_LIBRARIES zstd::libzstd_shared) +get_target_property(ZSTD_INCLUDE_DIR zstd::libzstd_shared INTERFACE_INCLUDE_DIRECTORIES) # Bundled yescrypt include(dependencies/yescrypt.cmake) # Bundled zlib -include(dependencies/zlib.cmake) +find_package(ZLIB REQUIRED) # Bundled libarchive -include(dependencies/libarchive.cmake) +find_package(LibArchive 3.8.6 REQUIRED) # libcurl if(APPLE) @@ -189,12 +188,13 @@ if(APPLE) # Note: No need to find OpenSSL on macOS - we use native Security.framework # for RSA operations and CommonCrypto for hashing else() - include(dependencies/curl.cmake) + find_package(CURL 8.19.0 REQUIRED) endif() # Bundled libusb (for rpiboot Compute Module support) -include(dependencies/libusb.cmake) +find_package(PkgConfig REQUIRED) +pkg_check_modules(LIBUSB REQUIRED IMPORTED_TARGET libusb-1.0) # Add dependencies if (APPLE) @@ -540,8 +540,8 @@ else() include(linux/PlatformPackaging.cmake) endif() -add_dependencies(${PROJECT_NAME} zlibstatic yescrypt usb-1.0-static) -include_directories(${CURL_INCLUDE_DIR} ${LibArchive_INCLUDE_DIR} ${LIBLZMA_INCLUDE_DIRS} ${LIBDRM_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ${ZSTD_INCLUDE_DIR} ${YESCRYPT_INCLUDE_DIR} ${LIBUSB_INCLUDE_DIR}) +add_dependencies(${PROJECT_NAME} yescrypt) +include_directories(${CURL_INCLUDE_DIR} ${LibArchive_INCLUDE_DIR} ${LIBLZMA_INCLUDE_DIRS} ${LIBDRM_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIRS} ${ZSTD_INCLUDE_DIR} ${YESCRYPT_INCLUDE_DIR} ${LIBUSB_INCLUDE_DIRS}) # Link different Qt components based on build type # rpiboot link libraries (libusb)