fix: breakpad use miniz
Some checks failed
sm-rpc / build (Debug, arm-linux-gnueabihf) (push) Successful in 1m34s
sm-rpc / build (Debug, aarch64-linux-gnu) (push) Successful in 2m46s
sm-rpc / build (Debug, host.gcc) (push) Failing after 1m28s
sm-rpc / build (Release, aarch64-linux-gnu) (push) Successful in 2m14s
sm-rpc / build (Release, arm-linux-gnueabihf) (push) Successful in 2m8s
sm-rpc / build (Debug, mipsel-linux-gnu) (push) Successful in 5m35s
sm-rpc / build (Release, host.gcc) (push) Failing after 1m55s
sm-rpc / build (Release, mipsel-linux-gnu) (push) Successful in 7m21s
Some checks failed
sm-rpc / build (Debug, arm-linux-gnueabihf) (push) Successful in 1m34s
sm-rpc / build (Debug, aarch64-linux-gnu) (push) Successful in 2m46s
sm-rpc / build (Debug, host.gcc) (push) Failing after 1m28s
sm-rpc / build (Release, aarch64-linux-gnu) (push) Successful in 2m14s
sm-rpc / build (Release, arm-linux-gnueabihf) (push) Successful in 2m8s
sm-rpc / build (Debug, mipsel-linux-gnu) (push) Successful in 5m35s
sm-rpc / build (Release, host.gcc) (push) Failing after 1m55s
sm-rpc / build (Release, mipsel-linux-gnu) (push) Successful in 7m21s
This commit is contained in:
211
third_party/zlib-ng/test/pigz/CMakeLists.txt
vendored
Normal file
211
third_party/zlib-ng/test/pigz/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,211 @@
|
||||
# CMakeLists.txt -- Build madler/pigz against zlib variant
|
||||
|
||||
# Copyright (C) 2021 Nathan Moinvaziri
|
||||
# Licensed under the Zlib license, see LICENSE.md for details
|
||||
|
||||
# By default pigz will be linked against the system zlib and
|
||||
# pthread libraries if installed.
|
||||
|
||||
# For compilation on Windows download and use shim:
|
||||
# https://github.com/zlib-ng/pigzbench/tree/master/pigz/win
|
||||
|
||||
# Optional Variables
|
||||
# WITH_CODE_COVERAGE - Enable code coverage reporting
|
||||
# WITH_THREADS - Enable threading support
|
||||
# PIGZ_ENABLE_TESTS - Enable adding unit tests
|
||||
# PIGZ_VERSION - Set the version of pigz to build
|
||||
# ZLIB_ROOT - Path to the zlib source directory
|
||||
# PTHREADS4W_ROOT - Path to pthreads4w source directory on Windows.
|
||||
# If not specified then threading will be disabled.
|
||||
|
||||
cmake_minimum_required(VERSION 3.11)
|
||||
|
||||
include(CheckCCompilerFlag)
|
||||
include(FeatureSummary)
|
||||
include(FetchContent)
|
||||
|
||||
include(../../cmake/detect-coverage.cmake)
|
||||
|
||||
option(WITH_CODE_COVERAGE "Enable code coverage reporting" OFF)
|
||||
option(WITH_THREADS "Enable threading support" ON)
|
||||
option(PIGZ_ENABLE_TESTS "Build unit tests" ON)
|
||||
option(PIGZ_VERSION "Set the version of pigz to build" "")
|
||||
|
||||
project(pigz LANGUAGES C)
|
||||
|
||||
# Set code coverage compiler flags
|
||||
if(WITH_CODE_COVERAGE)
|
||||
add_code_coverage()
|
||||
endif()
|
||||
|
||||
# Compiler definitions
|
||||
if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
||||
add_definitions(-fno-caret-diagnostics)
|
||||
elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU")
|
||||
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.5.0)
|
||||
add_definitions(-Wno-unused-result)
|
||||
endif()
|
||||
if(NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 4.8.0)
|
||||
add_definitions(-fno-diagnostics-show-caret)
|
||||
endif()
|
||||
elseif(WIN32)
|
||||
add_definitions(-D_TIMESPEC_DEFINED)
|
||||
if(MSVC)
|
||||
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Fetch pigz source code from official repository
|
||||
if(PIGZ_VERSION STREQUAL "")
|
||||
set(PIGZ_TAG master)
|
||||
else()
|
||||
set(PIGZ_TAG ${PIGZ_VERSION})
|
||||
endif()
|
||||
FetchContent_Declare(pigz
|
||||
GIT_REPOSITORY https://github.com/madler/pigz.git
|
||||
GIT_TAG ${PIGZ_TAG})
|
||||
|
||||
FetchContent_GetProperties(pigz)
|
||||
if(NOT pigz_POPULATED)
|
||||
FetchContent_Populate(pigz)
|
||||
endif()
|
||||
|
||||
set(PIGZ_SRCS
|
||||
${pigz_SOURCE_DIR}/pigz.c
|
||||
${pigz_SOURCE_DIR}/try.c)
|
||||
|
||||
set(PIGZ_HDRS
|
||||
${pigz_SOURCE_DIR}/try.h)
|
||||
|
||||
add_executable(${PROJECT_NAME} ${PIGZ_SRCS} ${PIGZ_HDRS})
|
||||
add_definitions(-DNOZOPFLI)
|
||||
if(WIN32)
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE win)
|
||||
endif()
|
||||
|
||||
# Find and link against pthreads or pthreads4w
|
||||
if(WITH_THREADS)
|
||||
if(WIN32)
|
||||
if(DEFINED PTHREADS4W_ROOT)
|
||||
set(CLEANUP_STYLE VC)
|
||||
set(PTHREADS4W_VERSION 3)
|
||||
|
||||
add_subdirectory(${PTHREADS4W_ROOT} ${PTHREADS4W_ROOT} EXCLUDE_FROM_ALL)
|
||||
target_link_libraries(${PROJECT_NAME} pthreadVC3)
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ${PTHREADS4W_ROOT})
|
||||
else()
|
||||
message(WARNING "Missing pthreads4w root directory")
|
||||
set(WITH_THREADS OFF)
|
||||
endif()
|
||||
else()
|
||||
find_package(Threads REQUIRED)
|
||||
target_link_libraries(${PROJECT_NAME} Threads::Threads)
|
||||
if(NOT APPLE)
|
||||
target_link_libraries(${PROJECT_NAME} m)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Disable threading support
|
||||
if(NOT WITH_THREADS)
|
||||
add_definitions(-DNOTHREAD)
|
||||
else()
|
||||
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY SOURCES
|
||||
${pigz_SOURCE_DIR}/yarn.c
|
||||
${pigz_SOURCE_DIR}/yarn.h)
|
||||
endif()
|
||||
|
||||
# Find and link against zlib
|
||||
if(NOT DEFINED ZLIB_ROOT)
|
||||
find_package(Zlib REQUIRED)
|
||||
endif()
|
||||
|
||||
set(ZLIB_COMPAT ON)
|
||||
set(ZLIB_ENABLE_TESTS OFF)
|
||||
|
||||
add_subdirectory(${ZLIB_ROOT} ${CMAKE_CURRENT_BINARY_DIR}/zlib EXCLUDE_FROM_ALL)
|
||||
|
||||
if(NOT DEFINED BUILD_SHARED_LIBS OR NOT BUILD_SHARED_LIBS)
|
||||
set(ZLIB_TARGET zlibstatic)
|
||||
else()
|
||||
set(ZLIB_TARGET zlib)
|
||||
endif()
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ${ZLIB_ROOT} ${CMAKE_CURRENT_BINARY_DIR}/zlib)
|
||||
target_link_libraries(${PROJECT_NAME} ${ZLIB_TARGET})
|
||||
|
||||
if(NOT SKIP_INSTALL_BINARIES AND NOT SKIP_INSTALL_ALL)
|
||||
install(TARGETS ${PROJECT_NAME} DESTINATION "bin")
|
||||
endif()
|
||||
|
||||
# Add unit tests
|
||||
if(PIGZ_ENABLE_TESTS)
|
||||
enable_testing()
|
||||
|
||||
set(PIGZ_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:pigz>)
|
||||
|
||||
macro(test_pigz name path)
|
||||
# Construct compression arguments for pigz
|
||||
set(compress_args -k -c)
|
||||
foreach(extra_arg IN ITEMS "${ARGN}")
|
||||
list(APPEND compress_args ${extra_arg})
|
||||
endforeach()
|
||||
|
||||
# Create unique friendly string for test
|
||||
string(REPLACE ";" "" arg_list "${ARGN}")
|
||||
string(REPLACE " " "" arg_list "${arg_list}")
|
||||
string(REPLACE "-" "" arg_list "${arg_list}")
|
||||
|
||||
set(test_id pigz-${name}-${arg_list})
|
||||
|
||||
if(NOT TEST ${test_id})
|
||||
add_test(NAME ${test_id}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
"-DTARGET=${PIGZ_COMMAND}"
|
||||
"-DCOMPRESS_ARGS=${compress_args}"
|
||||
"-DDECOMPRESS_ARGS=-d;-c"
|
||||
-DINPUT=${CMAKE_CURRENT_SOURCE_DIR}/${path}
|
||||
-DTEST_NAME=${test_id}
|
||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/../cmake/compress-and-verify.cmake)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
set(TEST_CONFIGS
|
||||
-U # RLE compression
|
||||
#-H # Z_HUFFMAN_ONLY (broken in 2.6)
|
||||
-0 # No compression
|
||||
-1 # Deflate quick
|
||||
-4 # Deflate medium (lazy matches)
|
||||
-6 # Deflate medium
|
||||
-9 # Deflate slow
|
||||
)
|
||||
|
||||
file(GLOB_RECURSE TEST_FILE_PATHS
|
||||
LIST_DIRECTORIES false
|
||||
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../data/*)
|
||||
|
||||
foreach(TEST_FILE_PATH ${TEST_FILE_PATHS})
|
||||
if("${TEST_FILE_PATH}" MATCHES ".gz$" OR "${TEST_FILE_PATH}" MATCHES ".out$" OR
|
||||
"${TEST_FILE_PATH}" MATCHES "/.git/" OR "${TEST_FILE_PATH}" MATCHES ".md$")
|
||||
continue()
|
||||
endif()
|
||||
foreach(TEST_CONFIG ${TEST_CONFIGS})
|
||||
get_filename_component(TEST_NAME ${TEST_FILE_PATH} NAME)
|
||||
if (TEST_NAME STREQUAL "")
|
||||
continue()
|
||||
endif()
|
||||
test_pigz(${TEST_NAME} ${TEST_FILE_PATH} ${TEST_CONFIG})
|
||||
endforeach()
|
||||
endforeach()
|
||||
|
||||
set(GH979_COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:pigz>
|
||||
-d -k -f ${CMAKE_CURRENT_SOURCE_DIR}/../GH-979/pigz-2.6.tar.gz)
|
||||
add_test(NAME GH-979 COMMAND ${GH979_COMMAND})
|
||||
endif()
|
||||
|
||||
add_feature_info(WITH_CODE_COVERAGE WITH_CODE_COVERAGE "Enable code coverage reporting")
|
||||
add_feature_info(WITH_THREADS WITH_THREADS "Enable threading support")
|
||||
add_feature_info(PIGZ_ENABLE_TESTS PIGZ_ENABLE_TESTS "Build unit tests")
|
||||
|
||||
FEATURE_SUMMARY(WHAT ALL INCLUDE_QUIET_PACKAGES)
|
Reference in New Issue
Block a user