summaryrefslogtreecommitdiffstats
path: root/depends/xz-embedded/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'depends/xz-embedded/CMakeLists.txt')
-rw-r--r--depends/xz-embedded/CMakeLists.txt45
1 files changed, 45 insertions, 0 deletions
diff --git a/depends/xz-embedded/CMakeLists.txt b/depends/xz-embedded/CMakeLists.txt
new file mode 100644
index 00000000..a71002fb
--- /dev/null
+++ b/depends/xz-embedded/CMakeLists.txt
@@ -0,0 +1,45 @@
+cmake_minimum_required(VERSION 2.6)
+project(xz-embedded)
+
+option(XZ_BUILD_BCJ "Build xz-embedded with BCJ support (native binary optimization)" OFF)
+option(XZ_BUILD_CRC64 "Build xz-embedded with CRC64 checksum support" ON)
+option(XZ_BUILD_MINIDEC "Build a tiny utility that decompresses xz streams" ON)
+
+set(CMAKE_C_FLAGS "-std=c99")
+
+include_directories(include)
+
+set(XZ_SOURCES
+include/xz.h
+src/xz_config.h
+src/xz_crc32.c
+src/xz_dec_lzma2.c
+src/xz_dec_stream.c
+src/xz_lzma2.h
+src/xz_private.h
+src/xz_stream.h
+)
+
+# checksum checks
+add_definitions(-DXZ_DEC_ANY_CHECK)
+if(XZ_BUILD_CRC64)
+ add_definitions(-DXZ_USE_CRC64)
+ LIST(APPEND XZ_SOURCES src/xz_crc64.c)
+endif()
+# TODO: add SHA256
+
+# uncomment these, if required.
+if(XZ_BUILD_BCJ)
+ add_definitions(-DXZ_DEC_X86 -DXZ_DEC_POWERPC -DXZ_DEC_IA64)
+ add_definitions(-DXZ_DEC_ARM -DXZ_DEC_ARMTHUMB -DXZ_DEC_SPARC)
+ LIST(APPEND XZ_SOURCES src/xz_dec_bcj.c)
+endif()
+
+# Static link!
+ADD_DEFINITIONS(-DXZ_STATIC)
+
+add_definitions(-DXZ_LIBRARY)
+
+add_library(xz-embedded SHARED ${XZ_SOURCES})
+add_executable(xzminidec xzminidec.c)
+target_link_libraries(xzminidec xz-embedded)