name: [
Ubuntu 18.04 GCC,
Ubuntu 18.04 GCC OSB -O1,
+ Ubuntu 18.04 GCC Link Zlib,
Ubuntu 18.04 GCC No AVX2,
Ubuntu 18.04 GCC No SSE2,
Ubuntu 18.04 GCC No SSE4,
codecov: ubuntu_gcc_osb
cflags: -O1 -g3
+ - name: Ubuntu 18.04 GCC Link Zlib
+ os: ubuntu-18.04
+ compiler: gcc
+ cmake-args: -DZLIB_LINK_SYSLIB=ON
+
- name: Ubuntu 18.04 GCC No AVX2
os: ubuntu-18.04
compiler: gcc
option(WITH_GZFILEOP "Compile with support for gzFile related functions" OFF)
option(ZLIB_COMPAT "Compile with zlib compatible API" OFF)
option(ZLIB_ENABLE_TESTS "Build test binaries" ON)
+option(ZLIB_DUAL_LINK "Dual link tests against system zlib" OFF)
option(WITH_SANITIZERS "Build with address sanitizer and all supported sanitizers other than memory sanitizer" OFF)
option(WITH_MSAN "Build with memory sanitizer" OFF)
option(WITH_FUZZERS "Build test/fuzz" OFF)
option(WITH_PCLMULQDQ "Build with PCLMULQDQ" ON)
endif()
-mark_as_advanced(FORCE WITH_ACLE WITH_NEON WITH_DFLTCC_DEFLATE WITH_DFLTCC_INFLATE
+mark_as_advanced(FORCE ZLIB_DUAL_LINK WITH_ACLE WITH_NEON WITH_DFLTCC_DEFLATE WITH_DFLTCC_INFLATE
WITH_AVX2 WITH_SSE2 WITH_SSE4 WITH_PCLMULQDQ WITH_INFLATE_STRICT WITH_INFLATE_ALLOW_INVALID_DIST)
add_feature_info(ZLIB_COMPAT ZLIB_COMPAT "Provide a zlib-compatible API")
target_compile_definitions(${target} PUBLIC -DWITH_GZFILEOP)
target_sources(${target} PRIVATE ${ZLIB_GZFILE_SRCS})
endif()
+ if(ZLIB_DUAL_LINK)
+ find_package(ZLIB)
+ if(ZLIB_FOUND)
+ target_link_libraries(minigzip ${ZLIB_LIBRARIES})
+ endif()
+ endif()
endmacro()
add_executable(example test/example.c)
| CMake | configure | Description | Default |
|:--------------------------------|:----------------------|:--------------------------------------------------------------------|------------------------|
+| ZLIB_DUAL_LINK | | Dual link tests with system zlib | OFF |
| UNALIGNED_OK | | Allow unaligned reads | ON (x86, arm) |
| | --force-sse2 | Assume SSE2 instructions are always available | ON (x86), OFF (x86_64) |
| WITH_AVX2 | | Build with AVX2 intrinsics | ON |