This is an automated email from the ASF dual-hosted git repository.

martinzink pushed a commit to branch test_on_apache_mzink
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit e22e8555fac819fc660a4d75e9327d6fa8d0d2ad
Author: Gabor Gyimesi <[email protected]>
AuthorDate: Wed Jun 25 13:04:07 2025 +0200

    add clang20 support
---
 .clang-tidy                                        |  57 +++++++++-
 .github/workflows/ci.yml                           |  18 +--
 cmake/Abseil.cmake                                 |   1 +
 cmake/ArgParse.cmake                               |   1 +
 cmake/Asio.cmake                                   |   3 +-
 cmake/AzureSdkCpp.cmake                            |  58 ++++++++++
 cmake/BundledAwsSdkCpp.cmake                       |   4 +-
 cmake/BundledAzureSdkCpp.cmake                     | 125 ---------------------
 cmake/BundledOpen62541.cmake                       |   3 +-
 cmake/Bustache.cmake                               |   7 +-
 cmake/Catch2.cmake                                 |   1 +
 cmake/CivetWeb.cmake                               |   1 +
 cmake/Couchbase.cmake                              |   5 +-
 cmake/Crc32c.cmake                                 |   1 +
 cmake/Date.cmake                                   |   2 +
 cmake/ExpectedLite.cmake                           |   1 +
 cmake/FetchBenchmark.cmake                         |   1 +
 cmake/FetchUvc.cmake                               |   1 +
 cmake/Fetchlibrdkafka.cmake                        |   1 +
 cmake/GoogleCloudCpp.cmake                         |   8 +-
 cmake/Grpc.cmake                                   |   1 +
 cmake/GslLite.cmake                                |   1 +
 cmake/JoltTests.cmake                              |   1 +
 cmake/JsonSchemaValidator.cmake                    |   3 +-
 cmake/KubernetesClientC.cmake                      |   3 +
 cmake/LZ4.cmake                                    |   1 +
 cmake/LibLZMA.cmake                                |   3 +-
 cmake/LlamaCpp.cmake                               |   1 +
 cmake/Lua.cmake                                    |   1 +
 cmake/MagicEnum.cmake                              |   3 +-
 cmake/MiMalloc.cmake                               |   1 +
 cmake/PahoMqttC.cmake                              |   1 +
 cmake/Prometheus.cmake                             |   1 +
 cmake/RangeV3.cmake                                |   6 +
 cmake/RpMalloc.cmake                               |   1 +
 cmake/Sol2.cmake                                   |  36 ++----
 cmake/Spdlog.cmake                                 |   7 +-
 cmake/Zstd.cmake                                   |   1 +
 cmake/fmt.cmake                                    |   5 +-
 extensions/azure/CMakeLists.txt                    |   5 +-
 extensions/expression-language/CMakeLists.txt      |   1 +
 extensions/gcp/CMakeLists.txt                      |   3 +
 extensions/gcp/tests/CMakeLists.txt                |   8 +-
 .../src/core/flow/StructuredConfiguration.cpp      |   2 +-
 minifi-api/include/minifi-cpp/utils/Literals.h     |  20 ++--
 range-v3                                           |   1 +
 run_clang_tidy.sh                                  |   2 +-
 .../fix-deprecated-literal-operator.patch          |  31 +++++
 thirdparty/azure-sdk-cpp/gcc13.patch               |  44 --------
 thirdparty/azure-sdk-cpp/remove-amqp.patch         |  32 +++++-
 thirdparty/azure-sdk-cpp/wil.patch                 |  12 ++
 .../bustache/fix-deprecated-literal-operator.patch |  19 ++++
 thirdparty/couchbase/remove-thirdparty.patch       | 123 +++++++++++++++-----
 thirdparty/ranges-v3/remove-deprecated.patch       |  27 +++++
 54 files changed, 432 insertions(+), 274 deletions(-)

diff --git a/.clang-tidy b/.clang-tidy
index de57fee56..f3d287289 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -202,5 +202,60 @@ Checks: >
   google-readability-todo,
   google-runtime-int,
   google-runtime-operator,
-  google-upgrade-googletest-case
+  google-upgrade-googletest-case,
+  bugprone-capturing-this-in-member-variable,
+  bugprone-casting-through-void,
+  bugprone-compare-pointer-to-member-virtual-function,
+  bugprone-crtp-constructor-accessibility,
+  bugprone-inc-dec-in-conditions,
+  bugprone-incorrect-enable-if,
+  bugprone-incorrect-enable-shared-from-this,
+  bugprone-misleading-setter-of-reference,
+  bugprone-multi-level-implicit-pointer-conversion,
+  bugprone-multiple-new-in-one-expression,
+  bugprone-narrowing-conversions,
+  bugprone-non-zero-enum-to-bool-conversion,
+  bugprone-nondeterministic-pointer-iteration-order,
+  bugprone-optional-value-conversion,
+  bugprone-pointer-arithmetic-on-polymorphic-object,
+  bugprone-return-const-ref-from-parameter,
+  bugprone-suspicious-stringview-data-usage,
+  bugprone-switch-missing-default-case,
+  bugprone-tagged-union-member-count,
+  bugprone-unintended-char-ostream-output,
+  bugprone-unique-ptr-array-mismatch,
+  bugprone-unsafe-functions,
+  bugprone-unused-local-non-trivial-variable,
+  cppcoreguidelines-avoid-capturing-lambda-coroutines,
+  cppcoreguidelines-misleading-capture-default-by-value,
+  cppcoreguidelines-missing-std-forward,
+  cppcoreguidelines-no-suspend-with-lock,
+  cppcoreguidelines-use-enum-class,
+  hicpp-ignored-remove-result,
+  misc-coroutine-hostile-raii,
+  misc-header-include-cycle,
+  modernize-min-max-use-initializer-list,
+  modernize-type-traits,
+  modernize-use-constraints,
+  modernize-use-integer-sign-comparison,
+  modernize-use-scoped-lock,
+  modernize-use-starts-ends-with,
+  modernize-use-std-format,
+  modernize-use-std-numbers,
+  modernize-use-std-print,
+  performance-noexcept-destructor,
+  performance-noexcept-swap,
+  portability-avoid-pragma-once,
+  portability-template-virtual-member-function,
+  readability-ambiguous-smartptr-reset-call,
+  readability-avoid-nested-conditional-operator,
+  readability-avoid-return-with-void-value,
+  readability-avoid-unconditional-preprocessor-if,
+  readability-enum-initial-value,
+  readability-math-missing-parentheses,
+  readability-operators-representation,
+  readability-redundant-casting,
+  readability-redundant-inline-specifier,
+  readability-reference-to-constructed-temporary,
+  readability-use-std-min-max
 FormatStyle: 'file'
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 7ccc4ccd4..17a415a73 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -285,10 +285,10 @@ jobs:
           wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key 
add -
           echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy main" | 
sudo tee -a /etc/apt/sources.list
           echo "deb-src http://apt.llvm.org/jammy/ llvm-toolchain-jammy main" 
| sudo tee -a /etc/apt/sources.list
-          echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 main" | 
sudo tee -a /etc/apt/sources.list
-          echo "deb-src http://apt.llvm.org/jammy/ llvm-toolchain-jammy-16 
main" | sudo tee -a /etc/apt/sources.list
+          echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-20 main" | 
sudo tee -a /etc/apt/sources.list
+          echo "deb-src http://apt.llvm.org/jammy/ llvm-toolchain-jammy-20 
main" | sudo tee -a /etc/apt/sources.list
           sudo apt update
-          sudo apt install -y ccache libfl-dev clang-16 clang-tidy-16 
libc++-16-dev libc++abi-16-dev libc++1-16 libc++abi1-16 libunwind-16 
libsqliteodbc parallel
+          sudo apt install -y ccache libfl-dev clang-20 clang-tidy-20 
libc++-20-dev libc++abi-20-dev libc++1-20 libc++abi1-20 libunwind-20 
libsqliteodbc parallel
           echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
           echo -e "127.0.0.1\t$HOSTNAME" | sudo tee -a /etc/hosts > /dev/null
       - id: free_disk_space
@@ -303,8 +303,8 @@ jobs:
           sudo rm -rf "$AGENT_TOOLSDIRECTORY"
       - name: build
         run: |
-          export CC=clang-16
-          export CXX=clang++-16
+          export CC=clang-20
+          export CXX=clang++-20
           export CXXFLAGS="-stdlib=libc++"
           export LDFLAGS="-stdlib=libc++"
           python3 -m venv venv && source venv/bin/activate \
@@ -344,10 +344,10 @@ jobs:
       - name: clang-tidy
         run: |
           # 
https://stackoverflow.com/questions/58466701/clang-tidy-cant-locate-stdlib-headers
-          sed -i -e 
's/\/usr\/lib\/ccache\/clang++-16/\/lib\/llvm-16\/bin\/clang++/g' 
build/compile_commands.json
-          sed -i -e 
's/\/usr\/lib\/ccache\/clang-16/\/lib\/llvm-16\/bin\/clang/g' 
build/compile_commands.json
-          sed -i -e 's/\/usr\/lib\/ccache\/c++/\/lib\/llvm-16\/bin\/clang++/g' 
build/compile_commands.json
-          sed -i -e 's/\/usr\/lib\/ccache\/cc/\/lib\/llvm-16\/bin\/clang/g' 
build/compile_commands.json
+          sed -i -e 
's/\/usr\/lib\/ccache\/clang++-20/\/lib\/llvm-20\/bin\/clang++/g' 
build/compile_commands.json
+          sed -i -e 
's/\/usr\/lib\/ccache\/clang-20/\/lib\/llvm-20\/bin\/clang/g' 
build/compile_commands.json
+          sed -i -e 's/\/usr\/lib\/ccache\/c++/\/lib\/llvm-20\/bin\/clang++/g' 
build/compile_commands.json
+          sed -i -e 's/\/usr\/lib\/ccache\/cc/\/lib\/llvm-20\/bin\/clang/g' 
build/compile_commands.json
 
           parallel -j$(( $(nproc) + 1 )) ./run_clang_tidy.sh ::: 
${{steps.list-changed-cpp-files.outputs.files}}
       - name: check-cores
