2023-12-24 13:14:51 +01:00
|
|
|
cmake_minimum_required(VERSION 3.16)
|
|
|
|
|
|
|
|
include(ImHexPlugin)
|
|
|
|
|
2023-12-31 11:39:24 +01:00
|
|
|
macro(addOptionalLibrary package library)
|
|
|
|
find_package(${package})
|
|
|
|
if (${package}_FOUND)
|
|
|
|
string(TOUPPER ${package} PACKAGE)
|
|
|
|
set(LIBRARIES ${LIBRARIES} ${package}::${library})
|
|
|
|
message(STATUS "Enabling decompression support using ${package} (${${package}_VERSION})")
|
|
|
|
enable_plugin_feature(${PACKAGE})
|
|
|
|
endif()
|
|
|
|
|
|
|
|
endmacro()
|
2023-12-24 13:14:51 +01:00
|
|
|
|
|
|
|
add_imhex_plugin(
|
|
|
|
NAME
|
|
|
|
decompress
|
|
|
|
SOURCES
|
|
|
|
source/plugin_decompress.cpp
|
|
|
|
|
|
|
|
source/content/pl_functions.cpp
|
|
|
|
INCLUDES
|
|
|
|
include
|
|
|
|
LIBRARIES
|
|
|
|
ui
|
2024-01-28 22:14:59 +01:00
|
|
|
fonts
|
2023-12-31 11:39:24 +01:00
|
|
|
FEATURES
|
|
|
|
ZLIB
|
|
|
|
BZIP2
|
|
|
|
LIBLZMA
|
|
|
|
ZSTD
|
2023-12-24 13:14:51 +01:00
|
|
|
)
|
2023-12-31 11:39:24 +01:00
|
|
|
|
2024-02-13 20:22:28 +01:00
|
|
|
find_package(ZSTD)
|
|
|
|
if(ZSTD_FOUND)
|
|
|
|
set(LIBRARIES ${LIBRARIES} "${ZSTD_LIBRARY}")
|
|
|
|
message(STATUS "Enabling decompression support using ZSTD (${ZSTD_VERSION})")
|
|
|
|
enable_plugin_feature(ZSTD)
|
2023-12-31 11:39:24 +01:00
|
|
|
endif()
|
|
|
|
|
|
|
|
addOptionalLibrary(ZLIB ZLIB)
|
|
|
|
addOptionalLibrary(BZip2 BZip2)
|
|
|
|
addOptionalLibrary(LibLZMA LibLZMA)
|
|
|
|
target_link_libraries(decompress PRIVATE ${LIBRARIES})
|