From 4448dd0b9eaf51761edd356e1135a2d7340d9fe5 Mon Sep 17 00:00:00 2001 From: Bingran Hu Date: Sat, 9 Aug 2025 07:22:14 -0400 Subject: [PATCH 01/10] Add task based installation for liblzma and find liblzma module script --- components/core/CMakeLists.txt | 30 ++---- .../core/cmake/Modules/FindLibLZMA.cmake | 98 +++++++++++++++++++ components/core/cmake/Options/options.cmake | 6 +- taskfiles/deps/main.yaml | 15 +++ 4 files changed, 122 insertions(+), 27 deletions(-) create mode 100644 components/core/cmake/Modules/FindLibLZMA.cmake diff --git a/components/core/CMakeLists.txt b/components/core/CMakeLists.txt index 57715c7f5a..16a1f6abe8 100644 --- a/components/core/CMakeLists.txt +++ b/components/core/CMakeLists.txt @@ -310,31 +310,13 @@ if(CLP_NEED_ZSTD) endif() endif() -# Find and setup LZMA Library -# TODO: Add a script in ./cmake/Modules to properly import LZMA in find_package()'s module mode -if(CLP_NEED_LZMA) +if(CLP_NEED_LIBLZMA) if(CLP_USE_STATIC_LIBS) - set(LIBLZMA_USE_STATIC_LIBS ON) + set(LibLZMA_USE_STATIC_LIBS ON) endif() - find_package(LibLZMA REQUIRED) - if(LIBLZMA_FOUND) - message(STATUS "Found Lzma ${LIBLZMA_VERSION_STRING}") - message(STATUS "Lzma library location: ${LIBLZMA_LIBRARIES}") - message(STATUS "Lzma Include Dir: ${LIBLZMA_INCLUDE_DIRS}") - - # Version 5.8.1 and above address CVE-2024-3094 and CVE-2025-31115. - set(REQUIRED_LIBLZMA_VERSION "5.8.1") - if(LIBLZMA_VERSION_STRING VERSION_LESS ${REQUIRED_LIBLZMA_VERSION}) - message( - FATAL_ERROR - "Detected LibLZMA version ${LIBLZMA_VERSION_STRING} is older than required" - " ${REQUIRED_LIBLZMA_VERSION}" - ) - endif() - else() - message(FATAL_ERROR "Could not find ${CLP_LIBS_STRING} libraries for Lzma") - endif() - include_directories(${LIBLZMA_INCLUDE_DIRS}) + # Version 5.8.1 and above address CVE-2024-3094 and CVE-2025-31115. + find_package(LibLZMA 5.8.1 REQUIRED MODULE) + message(STATUS "Found LibLZMA ${LibLZMA_VERSION}") endif() # sqlite dependencies @@ -758,6 +740,7 @@ if(CLP_BUILD_TESTING) fmt::fmt log_surgeon::log_surgeon LibArchive::LibArchive + LibLZMA::LibLZMA MariaDBClient::MariaDBClient ${MONGOCXX_TARGET} nlohmann_json::nlohmann_json @@ -771,7 +754,6 @@ if(CLP_BUILD_TESTING) yaml-cpp ystdlib::containers ystdlib::error_handling - ${LIBLZMA_LIBRARIES} ZStd::ZStd ) target_compile_features(unitTest diff --git a/components/core/cmake/Modules/FindLibLZMA.cmake b/components/core/cmake/Modules/FindLibLZMA.cmake new file mode 100644 index 0000000000..b0b78cd42b --- /dev/null +++ b/components/core/cmake/Modules/FindLibLZMA.cmake @@ -0,0 +1,98 @@ +# Try to find LibLZMA +# NOTE: The FindLibLZMA.cmake included with CMake has no support for static libraries, so we use our +# own. +# +# Set LibLZMA_USE_STATIC_LIBS=ON to look for static libraries. +# +# Once done, this will define: +# LibLZMA_FOUND - Whether the library was found on the system +# LibLZMA_INCLUDE_DIR - The library include directories +# LibLZMA_LIBRARY - The path to the library file +# LibLZMA_VERSION - The version of the library installed on the system +# +# Conventions: +# - Variables only for use within the script are prefixed with "liblzma_" +# - Variables that should be externally visible are prefixed with "LibLZMA_" + +set(liblzma_HEADER "lzma.h") +set(liblzma_LIBNAME "lzma") +set(liblzma_PKGCONFIG_NAME "liblzma") + +if(DEFINED LibLZMA_ROOT) + set(liblzma_PKGCONFIG_DIR "${LibLZMA_ROOT}/lib/pkgconfig") + set(ENV{liblzma_ORIG_PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}") + set(ENV{PKG_CONFIG_PATH} "${liblzma_PKGCONFIG_DIR};$ENV{PKG_CONFIG_PATH}") +endif() + +# Run pkg-config +find_package(PkgConfig) +pkg_check_modules(liblzma_PKGCONF QUIET "${liblzma_PKGCONFIG_NAME}") + +# Set include directory +find_path(LibLZMA_INCLUDE_DIR ${liblzma_HEADER} + HINTS ${liblzma_PKGCONF_INCLUDEDIR} + PATH_SUFFIXES include + ) + +# Handle static libraries +if(LibLZMA_USE_STATIC_LIBS) + set(liblzma_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) + set(CMAKE_FIND_LIBRARY_SUFFIXES .a) +endif() + +# Find library +find_library(LibLZMA_LIBRARY + NAMES "${liblzma_LIBNAME}" + HINTS ${liblzma_PKGCONF_LIBDIR} + PATH_SUFFIXES lib + ) + +if(LibLZMA_USE_STATIC_LIBS) + # Restore original value of CMAKE_FIND_LIBRARY_SUFFIXES + set(CMAKE_FIND_LIBRARY_SUFFIXES ${bzip2_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) + unset(bzip2_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) +endif() + +# Set version +set(LibLZMA_VERSION ${liblzma_PKGCONF_VERSION}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(LibLZMA + REQUIRED_VARS LibLZMA_LIBRARY LibLZMA_INCLUDE_DIR + VERSION_VAR LibLZMA_VERSION + ) + +if(NOT TARGET LibLZMA::LibLZMA) + # Add library to build + if (LibLZMA_USE_STATIC_LIBS) + add_library(LibLZMA::LibLZMA STATIC IMPORTED) + else() + # NOTE: We use UNKNOWN so that if the user doesn't have the SHARED + # libraries installed, we can still use the STATIC libraries + add_library(LibLZMA::LibLZMA UNKNOWN IMPORTED) + endif() + + # Set include directories for library + if(LibLZMA_INCLUDE_DIR) + set_target_properties(LibLZMA::LibLZMA + PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${LibLZMA_INCLUDE_DIR}" + ) + endif() + + # Set location of library + if(EXISTS "${LibLZMA_LIBRARY}") + set_target_properties(LibLZMA::LibLZMA + PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${LibLZMA_LIBRARY}" + ) + endif() +endif() + +# Restore original value of PKG_CONFIG_PATH +if(DEFINED LibLZMA_ROOT) + set(ENV{PKG_CONFIG_PATH} "$ENV{liblzma_ORIG_PKG_CONFIG_PATH}") + unset(ENV{liblzma_ORIG_PKG_CONFIG_PATH}) +endif() + diff --git a/components/core/cmake/Options/options.cmake b/components/core/cmake/Options/options.cmake index a558b36f89..fc97d92d44 100644 --- a/components/core/cmake/Options/options.cmake +++ b/components/core/cmake/Options/options.cmake @@ -171,8 +171,8 @@ function(set_clp_tests_dependencies) CLP_NEED_DATE CLP_NEED_FMT CLP_NEED_LIBARCHIVE + CLP_NEED_LIBLZMA CLP_NEED_LOG_SURGEON - CLP_NEED_LZMA CLP_NEED_MARIADB CLP_NEED_MONGOCXX CLP_NEED_NLOHMANN_JSON @@ -456,9 +456,9 @@ function (convert_clp_dependency_properties_to_variables) CLP_NEED_CURL CLP_NEED_DATE CLP_NEED_FMT - CLP_NEED_LOG_SURGEON CLP_NEED_LIBARCHIVE - CLP_NEED_LZMA + CLP_NEED_LIBLZMA + CLP_NEED_LOG_SURGEON CLP_NEED_MARIADB CLP_NEED_MONGOCXX CLP_NEED_MSGPACKCXX diff --git a/taskfiles/deps/main.yaml b/taskfiles/deps/main.yaml index e4cbd258c6..a0e7b5122a 100644 --- a/taskfiles/deps/main.yaml +++ b/taskfiles/deps/main.yaml @@ -66,6 +66,7 @@ tasks: - task: "catch2" - task: "date" - task: "fmt" + - task: "liblzma" - task: "log-surgeon" - task: "microsoft.gsl" - task: "mongocxx" @@ -219,6 +220,20 @@ tasks: TARBALL_SHA256: "1250e4cc58bf06ee631567523f48848dc4596133e163f02615c97f78bab6c811" TARBALL_URL: "https://github.com/fmtlib/fmt/archive/refs/tags/10.2.1.tar.gz" + liblzma: + internal: true + run: "once" + cmds: + - task: "utils:install-remote-cmake-lib" + vars: + CMAKE_GEN_ARGS: + - "-DBUILD_SHARED_LIBS=ON" + - "-DCMAKE_BUILD_TYPE=Release" + - "-DCMAKE_INSTALL_MESSAGE=LAZY" + LIB_NAME: "LibLZMA" + TARBALL_SHA256: "507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543" + TARBALL_URL: "https://github.com/tukaani-project/xz/releases/download/v5.8.1/xz-5.8.1.tar.gz" + log-surgeon: internal: true run: "once" From 9188735322c577584e07966cca59e832f7d31aad Mon Sep 17 00:00:00 2001 From: Bingran Hu Date: Mon, 11 Aug 2025 06:03:20 -0400 Subject: [PATCH 02/10] lint fix --- taskfiles/deps/main.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/taskfiles/deps/main.yaml b/taskfiles/deps/main.yaml index cbcce2af82..e29737ae94 100644 --- a/taskfiles/deps/main.yaml +++ b/taskfiles/deps/main.yaml @@ -234,7 +234,8 @@ tasks: - "-DCMAKE_INSTALL_MESSAGE=LAZY" LIB_NAME: "LibLZMA" TARBALL_SHA256: "507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543" - TARBALL_URL: "https://github.com/tukaani-project/xz/releases/download/v5.8.1/xz-5.8.1.tar.gz" + TARBALL_URL: "https://github.com/tukaani-project/xz/releases/download/v5.8.1\ + /xz-5.8.1.tar.gz" log-surgeon: internal: true From 306a447a6d5f3430afa102dbb855e51a88e3514c Mon Sep 17 00:00:00 2001 From: Bingran Hu Date: Mon, 11 Aug 2025 06:04:31 -0400 Subject: [PATCH 03/10] temporarily change from parallel to sequential --- taskfiles/deps/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/taskfiles/deps/main.yaml b/taskfiles/deps/main.yaml index e29737ae94..3ce3140710 100644 --- a/taskfiles/deps/main.yaml +++ b/taskfiles/deps/main.yaml @@ -59,7 +59,7 @@ tasks: core-all-parallel: internal: true run: "once" - deps: + cmds: - task: "absl" - task: "antlr-jar" - task: "antlr-runtime" From 150cd4cfa319425497d8474808ce587ff24bbd70 Mon Sep 17 00:00:00 2001 From: Bingran Hu Date: Wed, 13 Aug 2025 03:18:52 -0400 Subject: [PATCH 04/10] change deps install from sequential to parallel again --- taskfiles/deps/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/taskfiles/deps/main.yaml b/taskfiles/deps/main.yaml index 3ce3140710..e29737ae94 100644 --- a/taskfiles/deps/main.yaml +++ b/taskfiles/deps/main.yaml @@ -59,7 +59,7 @@ tasks: core-all-parallel: internal: true run: "once" - cmds: + deps: - task: "absl" - task: "antlr-jar" - task: "antlr-runtime" From 18f42c4fd0f9ea8f43230e3dfdf63b1f229ccb8d Mon Sep 17 00:00:00 2001 From: Bingran Hu Date: Wed, 13 Aug 2025 15:40:38 -0400 Subject: [PATCH 05/10] fix copy paste typo --- components/core/cmake/Modules/FindLibLZMA.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/core/cmake/Modules/FindLibLZMA.cmake b/components/core/cmake/Modules/FindLibLZMA.cmake index b0b78cd42b..52ba4985e6 100644 --- a/components/core/cmake/Modules/FindLibLZMA.cmake +++ b/components/core/cmake/Modules/FindLibLZMA.cmake @@ -49,8 +49,8 @@ find_library(LibLZMA_LIBRARY if(LibLZMA_USE_STATIC_LIBS) # Restore original value of CMAKE_FIND_LIBRARY_SUFFIXES - set(CMAKE_FIND_LIBRARY_SUFFIXES ${bzip2_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) - unset(bzip2_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) + set(CMAKE_FIND_LIBRARY_SUFFIXES ${liblzma_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) + unset(liblzma_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES) endif() # Set version From 3112d8e38a44f482155fcacb92a94703a950e1da Mon Sep 17 00:00:00 2001 From: Bingran Hu Date: Wed, 13 Aug 2025 15:55:28 -0400 Subject: [PATCH 06/10] Update correct package config path separator --- components/core/cmake/Modules/FindLibLZMA.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/core/cmake/Modules/FindLibLZMA.cmake b/components/core/cmake/Modules/FindLibLZMA.cmake index 52ba4985e6..faef1e1442 100644 --- a/components/core/cmake/Modules/FindLibLZMA.cmake +++ b/components/core/cmake/Modules/FindLibLZMA.cmake @@ -21,7 +21,7 @@ set(liblzma_PKGCONFIG_NAME "liblzma") if(DEFINED LibLZMA_ROOT) set(liblzma_PKGCONFIG_DIR "${LibLZMA_ROOT}/lib/pkgconfig") set(ENV{liblzma_ORIG_PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}") - set(ENV{PKG_CONFIG_PATH} "${liblzma_PKGCONFIG_DIR};$ENV{PKG_CONFIG_PATH}") + set(ENV{PKG_CONFIG_PATH} "${liblzma_PKGCONFIG_DIR}:$ENV{PKG_CONFIG_PATH}") endif() # Run pkg-config From 024a9ede3588c5babfab566bc148f5ebe6b05eb9 Mon Sep 17 00:00:00 2001 From: Bingran Hu Date: Thu, 14 Aug 2025 03:56:21 +0800 Subject: [PATCH 07/10] Update components/core/cmake/Modules/FindLibLZMA.cmake --- components/core/cmake/Modules/FindLibLZMA.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/components/core/cmake/Modules/FindLibLZMA.cmake b/components/core/cmake/Modules/FindLibLZMA.cmake index faef1e1442..1a9f96d539 100644 --- a/components/core/cmake/Modules/FindLibLZMA.cmake +++ b/components/core/cmake/Modules/FindLibLZMA.cmake @@ -95,4 +95,3 @@ if(DEFINED LibLZMA_ROOT) set(ENV{PKG_CONFIG_PATH} "$ENV{liblzma_ORIG_PKG_CONFIG_PATH}") unset(ENV{liblzma_ORIG_PKG_CONFIG_PATH}) endif() - From 8f1ad98a531df45a1339773987a7b322abba8774 Mon Sep 17 00:00:00 2001 From: Bingran Hu Date: Sun, 17 Aug 2025 15:05:26 -0400 Subject: [PATCH 08/10] Install both static and shared versions of liblzma --- components/core/CMakeLists.txt | 8 +++- .../core/cmake/Modules/FindLibLZMA.cmake | 7 ++-- taskfiles/deps/main.yaml | 40 ++++++++++++++++++- 3 files changed, 48 insertions(+), 7 deletions(-) diff --git a/components/core/CMakeLists.txt b/components/core/CMakeLists.txt index 1eac641c8e..4f3ede9ef3 100644 --- a/components/core/CMakeLists.txt +++ b/components/core/CMakeLists.txt @@ -123,7 +123,8 @@ if(PROJECT_IS_TOP_LEVEL) # Include dependency settings if the project isn't being included as a subproject. # NOTE: We mark the file optional since it's not required if the user happens to have the # dependencies installed already. - include("${CMAKE_SOURCE_DIR}/../../build/deps/core/cmake-settings/all.cmake" + set(CLP_CORE_DEPS_DIR "${CMAKE_SOURCE_DIR}/../../build/deps/core") + include("${CLP_CORE_DEPS_DIR}/cmake-settings/all.cmake" OPTIONAL RESULT_VARIABLE CLP_DEPS_SETTINGS_FILE_PATH ) @@ -310,10 +311,13 @@ endif() if(CLP_NEED_LIBLZMA) if(CLP_USE_STATIC_LIBS) + set(LibLZMA_ROOT ${LibLZMA-static_ROOT}) set(LibLZMA_USE_STATIC_LIBS ON) + else() + set(LibLZMA_ROOT ${LibLZMA-shared_ROOT}) endif() # Version 5.8.1 and above address CVE-2024-3094 and CVE-2025-31115. - find_package(LibLZMA 5.8.1 REQUIRED MODULE) + find_package(LibLZMA 5.8.1 REQUIRED) message(STATUS "Found LibLZMA ${LibLZMA_VERSION}") endif() diff --git a/components/core/cmake/Modules/FindLibLZMA.cmake b/components/core/cmake/Modules/FindLibLZMA.cmake index 1a9f96d539..2e0684d30c 100644 --- a/components/core/cmake/Modules/FindLibLZMA.cmake +++ b/components/core/cmake/Modules/FindLibLZMA.cmake @@ -18,10 +18,9 @@ set(liblzma_HEADER "lzma.h") set(liblzma_LIBNAME "lzma") set(liblzma_PKGCONFIG_NAME "liblzma") -if(DEFINED LibLZMA_ROOT) - set(liblzma_PKGCONFIG_DIR "${LibLZMA_ROOT}/lib/pkgconfig") +if(DEFINED CLP_CORE_DEPS_DIR) set(ENV{liblzma_ORIG_PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}") - set(ENV{PKG_CONFIG_PATH} "${liblzma_PKGCONFIG_DIR}:$ENV{PKG_CONFIG_PATH}") + set(ENV{PKG_CONFIG_PATH} "${CLP_CORE_DEPS_DIR}:$ENV{PKG_CONFIG_PATH}") endif() # Run pkg-config @@ -91,7 +90,7 @@ if(NOT TARGET LibLZMA::LibLZMA) endif() # Restore original value of PKG_CONFIG_PATH -if(DEFINED LibLZMA_ROOT) +if(DEFINED CLP_CORE_DEPS_DIR) set(ENV{PKG_CONFIG_PATH} "$ENV{liblzma_ORIG_PKG_CONFIG_PATH}") unset(ENV{liblzma_ORIG_PKG_CONFIG_PATH}) endif() diff --git a/taskfiles/deps/main.yaml b/taskfiles/deps/main.yaml index 4ed5a8c077..2979947461 100644 --- a/taskfiles/deps/main.yaml +++ b/taskfiles/deps/main.yaml @@ -223,6 +223,13 @@ tasks: TARBALL_URL: "https://github.com/fmtlib/fmt/archive/refs/tags/10.2.1.tar.gz" liblzma: + internal: true + run: "once" + deps: + - task: "liblzma-shared" + - task: "liblzma-static" + + liblzma-shared: internal: true run: "once" cmds: @@ -230,9 +237,40 @@ tasks: vars: CMAKE_GEN_ARGS: - "-DBUILD_SHARED_LIBS=ON" + - "-DBUILD_TESTING=OFF" + - "-DCMAKE_BUILD_TYPE=Release" + - "-DCMAKE_INSTALL_MESSAGE=LAZY" + - "-DXZ_DOC=OFF" + - "-DXZ_TOOL_LZMADEC=OFF" + - "-DXZ_TOOL_LZMAINFO=OFF" + - "-DXZ_TOOL_SCRIPTS=OFF" + - "-DXZ_TOOL_SYMLINKS_LZMA=OFF" + - "-DXZ_TOOL_XZ=OFF" + - "-DXZ_TOOL_XZDEC=OFF" + LIB_NAME: "LibLZMA-shared" + TARBALL_SHA256: "507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543" + TARBALL_URL: "https://github.com/tukaani-project/xz/releases/download/v5.8.1\ + /xz-5.8.1.tar.gz" + + liblzma-static: + internal: true + run: "once" + cmds: + - task: "utils:install-remote-cmake-lib" + vars: + CMAKE_GEN_ARGS: + - "-DBUILD_SHARED_LIBS=OFF" + - "-DBUILD_TESTING=OFF" - "-DCMAKE_BUILD_TYPE=Release" - "-DCMAKE_INSTALL_MESSAGE=LAZY" - LIB_NAME: "LibLZMA" + - "-DXZ_DOC=OFF" + - "-DXZ_TOOL_LZMADEC=OFF" + - "-DXZ_TOOL_LZMAINFO=OFF" + - "-DXZ_TOOL_SCRIPTS=OFF" + - "-DXZ_TOOL_SYMLINKS_LZMA=OFF" + - "-DXZ_TOOL_XZ=OFF" + - "-DXZ_TOOL_XZDEC=OFF" + LIB_NAME: "LibLZMA-static" TARBALL_SHA256: "507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543" TARBALL_URL: "https://github.com/tukaani-project/xz/releases/download/v5.8.1\ /xz-5.8.1.tar.gz" From f3e89654d4c04ae1219ff98c31c01e05ce99a11a Mon Sep 17 00:00:00 2001 From: Bingran Hu Date: Mon, 18 Aug 2025 09:50:25 +0000 Subject: [PATCH 09/10] Create liblzma install helper to reduce arg copying --- .../core/cmake/Modules/FindLibLZMA.cmake | 2 +- taskfiles/deps/main.yaml | 82 +++++++++---------- 2 files changed, 40 insertions(+), 44 deletions(-) diff --git a/components/core/cmake/Modules/FindLibLZMA.cmake b/components/core/cmake/Modules/FindLibLZMA.cmake index 2e0684d30c..60e3488f49 100644 --- a/components/core/cmake/Modules/FindLibLZMA.cmake +++ b/components/core/cmake/Modules/FindLibLZMA.cmake @@ -36,7 +36,7 @@ find_path(LibLZMA_INCLUDE_DIR ${liblzma_HEADER} # Handle static libraries if(LibLZMA_USE_STATIC_LIBS) set(liblzma_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES}) - set(CMAKE_FIND_LIBRARY_SUFFIXES .a) + set(CMAKE_FIND_LIBRARY_SUFFIXES "${CMAKE_STATIC_LIBRARY_SUFFIX}") endif() # Find library diff --git a/taskfiles/deps/main.yaml b/taskfiles/deps/main.yaml index 2979947461..9b8a4ac612 100644 --- a/taskfiles/deps/main.yaml +++ b/taskfiles/deps/main.yaml @@ -223,57 +223,53 @@ tasks: TARBALL_URL: "https://github.com/fmtlib/fmt/archive/refs/tags/10.2.1.tar.gz" liblzma: - internal: true + vars: + COMMON_CMAKE_GEN_ARGS: + - "-DBUILD_TESTING=OFF" + - "-DCMAKE_BUILD_TYPE=Release" + - "-DCMAKE_INSTALL_MESSAGE=LAZY" + - "-DXZ_DOC=OFF" + - "-DXZ_TOOL_LZMADEC=OFF" + - "-DXZ_TOOL_LZMAINFO=OFF" + - "-DXZ_TOOL_SCRIPTS=OFF" + - "-DXZ_TOOL_SYMLINKS_LZMA=OFF" + - "-DXZ_TOOL_XZ=OFF" + - "-DXZ_TOOL_XZDEC=OFF" + TARBALL_SHA256: "507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543" + TARBALL_URL: "https://github.com/tukaani-project/xz/releases/download/v5.8.1/xz-5.8.1.tar.gz" run: "once" deps: - - task: "liblzma-shared" - - task: "liblzma-static" - - liblzma-shared: - internal: true - run: "once" - cmds: - - task: "utils:install-remote-cmake-lib" + - task: "liblzma-install" vars: - CMAKE_GEN_ARGS: - - "-DBUILD_SHARED_LIBS=ON" - - "-DBUILD_TESTING=OFF" - - "-DCMAKE_BUILD_TYPE=Release" - - "-DCMAKE_INSTALL_MESSAGE=LAZY" - - "-DXZ_DOC=OFF" - - "-DXZ_TOOL_LZMADEC=OFF" - - "-DXZ_TOOL_LZMAINFO=OFF" - - "-DXZ_TOOL_SCRIPTS=OFF" - - "-DXZ_TOOL_SYMLINKS_LZMA=OFF" - - "-DXZ_TOOL_XZ=OFF" - - "-DXZ_TOOL_XZDEC=OFF" - LIB_NAME: "LibLZMA-shared" - TARBALL_SHA256: "507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543" - TARBALL_URL: "https://github.com/tukaani-project/xz/releases/download/v5.8.1\ - /xz-5.8.1.tar.gz" - - liblzma-static: + BUILD_SHARED_LIBS: true + COMMON_CMAKE_GEN_ARGS: + ref: ".COMMON_CMAKE_GEN_ARGS" + TARBALL_SHA256: "{{.TARBALL_SHA256}}" + TARBALL_URL: "{{.TARBALL_URL}}" + - task: "liblzma-install" + vars: + BUILD_SHARED_LIBS: false + COMMON_CMAKE_GEN_ARGS: + ref: ".COMMON_CMAKE_GEN_ARGS" + TARBALL_SHA256: "{{.TARBALL_SHA256}}" + TARBALL_URL: "{{.TARBALL_URL}}" + + liblzma-install: internal: true - run: "once" + requires: + vars: ["BUILD_SHARED_LIBS", "COMMON_CMAKE_GEN_ARGS", "TARBALL_SHA256", "TARBALL_URL"] cmds: - task: "utils:install-remote-cmake-lib" vars: CMAKE_GEN_ARGS: - - "-DBUILD_SHARED_LIBS=OFF" - - "-DBUILD_TESTING=OFF" - - "-DCMAKE_BUILD_TYPE=Release" - - "-DCMAKE_INSTALL_MESSAGE=LAZY" - - "-DXZ_DOC=OFF" - - "-DXZ_TOOL_LZMADEC=OFF" - - "-DXZ_TOOL_LZMAINFO=OFF" - - "-DXZ_TOOL_SCRIPTS=OFF" - - "-DXZ_TOOL_SYMLINKS_LZMA=OFF" - - "-DXZ_TOOL_XZ=OFF" - - "-DXZ_TOOL_XZDEC=OFF" - LIB_NAME: "LibLZMA-static" - TARBALL_SHA256: "507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543" - TARBALL_URL: "https://github.com/tukaani-project/xz/releases/download/v5.8.1\ - /xz-5.8.1.tar.gz" + - >- + -DBUILD_SHARED_LIBS={{ if .BUILD_SHARED_LIBS }}ON{{ else }}OFF{{ end }} + - >- + {{ join " " .COMMON_CMAKE_GEN_ARGS }} + LIB_NAME: >- + LibLZMA-{{ if .BUILD_SHARED_LIBS }}shared{{ else }}static{{ end }} + TARBALL_SHA256: "{{.TARBALL_SHA256}}" + TARBALL_URL: "{{.TARBALL_URL}}" log-surgeon: internal: true From fc9b3722de8380823f24be87518c19e9461a748d Mon Sep 17 00:00:00 2001 From: Bingran Hu Date: Mon, 18 Aug 2025 05:55:11 -0400 Subject: [PATCH 10/10] Minor fixes --- taskfiles/deps/main.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/taskfiles/deps/main.yaml b/taskfiles/deps/main.yaml index 9b8a4ac612..3b42015956 100644 --- a/taskfiles/deps/main.yaml +++ b/taskfiles/deps/main.yaml @@ -223,6 +223,7 @@ tasks: TARBALL_URL: "https://github.com/fmtlib/fmt/archive/refs/tags/10.2.1.tar.gz" liblzma: + internal: true vars: COMMON_CMAKE_GEN_ARGS: - "-DBUILD_TESTING=OFF" @@ -262,12 +263,10 @@ tasks: - task: "utils:install-remote-cmake-lib" vars: CMAKE_GEN_ARGS: - - >- - -DBUILD_SHARED_LIBS={{ if .BUILD_SHARED_LIBS }}ON{{ else }}OFF{{ end }} + - "-DBUILD_SHARED_LIBS={{ if .BUILD_SHARED_LIBS }}ON{{ else }}OFF{{ end }}" - >- {{ join " " .COMMON_CMAKE_GEN_ARGS }} - LIB_NAME: >- - LibLZMA-{{ if .BUILD_SHARED_LIBS }}shared{{ else }}static{{ end }} + LIB_NAME: "LibLZMA-{{ if .BUILD_SHARED_LIBS }}shared{{ else }}static{{ end }}" TARBALL_SHA256: "{{.TARBALL_SHA256}}" TARBALL_URL: "{{.TARBALL_URL}}"