diff --git a/cmake/Abseil.cmake b/cmake/Abseil.cmake
index cfa4a8b1b..9ed541e3a 100644
--- a/cmake/Abseil.cmake
+++ b/cmake/Abseil.cmake
@@ -32,5 +32,6 @@ FetchContent_Declare(
         URL_HASH 
SHA256=f50e5ac311a81382da7fa75b97310e4b9006474f9560ac46f54a9967f07d4ae3
         PATCH_COMMAND "${PC}"
         OVERRIDE_FIND_PACKAGE
+        SYSTEM
 )
 FetchContent_MakeAvailable(absl)
diff --git a/cmake/ArgParse.cmake b/cmake/ArgParse.cmake
index 29251ceb9..6af3bdbe1 100644
--- a/cmake/ArgParse.cmake
+++ b/cmake/ArgParse.cmake
@@ -20,5 +20,6 @@ FetchContent_Declare(
     argparse
     URL https://github.com/p-ranav/argparse/archive/refs/tags/v3.0.tar.gz
     URL_HASH 
SHA256=ba7b465759bb01069d57302855eaf4d1f7d677f21ad7b0b00b92939645c30f47
+    SYSTEM
 )
 FetchContent_MakeAvailable(argparse)
diff --git a/cmake/Asio.cmake b/cmake/Asio.cmake
index 05f45867d..4c351dc8b 100644
--- a/cmake/Asio.cmake
+++ b/cmake/Asio.cmake
@@ -19,7 +19,8 @@ include(FetchContent)
 
 FetchContent_Declare(asio
         URL 
https://github.com/chriskohlhoff/asio/archive/refs/tags/asio-1-34-2.tar.gz
-        URL_HASH 
SHA256=f3bac015305fbb700545bd2959fbc52d75a1ec2e05f9c7f695801273ceb78cf5)
+        URL_HASH 
SHA256=f3bac015305fbb700545bd2959fbc52d75a1ec2e05f9c7f695801273ceb78cf5
+        SYSTEM)
 
 FetchContent_GetProperties(asio)
 if(NOT asio_POPULATED)
diff --git a/cmake/AzureSdkCpp.cmake b/cmake/AzureSdkCpp.cmake
new file mode 100644
index 000000000..f0af33747
--- /dev/null
+++ b/cmake/AzureSdkCpp.cmake
@@ -0,0 +1,58 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+include(FetchContent)
+
+if (WIN32)
+    include(FetchContent)
+
+    set(WIL_BUILD_TESTS OFF CACHE INTERNAL "")
+    set(WIL_BUILD_PACKAGING OFF CACHE INTERNAL "")
+
+    FetchContent_Declare(
+            wil
+            URL      
https://github.com/microsoft/wil/archive/refs/tags/v1.0.250325.1.tar.gz
+            URL_HASH 
SHA256=c9e667d5f86ded43d17b5669d243e95ca7b437e3a167c170805ffd4aa8a9a786
+            SYSTEM
+    )
+    FetchContent_MakeAvailable(wil)
+endif()
+
+set(WARNINGS_AS_ERRORS OFF CACHE INTERNAL "")
+set(DISABLE_AZURE_CORE_OPENTELEMETRY ON CACHE INTERNAL "")
+set(BUILD_TRANSPORT_CURL ON CACHE INTERNAL "")
+set(BUILD_TESTING OFF CACHE INTERNAL "")
+set(BUILD_SAMPLES OFF CACHE INTERNAL "")
+
+set(PATCH_FILE_1 
"${CMAKE_SOURCE_DIR}/thirdparty/azure-sdk-cpp/remove-amqp.patch")
+set(PATCH_FILE_2 "${CMAKE_SOURCE_DIR}/thirdparty/azure-sdk-cpp/wil.patch")
+
+set(PC ${Bash_EXECUTABLE}  -c "set -x &&\
+        (\\\"${Patch_EXECUTABLE}\\\" -p1 -R -s -f --dry-run -i 
\\\"${PATCH_FILE_1}\\\" || \\\"${Patch_EXECUTABLE}\\\" -p1 -N -i 
\\\"${PATCH_FILE_1}\\\") &&\
+        (\\\"${Patch_EXECUTABLE}\\\" -p1 -R -s -f --dry-run -i 
\\\"${PATCH_FILE_2}\\\" || \\\"${Patch_EXECUTABLE}\\\" -p1 -N -i 
\\\"${PATCH_FILE_2}\\\")")
+
+FetchContent_Declare(asdkext
+    URL      
https://github.com/Azure/azure-sdk-for-cpp/archive/refs/tags/azure-storage-files-datalake_12.12.0.tar.gz
+    URL_HASH 
SHA256=b25d85a85b71d6a14b0321b3bfaeeb558ba4515c5ecf7a89c9696fdc8b4a6183
+    PATCH_COMMAND "${PC}"
+    SYSTEM
+)
+
+if (WIN32)
+    add_compile_definitions(CURL_STATICLIB)
+endif()
+
+FetchContent_MakeAvailable(asdkext)
diff --git a/cmake/BundledAwsSdkCpp.cmake b/cmake/BundledAwsSdkCpp.cmake
index 672f73d7b..818c4cb19 100644
--- a/cmake/BundledAwsSdkCpp.cmake
+++ b/cmake/BundledAwsSdkCpp.cmake
@@ -20,11 +20,13 @@ function(use_bundled_libaws SOURCE_DIR BINARY_DIR)
     set(PATCH_FILE2 "${SOURCE_DIR}/thirdparty/aws-sdk-cpp/shutdown-fix.patch")
     set(PATCH_FILE3 
"${SOURCE_DIR}/thirdparty/aws-sdk-cpp/bundle-openssl.patch")
     set(PATCH_FILE4 
"${SOURCE_DIR}/thirdparty/aws-sdk-cpp/fix-finding-s2n.patch")
+    set(PATCH_FILE5 
"${SOURCE_DIR}/thirdparty/aws-sdk-cpp/fix-deprecated-literal-operator.patch")
     set(AWS_SDK_CPP_PATCH_COMMAND ${Bash_EXECUTABLE} -c "set -x &&\
             (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i 
\"${PATCH_FILE1}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE1}\") &&\
             (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i 
\"${PATCH_FILE2}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE2}\") &&\
             (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i 
\"${PATCH_FILE3}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE3}\") &&\
-            (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i 
\"${PATCH_FILE4}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE4}\") ")
+            (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i 
\"${PATCH_FILE4}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE4}\") &&\
+            (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i 
\"${PATCH_FILE5}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE5}\") ")
 
     if (WIN32)
         set(LIBDIR "lib")
