contrib/libarchive/ contains a design doc, an annotated skeleton of archive_read_support_format_uc2(), and a CMake target that gates the build on -DUC2_BUILD_LIBARCHIVE_PLUGIN=ON plus find_package(LibArchive). The skeleton has the five required callbacks (bid, read_header, read_data, read_data_skip, cleanup) with TODO markers at each implementation point. The bid function has the magic-byte check ready; the rest call into libuc2 for parsing and decompression. libarchive's read-format API is internal; an out-of-tree .so cannot be loaded into an unmodified libarchive. The integration plan in contrib/libarchive/README.md is to upstream the file as a PR against libarchive/libarchive. Full implementation is tracked as git-bug b0b06a5.
19 lines
402 B
CMake
19 lines
402 B
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(UC2
|
|
VERSION 3.0.0
|
|
DESCRIPTION "UltraCompressor II — cross-platform revival"
|
|
LANGUAGES C ASM
|
|
)
|
|
|
|
include(cmake/UC2Platform.cmake)
|
|
|
|
add_subdirectory(lib)
|
|
add_subdirectory(cli)
|
|
add_subdirectory(contrib/libarchive)
|
|
|
|
option(UC2_BUILD_TESTS "Build tests" ON)
|
|
if(UC2_BUILD_TESTS AND NOT DJGPP)
|
|
enable_testing()
|
|
add_subdirectory(tests)
|
|
endif()
|