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