diff --git a/cmake/BundledAzureSdkCpp.cmake b/cmake/BundledAzureSdkCpp.cmake
deleted file mode 100644
index 3294ac636..000000000
--- a/cmake/BundledAzureSdkCpp.cmake
+++ /dev/null
@@ -1,125 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-function(use_bundled_libazure SOURCE_DIR BINARY_DIR)
-    set(PATCH_FILE1 "${SOURCE_DIR}/thirdparty/azure-sdk-cpp/remove-amqp.patch")
-    set(PATCH_FILE2 "${SOURCE_DIR}/thirdparty/azure-sdk-cpp/gcc13.patch")
-    set(PC ${Bash_EXECUTABLE} -c "set -x && \
-            (\"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE}\")")
-    set(PC ${Bash_EXECUTABLE} -c "set -x &&\
-            (\"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE1}\") &&\
-            (\"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE2}\") ")
-    # Define byproducts
-    set(INSTALL_DIR "${BINARY_DIR}/thirdparty/azure-sdk-cpp-install")
-    if (WIN32)
-        set(LIBDIR "lib")
-    else()
-        include(GNUInstallDirs)
-        string(REPLACE "/" ";" LIBDIR_LIST ${CMAKE_INSTALL_LIBDIR})
-        list(GET LIBDIR_LIST 0 LIBDIR)
-    endif()
-    if (WIN32)
-        set(SUFFIX "lib")
-        set(PREFIX "")
-        set(AZURE_CORE_LIB 
"${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-core.${SUFFIX}")
-        set(AZURE_STORAGE_COMMON_LIB 
"${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-storage-common.${SUFFIX}")
-        set(AZURE_STORAGE_BLOBS_LIB 
"${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-storage-blobs.${SUFFIX}")
-        set(AZURE_IDENTITY_LIB 
"${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-identity.${SUFFIX}")
-        set(AZURE_STORAGE_FILES_DATALAKE_LIB 
"${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-storage-files-datalake.${SUFFIX}")
-    else()
-        set(SUFFIX "a")
-        set(PREFIX "lib")
-        set(AZURE_CORE_LIB 
"${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-core.${SUFFIX}")
-        set(AZURE_STORAGE_COMMON_LIB 
"${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-storage-common.${SUFFIX}")
-        set(AZURE_STORAGE_BLOBS_LIB 
"${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-storage-blobs.${SUFFIX}")
-        set(AZURE_IDENTITY_LIB 
"${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-identity.${SUFFIX}")
-        set(AZURE_STORAGE_FILES_DATALAKE_LIB 
"${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-storage-files-datalake.${SUFFIX}")
-    endif()
-
-    set(AZURESDK_LIBRARIES_LIST
-            "${AZURE_CORE_LIB}"
-            "${AZURE_STORAGE_COMMON_LIB}"
-            "${AZURE_STORAGE_BLOBS_LIB}"
-            "${AZURE_IDENTITY_LIB}"
-            "${AZURE_STORAGE_FILES_DATALAKE_LIB}")
-
-    set(AZURE_SDK_CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS}
-        -DWARNINGS_AS_ERRORS=OFF
-        -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR}
-        -DDISABLE_AZURE_CORE_OPENTELEMETRY=ON
-        -DBUILD_TRANSPORT_CURL=ON)
-    append_third_party_passthrough_args(AZURE_SDK_CMAKE_ARGS 
"${AZURE_SDK_CMAKE_ARGS}")
-
-    # Build project
-    ExternalProject_Add(
-            asdkext  # short for azure-sdk-cpp-external due to windows 
MAX_PATH limitations
-            URL 
https://github.com/Azure/azure-sdk-for-cpp/archive/refs/tags/azure-storage-files-datalake_12.7.0.tar.gz
-            URL_HASH 
"SHA256=42b9c1df0c15d9e0a3f547eeba8c45708aa86819986da66234e267f4ad728112"
-            SOURCE_DIR "${BINARY_DIR}/thirdparty/azure-sdk-cpp-src"
-            INSTALL_DIR "${BINARY_DIR}/thirdparty/azure-sdk-cpp-install"
-            BUILD_BYPRODUCTS "${AZURESDK_LIBRARIES_LIST}"
-            EXCLUDE_FROM_ALL TRUE
-            CMAKE_ARGS ${AZURE_SDK_CMAKE_ARGS}
-            LIST_SEPARATOR % # This is needed for passing semicolon-separated 
lists
-            PATCH_COMMAND ${PC}
-            DOWNLOAD_NO_PROGRESS TRUE
-            TLS_VERIFY TRUE
-    )
-
-    # Set dependencies
-    add_dependencies(asdkext CURL::libcurl LibXml2::LibXml2 OpenSSL::Crypto 
OpenSSL::SSL)
-
-    # Set variables
-    set(LIBAZURE_FOUND "YES" CACHE STRING "" FORCE)
-    set(LIBAZURE_INCLUDE_DIRS "${INSTALL_DIR}/include" CACHE STRING "" FORCE)
-    set(LIBAZURE_LIBRARIES ${AZURESDK_LIBRARIES_LIST} CACHE STRING "" FORCE)
-
-    # Create imported targets
-    FOREACH(LIBAZURE_INCLUDE_DIR ${LIBAZURE_INCLUDE_DIRS})
-        file(MAKE_DIRECTORY ${LIBAZURE_INCLUDE_DIR})
-    ENDFOREACH(LIBAZURE_INCLUDE_DIR)
-
-    add_library(AZURE::azure-core STATIC IMPORTED)
-    set_target_properties(AZURE::azure-core PROPERTIES IMPORTED_LOCATION 
"${AZURE_CORE_LIB}")
-    add_dependencies(AZURE::azure-core asdkext)
-    target_include_directories(AZURE::azure-core INTERFACE 
${LIBAZURE_INCLUDE_DIRS})
-    target_link_libraries(AZURE::azure-core INTERFACE CURL::libcurl 
OpenSSL::Crypto OpenSSL::SSL)
-    if (WIN32)
-        target_link_libraries(AZURE::azure-core INTERFACE winhttp.lib 
WebServices.lib)
-    endif()
-
-    add_library(AZURE::azure-identity STATIC IMPORTED)
-    set_target_properties(AZURE::azure-identity PROPERTIES IMPORTED_LOCATION 
"${AZURE_IDENTITY_LIB}")
-    add_dependencies(AZURE::azure-identity asdkext)
-    target_include_directories(AZURE::azure-identity INTERFACE 
${LIBAZURE_INCLUDE_DIRS})
-
-    add_library(AZURE::azure-storage-common STATIC IMPORTED)
-    set_target_properties(AZURE::azure-storage-common PROPERTIES 
IMPORTED_LOCATION "${AZURE_STORAGE_COMMON_LIB}")
-    add_dependencies(AZURE::azure-storage-common asdkext)
-    target_include_directories(AZURE::azure-storage-common INTERFACE 
${LIBAZURE_INCLUDE_DIRS})
-    target_link_libraries(AZURE::azure-storage-common INTERFACE 
LibXml2::LibXml2)
-
-    add_library(AZURE::azure-storage-blobs STATIC IMPORTED)
-    set_target_properties(AZURE::azure-storage-blobs PROPERTIES 
IMPORTED_LOCATION "${AZURE_STORAGE_BLOBS_LIB}")
-    add_dependencies(AZURE::azure-storage-blobs asdkext)
-    target_include_directories(AZURE::azure-storage-blobs INTERFACE 
${LIBAZURE_INCLUDE_DIRS})
-
-    add_library(AZURE::azure-storage-files-datalake STATIC IMPORTED)
-    set_target_properties(AZURE::azure-storage-files-datalake PROPERTIES 
IMPORTED_LOCATION "${AZURE_STORAGE_FILES_DATALAKE_LIB}")
-    add_dependencies(AZURE::azure-storage-files-datalake asdkext)
-    target_include_directories(AZURE::azure-storage-files-datalake INTERFACE 
${LIBAZURE_INCLUDE_DIRS})
-endfunction(use_bundled_libazure)
diff --git a/cmake/BundledOpen62541.cmake b/cmake/BundledOpen62541.cmake
index 9a48490aa..0565a7a9d 100644
--- a/cmake/BundledOpen62541.cmake
+++ b/cmake/BundledOpen62541.cmake
@@ -36,7 +36,8 @@ function(use_bundled_open62541 SOURCE_DIR BINARY_DIR)
             "-DCMAKE_INSTALL_PREFIX=${OPEN62541_BYPRODUCT_DIR}"
             -DOPEN62541_VERSION=v1.3.3
             -DUA_ENABLE_ENCRYPTION=ON
-            -DUA_FORCE_WERROR=OFF)
+            -DUA_FORCE_WERROR=OFF
+            -DUA_ENABLE_DEBUG_SANITIZER=OFF)
 
     append_third_party_passthrough_args(OPEN62541_CMAKE_ARGS 
"${OPEN62541_CMAKE_ARGS}")
 
diff --git a/cmake/Bustache.cmake b/cmake/Bustache.cmake
index e3d104cda..a881a90be 100644
--- a/cmake/Bustache.cmake
+++ b/cmake/Bustache.cmake
@@ -22,14 +22,17 @@ get_fmt()
 
 set(BUSTACHE_USE_FMT ON CACHE STRING "" FORCE)
 
-set(PATCH_FILE "${CMAKE_SOURCE_DIR}/thirdparty/bustache/add-append.patch")
+set(PATCH_FILE_1 "${CMAKE_SOURCE_DIR}/thirdparty/bustache/add-append.patch")
+set(PATCH_FILE_2 
"${CMAKE_SOURCE_DIR}/thirdparty/bustache/fix-deprecated-literal-operator.patch")
 
 set(PC ${Bash_EXECUTABLE}  -c "set -x &&\
-            (\\\"${Patch_EXECUTABLE}\\\" -p1 -R -s -f --dry-run -i 
\\\"${PATCH_FILE}\\\" || \\\"${Patch_EXECUTABLE}\\\" -p1 -N -i 
\\\"${PATCH_FILE}\\\")")
+            (\\\"${Patch_EXECUTABLE}\\\" -p1 -R -s -f --dry-run -i 
\\\"${PATCH_FILE_1}\\\" || \\\"${Patch_EXECUTABLE}\\\" -p1 -N -i 
\\\"${PATCH_FILE_1}\\\") &&\
+            (\\\"${Patch_EXECUTABLE}\\\" -p1 -R -s -f --dry-run -i 
\\\"${PATCH_FILE_2}\\\" || \\\"${Patch_EXECUTABLE}\\\" -p1 -N -i 
\\\"${PATCH_FILE_2}\\\")")
 
 FetchContent_Declare(Bustache
         GIT_REPOSITORY  https://github.com/jamboree/bustache.git
         GIT_TAG         47096caa8e1f9f7ebe34e3a022dbb822c174011d
         PATCH_COMMAND   "${PC}"
+        SYSTEM
 )
 FetchContent_MakeAvailable(Bustache)
diff --git a/cmake/Catch2.cmake b/cmake/Catch2.cmake
index d4c257af2..bc24b484f 100644
--- a/cmake/Catch2.cmake
+++ b/cmake/Catch2.cmake
@@ -22,5 +22,6 @@ FetchContent_Declare(
         Catch2
         URL      
https://github.com/catchorg/Catch2/archive/refs/tags/v3.4.0.tar.gz
         URL_HASH 
SHA256=122928b814b75717316c71af69bd2b43387643ba076a6ec16e7882bfb2dfacbb
+        SYSTEM
 )
 FetchContent_MakeAvailable(Catch2)
diff --git a/cmake/CivetWeb.cmake b/cmake/CivetWeb.cmake
index d2622de1c..308839201 100644
--- a/cmake/CivetWeb.cmake
+++ b/cmake/CivetWeb.cmake
@@ -35,6 +35,7 @@ FetchContent_Declare(civetweb
     URL      
https://github.com/civetweb/civetweb/archive/refs/tags/v1.16.tar.gz
     URL_HASH 
SHA256=f0e471c1bf4e7804a6cfb41ea9d13e7d623b2bcc7bc1e2a4dd54951a24d60285
     PATCH_COMMAND "${PC}"
+    SYSTEM
 )
 
 FetchContent_MakeAvailable(civetweb)
diff --git a/cmake/Couchbase.cmake b/cmake/Couchbase.cmake
index f7a22dd77..68bab1c6a 100644
--- a/cmake/Couchbase.cmake
+++ b/cmake/Couchbase.cmake
@@ -40,9 +40,10 @@ set(PC ${Bash_EXECUTABLE}  -c "set -x &&\
             (\\\"${Patch_EXECUTABLE}\\\" -p1 -R -s -f --dry-run -i 
\\\"${PATCH_FILE_3}\\\" || \\\"${Patch_EXECUTABLE}\\\" -p1 -N -i 
\\\"${PATCH_FILE_3}\\\")")
 
 FetchContent_Declare(couchbase-cxx-client
-    URL      
https://github.com/couchbase/couchbase-cxx-client/releases/download/1.0.2/couchbase-cxx-client-1.0.2.tar.gz
-    URL_HASH 
SHA256=1954e6f5e063d94675428182bc8b1b82fd8e8532c10d1787f157aeb18bb37769
+    URL      
https://github.com/couchbase/couchbase-cxx-client/releases/download/1.1.0/couchbase-cxx-client-1.1.0.tar.gz
+    URL_HASH 
SHA256=bd3a7f1492e242b239acd965eed4472cecb0319d40d05480f97cdec705960ba0
     PATCH_COMMAND "${PC}"
+    SYSTEM
 )
 FetchContent_MakeAvailable(couchbase-cxx-client)
 
diff --git a/cmake/Crc32c.cmake b/cmake/Crc32c.cmake
index 8603e8960..3b4f3edb1 100644
--- a/cmake/Crc32c.cmake
+++ b/cmake/Crc32c.cmake
@@ -25,6 +25,7 @@ FetchContent_Declare(
         crc32c
         URL     https://github.com/google/crc32c/archive/refs/tags/1.1.2.tar.gz
         URL_HASH 
SHA256=ac07840513072b7fcebda6e821068aa04889018f24e10e46181068fb214d7e56
+        SYSTEM
 )
 FetchContent_MakeAvailable(crc32c)
 add_library(Crc32c::crc32c ALIAS crc32c)
diff --git a/cmake/Date.cmake b/cmake/Date.cmake
index b5df69efc..a3d690e9c 100644
--- a/cmake/Date.cmake
+++ b/cmake/Date.cmake
@@ -22,6 +22,7 @@ if (WIN32)
     FetchContent_Declare(tzdata
         URL         
https://data.iana.org/time-zones/releases/tzdata2020e.tar.gz
         URL_HASH    
SHA256=0be1ba329eae29ae1b54057c3547b3e672f73b3ae7643aa87dac85122bec037e
+        SYSTEM
     )
     FetchContent_GetProperties(tzdata)
     if (NOT tzdata_POPULATED)
@@ -48,6 +49,7 @@ endif()
 FetchContent_Declare(date_src
     URL         
https://github.com/HowardHinnant/date/archive/1ead6715dec030d340a316c927c877a3c4e5a00c.tar.gz
  # master as of 2024-06-28
     URL_HASH    
SHA256=8b4096b7b49e06d756f4aa0949151863ab7b812679a1646039fab6e821d3c049
+    SYSTEM
 )
 FetchContent_GetProperties(date_src)
 if (NOT date_src_POPULATED)
diff --git a/cmake/ExpectedLite.cmake b/cmake/ExpectedLite.cmake
index f74dcfa35..178e9d4c1 100644
--- a/cmake/ExpectedLite.cmake
+++ b/cmake/ExpectedLite.cmake
@@ -20,5 +20,6 @@ include(FetchContent)
 FetchContent_Declare(expected-lite
     URL      
https://github.com/martinmoene/expected-lite/archive/refs/tags/v0.8.0.tar.gz
     URL_HASH 
SHA256=27649f30bd9d4fe7b193ab3eb6f78c64d0f585c24c085f340b4722b3d0b5e701
+    SYSTEM
 )
 FetchContent_MakeAvailable(expected-lite)
diff --git a/cmake/FetchBenchmark.cmake b/cmake/FetchBenchmark.cmake
index e65839d56..7043ae201 100644
--- a/cmake/FetchBenchmark.cmake
+++ b/cmake/FetchBenchmark.cmake
@@ -25,5 +25,6 @@ FetchContent_Declare(
         URL      
https://github.com/google/benchmark/archive/refs/tags/v1.9.1.tar.gz
         URL_HASH 
SHA256=32131c08ee31eeff2c8968d7e874f3cb648034377dfc32a4c377fa8796d84981
         OVERRIDE_FIND_PACKAGE
+        SYSTEM
 )
 FetchContent_MakeAvailable(benchmark)
diff --git a/cmake/FetchUvc.cmake b/cmake/FetchUvc.cmake
index 7d2000ae3..507153116 100644
--- a/cmake/FetchUvc.cmake
+++ b/cmake/FetchUvc.cmake
@@ -21,5 +21,6 @@ FetchContent_Declare(Uvc
         URL  https://github.com/libuvc/libuvc/archive/refs/tags/v0.0.7.tar.gz
         URL_HASH 
SHA256=7c6ba79723ad5d0ccdfbe6cadcfbd03f9f75b701d7ba96631eb1fd929a86ee72
         OVERRIDE_FIND_PACKAGE
+        SYSTEM
 )
 FetchContent_MakeAvailable(Uvc)
diff --git a/cmake/Fetchlibrdkafka.cmake b/cmake/Fetchlibrdkafka.cmake
index 0b629d447..75d713fc7 100644
--- a/cmake/Fetchlibrdkafka.cmake
+++ b/cmake/Fetchlibrdkafka.cmake
@@ -40,6 +40,7 @@ FetchContent_Declare(libkafka
         URL 
https://github.com/confluentinc/librdkafka/archive/refs/tags/v2.8.0.tar.gz
         URL_HASH 
SHA256=5bd1c46f63265f31c6bfcedcde78703f77d28238eadf23821c2b43fc30be3e25
         PATCH_COMMAND "${PC}"
+        SYSTEM
 )
 
 FetchContent_MakeAvailable(libkafka)
diff --git a/cmake/GoogleCloudCpp.cmake b/cmake/GoogleCloudCpp.cmake
index 59b6984bc..071f83d5f 100644
--- a/cmake/GoogleCloudCpp.cmake
+++ b/cmake/GoogleCloudCpp.cmake
@@ -36,6 +36,7 @@ if (NOT SKIP_TESTS)
             googletest
             URL            
https://github.com/google/googletest/releases/download/v1.17.0/googletest-1.17.0.tar.gz
             URL_HASH       
SHA256=65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c
+            SYSTEM
     )
     set(BUILD_GMOCK ON CACHE BOOL "" FORCE)
     FetchContent_MakeAvailable(googletest)
@@ -50,6 +51,9 @@ set(GOOGLE_CLOUD_CPP_ENABLE_WERROR OFF CACHE INTERNAL 
warnings-off)
 FetchContent_Declare(google-cloud-cpp
         URL      
https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/v2.38.0.tar.gz
         URL_HASH 
SHA256=f1493b2dce9b379714342f2be7ccb483d70d13aac09d4a90ae3b4756693b72fc
-        PATCH_COMMAND "${PC}")
-add_compile_definitions(_SILENCE_CXX20_REL_OPS_DEPRECATION_WARNING 
_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING CURL_STATICLIB)
+        PATCH_COMMAND "${PC}"
+        SYSTEM)
+if (WIN32)
+    add_compile_definitions(_SILENCE_CXX20_REL_OPS_DEPRECATION_WARNING 
_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING CURL_STATICLIB)
+endif()
 FetchContent_MakeAvailable(google-cloud-cpp)
diff --git a/cmake/Grpc.cmake b/cmake/Grpc.cmake
index ae578c8ee..854780586 100644
--- a/cmake/Grpc.cmake
+++ b/cmake/Grpc.cmake
@@ -41,6 +41,7 @@ FetchContent_Declare(
   GIT_TAG        v1.68.0
   GIT_SUBMODULES "third_party/cares/cares third_party/protobuf third_party/re2 
third_party/upb"
   PATCH_COMMAND "${PC}"
+  SYSTEM
 )
 set(FETCHCONTENT_QUIET OFF)
 FetchContent_MakeAvailable(grpc)
diff --git a/cmake/GslLite.cmake b/cmake/GslLite.cmake
index 4262f9cbe..14a114685 100644
--- a/cmake/GslLite.cmake
+++ b/cmake/GslLite.cmake
@@ -20,5 +20,6 @@ include(FetchContent)
 FetchContent_Declare(gsl-lite
     URL      
https://github.com/gsl-lite/gsl-lite/archive/refs/tags/v0.39.0.tar.gz
     URL_HASH 
SHA256=f80ec07d9f4946097a1e2554e19cee4b55b70b45d59e03a7d2b7f80d71e467e9
+    SYSTEM
 )
 FetchContent_MakeAvailable(gsl-lite)
diff --git a/cmake/JoltTests.cmake b/cmake/JoltTests.cmake
index 56601fab6..17c3b5c87 100644
--- a/cmake/JoltTests.cmake
+++ b/cmake/JoltTests.cmake
@@ -20,6 +20,7 @@ include(FetchContent)
 FetchContent_Declare(jolt_tests
         URL      
https://github.com/bazaarvoice/jolt/archive/refs/tags/jolt-0.1.8.tar.gz
         URL_HASH 
SHA256=7423c5b98244260f89a975f5e21150c02a6a1fa88e3af07c90d43fef0eebdcbb
+        SYSTEM
         )
 
 FetchContent_MakeAvailable(jolt_tests)
diff --git a/cmake/JsonSchemaValidator.cmake b/cmake/JsonSchemaValidator.cmake
index 372798d8d..cb9886690 100644
--- a/cmake/JsonSchemaValidator.cmake
+++ b/cmake/JsonSchemaValidator.cmake
@@ -19,7 +19,8 @@ include(FetchContent)
 
 FetchContent_Declare(json-schema-validator
     URL https://github.com/pboettch/json-schema-validator/archive/2.2.0.tar.gz
-    URL_HASH 
SHA256=03897867bd757ecac1db7545babf0c6c128859655b496582a9cea4809c2260aa)
+    URL_HASH 
SHA256=03897867bd757ecac1db7545babf0c6c128859655b496582a9cea4809c2260aa
+    SYSTEM)
 
 FetchContent_MakeAvailable(json-schema-validator)
 
diff --git a/cmake/KubernetesClientC.cmake b/cmake/KubernetesClientC.cmake
index 84671dced..912983af9 100644
--- a/cmake/KubernetesClientC.cmake
+++ b/cmake/KubernetesClientC.cmake
@@ -22,6 +22,7 @@ set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE)
 FetchContent_Declare(yaml
         GIT_REPOSITORY  https://github.com/yaml/libyaml.git
         GIT_TAG         2c891fc7a770e8ba2fec34fc6b545c672beb37e6  # 0.2.5
+        SYSTEM
 )
 
 set(LWS_WITHOUT_TESTAPPS ON                           CACHE BOOL "" FORCE)
@@ -44,6 +45,7 @@ FetchContent_Declare(websockets
         URL             
https://github.com/warmcat/libwebsockets/archive/refs/tags/v4.3.2.tar.gz
         URL_HASH        
SHA256=6a85a1bccf25acc7e8e5383e4934c9b32a102880d1e4c37c70b27ae2a42406e1
         PATCH_COMMAND "${WEBSOCKETS_PC}"
+        SYSTEM
 )
 
 FetchContent_MakeAvailable(yaml websockets)
@@ -57,6 +59,7 @@ FetchContent_Declare(kubernetes
     URL_HASH        
SHA256=dbb6e6cd29ae2ac6c15de894aefb9b1e3d48916541d443f089aa0ffad6517ec6
     PATCH_COMMAND   "${K8S_PC}"
     SOURCE_SUBDIR   kubernetes
+    SYSTEM
 )
 
 FetchContent_MakeAvailable(kubernetes)
diff --git a/cmake/LZ4.cmake b/cmake/LZ4.cmake
index f008d9933..6712614c9 100644
--- a/cmake/LZ4.cmake
+++ b/cmake/LZ4.cmake
@@ -29,6 +29,7 @@ FetchContent_Declare(lz4
     URL_HASH       
SHA256=0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b
     SOURCE_SUBDIR  build/cmake
     OVERRIDE_FIND_PACKAGE
+    SYSTEM
 )
 
 FetchContent_MakeAvailable(lz4)
diff --git a/cmake/LibLZMA.cmake b/cmake/LibLZMA.cmake
index 67ca7c9d7..f90621cf9 100644
--- a/cmake/LibLZMA.cmake
+++ b/cmake/LibLZMA.cmake
@@ -26,7 +26,8 @@ set(PC ${Bash_EXECUTABLE}  -c "set -x &&\
 FetchContent_Declare(liblzma
         URL 
https://github.com/tukaani-project/xz/releases/download/v5.6.2/xz-5.6.2.tar.gz
         URL_HASH 
SHA256=8bfd20c0e1d86f0402f2497cfa71c6ab62d4cd35fd704276e3140bfb71414519
-        PATCH_COMMAND "${PC}")
+        PATCH_COMMAND "${PC}"
+        SYSTEM)
 
 FetchContent_MakeAvailable(liblzma)
 
diff --git a/cmake/LlamaCpp.cmake b/cmake/LlamaCpp.cmake
index f45b22bd2..44f4594b5 100644
--- a/cmake/LlamaCpp.cmake
+++ b/cmake/LlamaCpp.cmake
@@ -38,6 +38,7 @@ FetchContent_Declare(llamacpp
         URL 
https://github.com/ggerganov/llama.cpp/archive/refs/tags/b5502.tar.gz
         URL_HASH 
SHA256=9436852125dfe1b33ed47c5fb78bde614d9a8393072c5fa9689d0eaf2727dd1a
         PATCH_COMMAND "${PC}"
+        SYSTEM
 )
 
 FetchContent_MakeAvailable(llamacpp)
diff --git a/cmake/Lua.cmake b/cmake/Lua.cmake
index 35a1ab162..6dc22c02b 100644
--- a/cmake/Lua.cmake
+++ b/cmake/Lua.cmake
@@ -20,6 +20,7 @@ include(FetchContent)
 FetchContent_Declare(lua
     URL         "https://github.com/lua/lua/archive/refs/tags/v5.4.6.tar.gz";
     URL_HASH    
"SHA256=11c228cf9b9564d880b394f8069ad829d01e39756567f79c347a6b89fed44771"
+    SYSTEM
 )
 
 FetchContent_GetProperties(lua)
diff --git a/cmake/MagicEnum.cmake b/cmake/MagicEnum.cmake
index 266d3b849..9bd6efad8 100644
--- a/cmake/MagicEnum.cmake
+++ b/cmake/MagicEnum.cmake
@@ -19,6 +19,7 @@ include(FetchContent)
 
 FetchContent_Declare(magic_enum
         URL 
https://github.com/Neargye/magic_enum/archive/refs/tags/v0.9.3.tar.gz
-        URL_HASH 
SHA256=3cadd6a05f1bffc5141e5e731c46b2b73c2dbff025e723c8abaa659e0a24f072)
+        URL_HASH 
SHA256=3cadd6a05f1bffc5141e5e731c46b2b73c2dbff025e723c8abaa659e0a24f072
+        SYSTEM)
 
 FetchContent_MakeAvailable(magic_enum)
diff --git a/cmake/MiMalloc.cmake b/cmake/MiMalloc.cmake
index ec12daa0d..45a5a0015 100644
--- a/cmake/MiMalloc.cmake
+++ b/cmake/MiMalloc.cmake
@@ -21,5 +21,6 @@ FetchContent_Declare(
         mimalloc
         URL      
https://github.com/microsoft/mimalloc/archive/refs/tags/v2.0.6.tar.gz
         URL_HASH 
SHA256=9f05c94cc2b017ed13698834ac2a3567b6339a8bde27640df5a1581d49d05ce5
+        SYSTEM
 )
 FetchContent_MakeAvailable(mimalloc)
diff --git a/cmake/PahoMqttC.cmake b/cmake/PahoMqttC.cmake
index 0209edf94..2b42cf0dd 100644
--- a/cmake/PahoMqttC.cmake
+++ b/cmake/PahoMqttC.cmake
@@ -32,6 +32,7 @@ FetchContent_Declare(
     URL 
"https://github.com/eclipse/paho.mqtt.c/archive/refs/tags/v1.3.14.tar.gz";
     URL_HASH 
"SHA256=7af7d906e60a696a80f1b7c2bd7d6eb164aaad908ff4c40c3332ac2006d07346"
     PATCH_COMMAND "${PC}"
+    SYSTEM
 )
 
 FetchContent_MakeAvailable(paho.mqtt.c-external)
diff --git a/cmake/Prometheus.cmake b/cmake/Prometheus.cmake
index ef3e33231..0138d21d2 100644
--- a/cmake/Prometheus.cmake
+++ b/cmake/Prometheus.cmake
@@ -31,6 +31,7 @@ FetchContent_Declare(
     URL 
"https://github.com/jupp0r/prometheus-cpp/archive/refs/tags/v1.3.0.tar.gz";
     URL_HASH 
"SHA256=ac6e958405a29fbbea9db70b00fa3c420e16ad32e1baf941ab233ba031dd72ee"
     PATCH_COMMAND "${PC}"
+    SYSTEM
 )
 
 FetchContent_MakeAvailable(prometheus-cpp)
diff --git a/cmake/RangeV3.cmake b/cmake/RangeV3.cmake
index e8223985a..4cfb23054 100644
--- a/cmake/RangeV3.cmake
+++ b/cmake/RangeV3.cmake
@@ -17,9 +17,15 @@
 
 include(FetchContent)
 
+set(PATCH_FILE 
"${CMAKE_SOURCE_DIR}/thirdparty/ranges-v3/remove-deprecated.patch")
+set(PC ${Bash_EXECUTABLE}  -c "set -x &&\
+        (\\\"${Patch_EXECUTABLE}\\\" -p1 -R -s -f --dry-run -i 
\\\"${PATCH_FILE}\\\" || \\\"${Patch_EXECUTABLE}\\\" -p1 -N -i 
\\\"${PATCH_FILE}\\\")")
+
 FetchContent_Declare(range-v3_src
     URL      
https://github.com/ericniebler/range-v3/archive/refs/tags/0.12.0.tar.gz
     URL_HASH 
SHA256=015adb2300a98edfceaf0725beec3337f542af4915cec4d0b89fa0886f4ba9cb
+    PATCH_COMMAND "${PC}"
+    SYSTEM
 )
 FetchContent_MakeAvailable(range-v3_src)
 target_compile_definitions(range-v3 INTERFACE RANGES_CXX_THREAD_LOCAL=201103L)
diff --git a/cmake/RpMalloc.cmake b/cmake/RpMalloc.cmake
index 17ab3166e..a97a9135c 100644
--- a/cmake/RpMalloc.cmake
+++ b/cmake/RpMalloc.cmake
@@ -21,6 +21,7 @@ FetchContent_Declare(
         rpmalloc
         URL      
https://github.com/mjansson/rpmalloc/archive/refs/tags/1.4.4.tar.gz
         URL_HASH 
SHA256=3859620c03e6473f0b3f16a4e965e7c049594253f70e8370fb9caa0e4118accb
+        SYSTEM
 )
 FetchContent_GetProperties(rpmalloc)
 
diff --git a/cmake/Sol2.cmake b/cmake/Sol2.cmake
index e5989a3ac..3dbe63cb1 100644
--- a/cmake/Sol2.cmake
+++ b/cmake/Sol2.cmake
@@ -15,33 +15,11 @@
 # specific language governing permissions and limitations
 # under the License.
 
-# Using file(DOWNLOAD) instead of FetchContent due to this issue in cmake 
versions older than 3.18 https://gitlab.kitware.com/cmake/cmake/-/issues/20526
+include(FetchContent)
 
-set(SOL2_INCLUDE_DIR "${CMAKE_BINARY_DIR}/_deps/sol2/" CACHE STRING "" FORCE)
-if(NOT EXISTS "${SOL2_INCLUDE_DIR}/sol.hpp")
-    file(DOWNLOAD 
"https://github.com/ThePhD/sol2/releases/download/v3.3.0/sol.hpp"; 
"${SOL2_INCLUDE_DIR}/sol/sol.hpp"
-         EXPECTED_HASH 
SHA256=e095a961a5189863745e6c101124fce944af991f3d4726a1e82c5b4a885a187f)
-    configure_file("${SOL2_INCLUDE_DIR}/sol/sol.hpp" 
"${SOL2_INCLUDE_DIR}/sol/sol.hpp" NEWLINE_STYLE LF)
-
-    file(DOWNLOAD 
"https://github.com/ThePhD/sol2/releases/download/v3.3.0/config.hpp"; 
"${SOL2_INCLUDE_DIR}/sol/config.hpp"
-         EXPECTED_HASH 
SHA256=6c283673a16f0eeb3c56f8b8d72ccf7ed3f048816dbd2584ac58564c61315f02)
-    configure_file("${SOL2_INCLUDE_DIR}/sol/config.hpp" 
"${SOL2_INCLUDE_DIR}/sol/config.hpp" NEWLINE_STYLE LF)
-
-    file(DOWNLOAD 
"https://github.com/ThePhD/sol2/releases/download/v3.3.0/forward.hpp"; 
"${SOL2_INCLUDE_DIR}/sol/forward.hpp"
-         EXPECTED_HASH 
SHA256=8fc34d74e9b4b8baa381f5e6ab7b6f6b44114cd355c718505495943ff6b85740)
-    configure_file("${SOL2_INCLUDE_DIR}/sol/forward.hpp" 
"${SOL2_INCLUDE_DIR}/sol/forward.hpp" NEWLINE_STYLE LF)
-
-    # Some platform simply define LUA_COMPAT_BITLIB or LUA_COMPAT_5_2 without 
setting them to explicitly 1
-    set(PC "${Patch_EXECUTABLE}" -p1 -i 
"${CMAKE_SOURCE_DIR}/thirdparty/sol2/fix_bitlib_compatibility.patch" 
"${SOL2_INCLUDE_DIR}/sol/sol.hpp")
-
-    execute_process(COMMAND ${PC} RESULT_VARIABLE patch_result_code)
-    if(NOT patch_result_code EQUAL "0")
-        message(FATAL_ERROR "Failed to patch sol.hpp")
-    endif()
-
-    add_library(sol2 INTERFACE IMPORTED)
-    target_sources(sol2 INTERFACE ${SOL2_INCLUDE_DIR}/sol/sol.hpp)
-    target_sources(sol2 INTERFACE ${SOL2_INCLUDE_DIR}/sol/config.hpp)
-    target_sources(sol2 INTERFACE ${SOL2_INCLUDE_DIR}/sol/forward.hpp)
-    target_include_directories(sol2 SYSTEM INTERFACE ${SOL2_INCLUDE_DIR})
-endif()
+FetchContent_Declare(sol2_src
+    URL      https://github.com/ThePhD/sol2/archive/refs/tags/v3.5.0.tar.gz
+    URL_HASH 
SHA256=86c0f6d2836b184a250fc2907091c076bf53c9603dd291eaebade36cc342e13c
+    SYSTEM
+)
+FetchContent_MakeAvailable(sol2_src)
diff --git a/cmake/Spdlog.cmake b/cmake/Spdlog.cmake
index cbdaa21e5..6fa371674 100644
--- a/cmake/Spdlog.cmake
+++ b/cmake/Spdlog.cmake
@@ -19,9 +19,12 @@
 include(FetchContent)
 
 set(SPDLOG_FMT_EXTERNAL ON CACHE STRING "" FORCE)
+set(SPDLOG_SYSTEM_INCLUDES ON CACHE STRING "" FORCE)
+
 FetchContent_Declare(Spdlog
-        URL  https://github.com/gabime/spdlog/archive/refs/tags/v1.15.1.tar.gz
-        URL_HASH 
SHA256=25c843860f039a1600f232c6eb9e01e6627f7d030a2ae5e232bdd3c9205d26cc
+        URL  https://github.com/gabime/spdlog/archive/refs/tags/v1.15.3.tar.gz
+        URL_HASH 
SHA256=15a04e69c222eb6c01094b5c7ff8a249b36bb22788d72519646fb85feb267e67
         OVERRIDE_FIND_PACKAGE
+        SYSTEM
         )
 FetchContent_MakeAvailable(Spdlog)
diff --git a/cmake/Zstd.cmake b/cmake/Zstd.cmake
index 15f87ad6d..1ba57c8ae 100644
--- a/cmake/Zstd.cmake
+++ b/cmake/Zstd.cmake
@@ -32,6 +32,7 @@ FetchContent_Declare(zstd
     URL_HASH       
SHA256=f7de13462f7a82c29ab865820149e778cbfe01087b3a55b5332707abf9db4a6e
     PATCH_COMMAND  "${PC}"
     SOURCE_SUBDIR  build/cmake
+    SYSTEM
 )
 
 FetchContent_MakeAvailable(zstd)
diff --git a/cmake/fmt.cmake b/cmake/fmt.cmake
index 1d39f7689..0777eaa5d 100644
--- a/cmake/fmt.cmake
+++ b/cmake/fmt.cmake
@@ -19,8 +19,9 @@
 include(FetchContent)
 
 FetchContent_Declare(Fmt
-        URL  https://github.com/fmtlib/fmt/archive/refs/tags/11.0.2.tar.gz
-        URL_HASH 
SHA256=6cb1e6d37bdcb756dbbe59be438790db409cdb4868c66e888d5df9f13f7c027f
+        URL  https://github.com/fmtlib/fmt/archive/refs/tags/11.2.0.tar.gz
+        URL_HASH 
SHA256=bc23066d87ab3168f27cef3e97d545fa63314f5c79df5ea444d41d56f962c6af
         OVERRIDE_FIND_PACKAGE
+        SYSTEM
         )
 FetchContent_MakeAvailable(Fmt)
diff --git a/extensions/azure/CMakeLists.txt b/extensions/azure/CMakeLists.txt
index 7bdad325d..b6014ddf2 100644
--- a/extensions/azure/CMakeLists.txt
+++ b/extensions/azure/CMakeLists.txt
@@ -21,8 +21,7 @@ if (NOT (ENABLE_ALL OR ENABLE_AZURE))
     return()
 endif()
 
-include(BundledAzureSdkCpp)
-use_bundled_libazure(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
+include(AzureSdkCpp)
 
 include(${CMAKE_SOURCE_DIR}/extensions/ExtensionHeader.txt)
 
@@ -39,7 +38,7 @@ target_include_directories(minifi-azure BEFORE PRIVATE 
${CMAKE_SOURCE_DIR}/exten
 
 target_link_libraries(minifi-azure ${LIBMINIFI} Threads::Threads)
 target_link_libraries(minifi-azure LibXml2::LibXml2)
-target_link_libraries(minifi-azure AZURE::azure-storage-files-datalake 
AZURE::azure-storage-blobs AZURE::azure-storage-common AZURE::azure-core 
AZURE::azure-identity)
+target_link_libraries(minifi-azure Azure::azure-storage-files-datalake 
Azure::azure-storage-blobs Azure::azure-storage-common Azure::azure-core 
Azure::azure-identity)
 
 if (WIN32)
     target_link_libraries(minifi-azure crypt32.lib bcrypt.lib)
diff --git a/extensions/expression-language/CMakeLists.txt 
b/extensions/expression-language/CMakeLists.txt
index c179ab3ef..3183d97ca 100644
--- a/extensions/expression-language/CMakeLists.txt
+++ b/extensions/expression-language/CMakeLists.txt
@@ -32,6 +32,7 @@ if(WIN32)
         winflexbison
         URL 
"https://github.com/lexxmark/winflexbison/archive/refs/tags/v2.5.25.tar.gz";
         URL_HASH 
"SHA256=8e1b71e037b524ba3f576babb0cf59182061df1f19cd86112f085a882560f60b"
+        SYSTEM
     )
     FetchContent_GetProperties("winflexbison")
 
diff --git a/extensions/gcp/CMakeLists.txt b/extensions/gcp/CMakeLists.txt
index 8dbe37e08..cf8dc9a47 100644
--- a/extensions/gcp/CMakeLists.txt
+++ b/extensions/gcp/CMakeLists.txt
@@ -27,6 +27,9 @@ file(GLOB SOURCES "*.cpp" "controllerservices/*.cpp" 
"processors/*.cpp")
 
 add_minifi_library(minifi-gcp SHARED ${SOURCES})
 
+if (NOT WIN32)
+    target_compile_options(minifi-gcp PRIVATE 
-Wno-error=deprecated-declarations)  # Suppress deprecation warnings for 
std::rel_ops usage
+endif()
 target_link_libraries(minifi-gcp ${LIBMINIFI} google-cloud-cpp::storage)
 target_include_directories(minifi-gcp SYSTEM PUBLIC 
${google-cloud-cpp_INCLUDE_DIRS})
 
diff --git a/extensions/gcp/tests/CMakeLists.txt 
b/extensions/gcp/tests/CMakeLists.txt
index ed119eb1d..398a66eac 100644
--- a/extensions/gcp/tests/CMakeLists.txt
+++ b/extensions/gcp/tests/CMakeLists.txt
@@ -20,7 +20,13 @@ file(GLOB GCS_TESTS  "*.cpp")
 FOREACH(testfile ${GCS_TESTS})
     get_filename_component(testfilename "${testfile}" NAME_WE)
     add_minifi_executable("${testfilename}" "${testfile}")
-    target_compile_definitions(${testfilename} PRIVATE 
_SILENCE_CXX20_REL_OPS_DEPRECATION_WARNING)
+
+    if (WIN32)
+        target_compile_definitions(${testfilename} PRIVATE 
_SILENCE_CXX20_REL_OPS_DEPRECATION_WARNING)
+    else()
+        target_compile_options(${testfilename} PRIVATE 
-Wno-error=deprecated-declarations)  # Suppress deprecation warnings for 
std::rel_ops usage
+    endif()
+
     target_include_directories(${testfilename} PRIVATE BEFORE 
"${CMAKE_SOURCE_DIR}/extensions/standard-processors")
     target_include_directories(${testfilename} PRIVATE BEFORE 
"${CMAKE_SOURCE_DIR}/extensions/expression-language")
     target_include_directories(${testfilename} PRIVATE BEFORE 
"${CMAKE_SOURCE_DIR}/extensions/gcp")
diff --git a/libminifi/src/core/flow/StructuredConfiguration.cpp 
b/libminifi/src/core/flow/StructuredConfiguration.cpp
index e056c595e..b3477c373 100644
--- a/libminifi/src/core/flow/StructuredConfiguration.cpp
+++ b/libminifi/src/core/flow/StructuredConfiguration.cpp
@@ -878,7 +878,7 @@ void StructuredConfiguration::parseSingleProperty(const 
std::string& property_na
     ParameterContext* parameter_context) {
   auto my_prop = component.getSupportedProperty(property_name);
   const bool is_sensitive = my_prop ? my_prop->isSensitive() : false;
-  const std::optional<std::string_view> default_value = my_prop ? 
my_prop->getDefaultValue() : std::nullopt;
+  const std::optional<std::string> default_value = my_prop ? 
my_prop->getDefaultValue() : std::nullopt;
 
   const auto value_to_set = getReplacedParametersValueOrDefault(property_name, 
is_sensitive, default_value, property_value_node, parameter_context);
   if (!value_to_set) {
diff --git a/minifi-api/include/minifi-cpp/utils/Literals.h 
b/minifi-api/include/minifi-cpp/utils/Literals.h
index 9b47b8afe..8a48bc3ea 100644
--- a/minifi-api/include/minifi-cpp/utils/Literals.h
+++ b/minifi-api/include/minifi-cpp/utils/Literals.h
@@ -18,42 +18,42 @@
 
 #pragma once
 
-constexpr unsigned long long operator "" _KiB(unsigned long long n) {  // 
NOLINT
+constexpr unsigned long long operator""_KiB(unsigned long long n) {
   return 1024 * n;
 }
 
-constexpr unsigned long long operator "" _MiB(unsigned long long n) {  // 
NOLINT
+constexpr unsigned long long operator""_MiB(unsigned long long n) {
   return 1024_KiB * n;
 }
 
-constexpr unsigned long long operator "" _GiB(unsigned long long n) {  // 
NOLINT
+constexpr unsigned long long operator""_GiB(unsigned long long n) {
   return 1024_MiB * n;
 }
 
-constexpr unsigned long long operator "" _TiB(unsigned long long n) {  // 
NOLINT
+constexpr unsigned long long operator""_TiB(unsigned long long n) {
   return 1024_GiB * n;
 }
 
-constexpr unsigned long long operator "" _PiB(unsigned long long n) {  // 
NOLINT
+constexpr unsigned long long operator""_PiB(unsigned long long n) {
   return 1024_TiB * n;
 }
 
-constexpr unsigned long long operator "" _KB(unsigned long long n) {  // NOLINT
+constexpr unsigned long long operator""_KB(unsigned long long n) {
   return 1000 * n;
 }
 
-constexpr unsigned long long operator "" _MB(unsigned long long n) {  // NOLINT
+constexpr unsigned long long operator""_MB(unsigned long long n) {
   return 1000_KB * n;
 }
 
-constexpr unsigned long long operator "" _GB(unsigned long long n) {  // NOLINT
+constexpr unsigned long long operator""_GB(unsigned long long n) {
   return 1000_MB * n;
 }
 
-constexpr unsigned long long operator "" _TB(unsigned long long n) {  // NOLINT
+constexpr unsigned long long operator""_TB(unsigned long long n) {
   return 1000_GB * n;
 }
 
-constexpr unsigned long long operator "" _PB(unsigned long long n) {  // NOLINT
+constexpr unsigned long long operator""_PB(unsigned long long n) {
   return 1000_TB * n;
 }
diff --git a/range-v3 b/range-v3
new file mode 160000
index 000000000..ca1388fb9
--- /dev/null
+++ b/range-v3
@@ -0,0 +1 @@
+Subproject commit ca1388fb9da8e69314dda222dc7b139ca84e092f
diff --git a/run_clang_tidy.sh b/run_clang_tidy.sh
index f5dd0603e..83a4d75fd 100755
--- a/run_clang_tidy.sh
+++ b/run_clang_tidy.sh
@@ -27,4 +27,4 @@ if ! [[ -f "${FILE}" ]]; then
   exit 0
 fi
 
-clang-tidy-16 -warnings-as-errors=* -quiet -p build "$FILE"
+clang-tidy-20 -warnings-as-errors=* -quiet -p build "$FILE"
diff --git a/thirdparty/aws-sdk-cpp/fix-deprecated-literal-operator.patch 
b/thirdparty/aws-sdk-cpp/fix-deprecated-literal-operator.patch
new file mode 100644
index 000000000..e481ad86f
--- /dev/null
+++ b/thirdparty/aws-sdk-cpp/fix-deprecated-literal-operator.patch
@@ -0,0 +1,31 @@
+diff --git a/include/aws/crt/StringView.h b/include/aws/crt/StringView.h
+index 3b6dc2f..d89c8fc 100644
+--- a/crt/aws-crt-cpp/include/aws/crt/StringView.h
++++ b/crt/aws-crt-cpp/include/aws/crt/StringView.h
+@@ -820,22 +820,22 @@ namespace Aws
+         {
+             inline namespace string_view_literals
+             {
+-                inline basic_string_view<char> operator"" _sv(const char *s, 
size_t length) noexcept
++                inline basic_string_view<char> operator""_sv(const char *s, 
size_t length) noexcept
+                 {
+                     return basic_string_view<char>(s, length);
+                 }
+ 
+-                inline basic_string_view<wchar_t> operator"" _sv(const 
wchar_t * s, size_t length) noexcept
++                inline basic_string_view<wchar_t> operator""_sv(const wchar_t 
* s, size_t length) noexcept
+                 {
+                     return basic_string_view<wchar_t>(s, length);
+                 }
+ 
+-                inline basic_string_view<char16_t> operator"" _sv(const 
char16_t *s, size_t length) noexcept
++                inline basic_string_view<char16_t> operator""_sv(const 
char16_t *s, size_t length) noexcept
+                 {
+                     return basic_string_view<char16_t>(s, length);
+                 }
+ 
+-                inline basic_string_view<char32_t> operator"" _sv(const 
char32_t *s, size_t length) noexcept
++                inline basic_string_view<char32_t> operator""_sv(const 
char32_t *s, size_t length) noexcept
+                 {
+                     return basic_string_view<char32_t>(s, length);
+                 }
diff --git a/thirdparty/azure-sdk-cpp/gcc13.patch 
b/thirdparty/azure-sdk-cpp/gcc13.patch
deleted file mode 100644
index 41db6ff51..000000000
--- a/thirdparty/azure-sdk-cpp/gcc13.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff '--color=auto' -rupN 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0/sdk/core/azure-core/inc/azure/core/base64.hpp
 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0-patched/sdk/core/azure-core/inc/azure/core/base64.hpp
---- 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0/sdk/core/azure-core/inc/azure/core/base64.hpp
        2023-07-11 04:18:12.000000000 +0200
-+++ 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0-patched/sdk/core/azure-core/inc/azure/core/base64.hpp
        2023-07-31 10:24:28.267049474 +0200
-@@ -13,6 +13,7 @@
- #include <stdexcept>
- #include <string>
- #include <vector>
-+#include <cstdint>
- 
- namespace Azure { namespace Core {
- 
-diff '--color=auto' -rupN 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0/sdk/core/azure-core/inc/azure/core/uuid.hpp
 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0-patched/sdk/core/azure-core/inc/azure/core/uuid.hpp
---- 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0/sdk/core/azure-core/inc/azure/core/uuid.hpp
  2023-07-11 04:18:12.000000000 +0200
-+++ 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0-patched/sdk/core/azure-core/inc/azure/core/uuid.hpp
  2023-07-31 10:29:58.670195225 +0200
-@@ -13,6 +13,7 @@
- #include <array>
- #include <cstring>
- #include <string>
-+#include <cstdint>
- 
- namespace Azure { namespace Core {
-   /**
-diff '--color=auto' -rupN 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0/sdk/keyvault/azure-security-keyvault-keys/src/private/key_sign_parameters.hpp
 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0-patched/sdk/keyvault/azure-security-keyvault-keys/src/private/key_sign_parameters.hpp
---- 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0/sdk/keyvault/azure-security-keyvault-keys/src/private/key_sign_parameters.hpp
        2023-07-11 04:18:12.000000000 +0200
-+++ 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0-patched/sdk/keyvault/azure-security-keyvault-keys/src/private/key_sign_parameters.hpp
        2023-07-31 10:42:25.125314240 +0200
-@@ -11,6 +11,7 @@
- 
- #include <string>
- #include <vector>
-+#include <cstdint>
- 
- namespace Azure {
-   namespace Security {
-diff '--color=auto' -rupN 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0/sdk/keyvault/azure-security-keyvault-keys/src/private/key_verify_parameters.hpp
 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0-patched/sdk/keyvault/azure-security-keyvault-keys/src/private/key_verify_parameters.hpp
---- 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0/sdk/keyvault/azure-security-keyvault-keys/src/private/key_verify_parameters.hpp
      2023-07-11 04:18:12.000000000 +0200
-+++ 
azure-sdk-for-cpp-azure-storage-files-datalake_12.7.0-patched/sdk/keyvault/azure-security-keyvault-keys/src/private/key_verify_parameters.hpp
      2023-07-31 11:02:08.775192072 +0200
-@@ -11,6 +11,7 @@
- 
- #include <string>
- #include <vector>
-+#include <cstdint>
- 
- namespace Azure {
-   namespace Security {
diff --git a/thirdparty/azure-sdk-cpp/remove-amqp.patch 
b/thirdparty/azure-sdk-cpp/remove-amqp.patch
index daacddd01..045d49dcd 100644
--- a/thirdparty/azure-sdk-cpp/remove-amqp.patch
+++ b/thirdparty/azure-sdk-cpp/remove-amqp.patch
@@ -1,10 +1,32 @@
-diff -rupN a/sdk/core/CMakeLists.txt b/sdk/core/CMakeLists.txt
---- a/sdk/core/CMakeLists.txt  2023-07-11 04:18:12.000000000 +0200
-+++ b/sdk/core/CMakeLists.txt  2023-07-25 16:58:17.919348377 +0200
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 325097191..d7bca3fb4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -158,16 +158,8 @@ endif()
+ 
+ # sub-projects
+ add_subdirectory(sdk/core)
+-add_subdirectory(sdk/attestation)
+-# AMQP doesn't work for UWP yet, and eventhubs depends on AMQP, so we cannot 
include eventhubs on UWP.
+-if (NOT BUILD_WINDOWS_UWP)
+-  add_subdirectory(sdk/eventhubs)
+-endif()
+ add_subdirectory(sdk/identity)
+-add_subdirectory(sdk/keyvault)
+ add_subdirectory(sdk/storage)
+-add_subdirectory(sdk/template)
+-add_subdirectory(sdk/tables)
+ 
+ if(BUILD_SAMPLES)
+   add_subdirectory(samples/integration/vcpkg-all-smoke)
+diff --git a/sdk/core/CMakeLists.txt b/sdk/core/CMakeLists.txt
+index 8773255f3..ccbcd2e88 100644
+--- a/sdk/core/CMakeLists.txt
++++ b/sdk/core/CMakeLists.txt
 @@ -10,11 +10,6 @@ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
-
+ 
  add_subdirectory(azure-core)
-
+ 
 -if (NOT BUILD_WINDOWS_UWP)
 -  message(STATUS "Including AMQP library")
 -  add_subdirectory(azure-core-amqp)
diff --git a/thirdparty/azure-sdk-cpp/wil.patch 
b/thirdparty/azure-sdk-cpp/wil.patch
new file mode 100644
index 000000000..f3e352c7a
--- /dev/null
+++ b/thirdparty/azure-sdk-cpp/wil.patch
@@ -0,0 +1,12 @@
+diff --git a/sdk/identity/azure-identity/CMakeLists.txt 
b/sdk/identity/azure-identity/CMakeLists.txt
+index 57fe6bbc2..62ad84492 100644
+--- a/sdk/identity/azure-identity/CMakeLists.txt
++++ b/sdk/identity/azure-identity/CMakeLists.txt
+@@ -109,7 +109,6 @@ target_link_libraries(azure-identity PUBLIC 
Azure::azure-core)
+ target_compile_definitions(azure-identity PRIVATE _azure_BUILDING_SDK)
+ 
+ if(WIN32 AND NOT(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore" AND 
CMAKE_SYSTEM_VERSION STREQUAL "10.0"))
+-  find_package(wil CONFIG REQUIRED)
+   target_link_libraries(azure-identity PRIVATE WIL::WIL bcrypt crypt32)
+ else()
+   find_package(OpenSSL REQUIRED)
diff --git a/thirdparty/bustache/fix-deprecated-literal-operator.patch 
b/thirdparty/bustache/fix-deprecated-literal-operator.patch
new file mode 100644
index 000000000..c0d75dccf
--- /dev/null
+++ b/thirdparty/bustache/fix-deprecated-literal-operator.patch
@@ -0,0 +1,19 @@
+diff --git a/include/bustache/format.hpp b/include/bustache/format.hpp
+index 77ecac5..395ac38 100644
+--- a/include/bustache/format.hpp
++++ b/include/bustache/format.hpp
+@@ -147,11 +147,11 @@ namespace bustache
+ 
+     inline namespace literals
+     {
+-        inline format operator"" _fmt(char const* str, std::size_t n)
++        inline format operator""_fmt(char const* str, std::size_t n)
+         {
+             return format(std::string_view(str, n));
+         }
+     }
+ }
+ 
+-#endif
+\ No newline at end of file
++#endif
diff --git a/thirdparty/couchbase/remove-thirdparty.patch 
b/thirdparty/couchbase/remove-thirdparty.patch
index 732576f14..942e5fc27 100644
--- a/thirdparty/couchbase/remove-thirdparty.patch
+++ b/thirdparty/couchbase/remove-thirdparty.patch
@@ -1,10 +1,14 @@
 diff --git a/cmake/ThirdPartyDependencies.cmake 
b/cmake/ThirdPartyDependencies.cmake
-index f02af02..f83c181 100644
+index af373ce..30cf2b6 100644
 --- a/cmake/ThirdPartyDependencies.cmake
 +++ b/cmake/ThirdPartyDependencies.cmake
-@@ -3,73 +3,30 @@
+@@ -1,232 +1,141 @@
+ # NOTE: This file MUST be in sync with 
couchbase-sdk-cxx-black-duck-manifest.yaml
+ 
  include(cmake/CPM.cmake)
  
+ set(CPM_USE_LOCAL_PACKAGES OFF)
+ 
  # https://cmake.org/cmake/help/v3.28/policy/CMP0063.html
  set(CMAKE_POLICY_DEFAULT_CMP0063 NEW)
  
@@ -18,36 +22,13 @@ index f02af02..f83c181 100644
                                               
$<TARGET_PROPERTY:${target},INTERFACE_INCLUDE_DIRECTORIES>)
  endfunction()
  
--if(NOT TARGET fmt::fmt)
--  # https://github.com/fmtlib/fmt/releases
--  cpmaddpackage(
--    NAME
--    fmt
--    GIT_TAG
--    11.0.1
--    VERSION
--    11.0.1
--    GITHUB_REPOSITORY
--    "fmtlib/fmt"
--    EXCLUDE_FROM_ALL ON
--    OPTIONS
--    "FMT_INSTALL OFF"
--    # Unicode support for MSVC enabled in CompilerWarnings.cmake
--    "FMT_UNICODE OFF"
--    "FMT_DOC OFF"
--    "BUILD_SHARED_LIBS OFF"
--    "CMAKE_C_VISIBILITY_PRESET hidden"
--    "CMAKE_CXX_VISIBILITY_PRESET hidden"
--    "CMAKE_POSITION_INDEPENDENT_CODE ON")
--endif()
--
 -if(NOT TARGET spdlog::spdlog)
 -  # https://github.com/gabime/spdlog/releases
 -  cpmaddpackage(
 -    NAME
 -    spdlog
 -    VERSION
--    1.14.1
+-    1.15.0
 -    GITHUB_REPOSITORY
 -    "gabime/spdlog"
 -    EXCLUDE_FROM_ALL ON
@@ -57,8 +38,11 @@ index f02af02..f83c181 100644
 -    "CMAKE_C_VISIBILITY_PRESET hidden"
 -    "CMAKE_CXX_VISIBILITY_PRESET hidden"
 -    "CMAKE_POSITION_INDEPENDENT_CODE ON"
+-    "NO_CMAKE_SYSTEM_PATH ON"
+-    "NO_CMAKE_INSTALL_PREFIX ON"
+-    "NO_CMAKE_SYSTEM_PACKAGE_REGISTRY ON"
 -    "SPDLOG_BUILD_SHARED OFF"
--    "SPDLOG_FMT_EXTERNAL ON")
+-    "SPDLOG_FMT_EXTERNAL OFF")
 -endif()
 -
  if(NOT TARGET Microsoft.GSL::GSL)
@@ -76,7 +60,89 @@ index f02af02..f83c181 100644
      "CMAKE_C_VISIBILITY_PRESET hidden"
      "CMAKE_CXX_VISIBILITY_PRESET hidden"
      "CMAKE_POSITION_INDEPENDENT_CODE ON")
-@@ -159,93 +116,24 @@ if(NOT TARGET taocpp::json)
+ endif()
+ 
+ if(NOT TARGET hdr_histogram_static)
+   # https://github.com/HdrHistogram/HdrHistogram_c/releases
+   cpmaddpackage(
+     NAME
+     hdr_histogram
+     GIT_TAG
+     0.11.8
+     VERSION
+     0.11.8
+     GITHUB_REPOSITORY
+     "HdrHistogram/HdrHistogram_c"
+     EXCLUDE_FROM_ALL ON
+     OPTIONS
+     "CMAKE_C_VISIBILITY_PRESET hidden"
+     "CMAKE_CXX_VISIBILITY_PRESET hidden"
+     "CMAKE_POSITION_INDEPENDENT_CODE ON"
+     "HDR_LOG_REQUIRED OFF"
+     "HDR_HISTOGRAM_BUILD_SHARED OFF"
+     "HDR_HISTOGRAM_BUILD_PROGRAMS OFF")
+ endif()
+ 
+ if(NOT TARGET llhttp::llhttp)
+   # https://github.com/nodejs/llhttp/releases
+   cpmaddpackage(
+     NAME
+     llhttp
+     GIT_TAG
+     release/v9.2.1
+     VERSION
+     9.2.1
+     GITHUB_REPOSITORY
+     "nodejs/llhttp"
+     EXCLUDE_FROM_ALL ON
+     OPTIONS
+     "CMAKE_C_VISIBILITY_PRESET hidden"
+     "CMAKE_CXX_VISIBILITY_PRESET hidden"
+     "CMAKE_POSITION_INDEPENDENT_CODE ON"
+     "BUILD_SHARED_LIBS OFF"
+     "BUILD_STATIC_LIBS ON")
+ endif()
+ 
+ if(NOT TARGET snappy)
+   # https://github.com/google/snappy/releases
+   cpmaddpackage(
+     NAME
+     snappy
+     GIT_TAG
+     1.2.2
+     VERSION
+     1.2.2
+     GITHUB_REPOSITORY
+     "google/snappy"
+     EXCLUDE_FROM_ALL ON
+     OPTIONS
+     "SNAPPY_INSTALL OFF"
+     "CMAKE_C_VISIBILITY_PRESET hidden"
+     "CMAKE_CXX_VISIBILITY_PRESET hidden"
+     "CMAKE_POSITION_INDEPENDENT_CODE ON"
+     "BUILD_SHARED_LIBS OFF"
+     "SNAPPY_BUILD_TESTS OFF"
+     "SNAPPY_BUILD_BENCHMARKS OFF")
+ endif()
+ if(NOT MSVC)
+   # https://github.com/google/snappy/pull/156
+   target_compile_options(snappy PRIVATE -Wno-sign-compare)
+ endif()
+ 
+ if(NOT TARGET taocpp::json)
+   # https://github.com/taocpp/json/releases
+   cpmaddpackage(
+     NAME
+     json
+     GIT_TAG
+     1.0.0-beta.14
+     VERSION
+     1.0.0-beta.14
+     GITHUB_REPOSITORY
+     "taocpp/json"
+     OPTIONS
+     "CMAKE_C_VISIBILITY_PRESET hidden"
+     "CMAKE_CXX_VISIBILITY_PRESET hidden"
      "CMAKE_POSITION_INDEPENDENT_CODE ON"
      "BUILD_SHARED_LIBS OFF"
      "PEGTL_INSTALL ${COUCHBASE_CXX_CLIENT_INSTALL}"
@@ -167,6 +233,5 @@ index f02af02..f83c181 100644
  declare_system_library(hdr_histogram_static)
  declare_system_library(Microsoft.GSL::GSL)
 -declare_system_library(spdlog::spdlog)
--declare_system_library(fmt::fmt)
 -declare_system_library(asio)
  declare_system_library(taocpp::json)
diff --git a/thirdparty/ranges-v3/remove-deprecated.patch 
b/thirdparty/ranges-v3/remove-deprecated.patch
new file mode 100644
index 000000000..f34182a63
--- /dev/null
+++ b/thirdparty/ranges-v3/remove-deprecated.patch
@@ -0,0 +1,27 @@
+diff --git a/include/meta/meta.hpp b/include/meta/meta.hpp
+index 1372703e7..66ee2928b 100644
+--- a/include/meta/meta.hpp
++++ b/include/meta/meta.hpp
+@@ -3776,7 +3776,7 @@ namespace meta
+         /// \ingroup integral
+         template <char... Chs>
+         constexpr fold<list<char_<Chs>...>, meta::size_t<0>, 
quote<detail::atoi_>>
+-            operator"" _z()
++            operator""_z()
+         {
+             return {};
+         }
+diff --git a/include/range/v3/utility/compressed_pair.hpp 
b/include/range/v3/utility/compressed_pair.hpp
+index 438d12f0d..a9590b4bd 100644
+--- a/include/range/v3/utility/compressed_pair.hpp
++++ b/include/range/v3/utility/compressed_pair.hpp
+@@ -92,8 +92,7 @@ namespace ranges
+         };
+ 
+         template<typename... Ts>
+-        using compressed_tuple RANGES_DEPRECATED(
+-            "ranges::compressed_tuple is deprecated.") =
++        using compressed_tuple =
+             compressed_tuple_<meta::list<Ts...>,
+                               meta::make_index_sequence<sizeof...(Ts)>>;
+     } // namespace compressed_tuple_detail

Reply via email to