]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Cmake: Add support for WITH_GZFILEOP and ZLIB_COMPAT
authorHans Kristian Rosbach <hk-git@circlestorm.org>
Tue, 12 May 2015 09:24:47 +0000 (11:24 +0200)
committerHans Kristian Rosbach <hk-git@circlestorm.org>
Tue, 12 May 2015 09:26:46 +0000 (11:26 +0200)
CMakeLists.txt

index 6fc555259d802a4cd0294894a2b158172c6ca40e..39fdce0ecff1bbc68d26643b64ca2a60ca855f02 100644 (file)
@@ -21,6 +21,23 @@ check_include_file(sys/types.h HAVE_SYS_TYPES_H)
 check_include_file(stdint.h    HAVE_STDINT_H)
 check_include_file(stddef.h    HAVE_STDDEF_H)
 
+#
+# Options parsing
+#
+
+option (ZLIB_COMPAT "Compile with zlib compatible API" OFF)
+if (ZLIB_COMPAT)
+    message(STATUS "ZLIB_COMPAT")
+    add_definitions(-DZLIB_COMPAT)
+    set (WITH_GZFILEOP ON)
+endif (ZLIB_COMPAT)
+
+option (WITH_GZFILEOP "Compile with support for gzFile related functions" OFF)
+if (WITH_GZFILEOP)
+    message(STATUS "WITH_GZFILEOP")
+    add_definitions(-DWITH_GZFILEOP)
+endif (WITH_GZFILEOP)
+
 #
 # Check to see if we have large file support
 #
@@ -127,10 +144,6 @@ set(ZLIB_SRCS
     compress.c
     crc32.c
     deflate.c
-    gzclose.c
-    gzlib.c
-    gzread.c
-    gzwrite.c
     inflate.c
     infback.c
     inftrees.c
@@ -140,6 +153,18 @@ set(ZLIB_SRCS
     uncompr.c
     zutil.c
 )
+if (WITH_GZFILEOP)
+    set(ZLIB_GZFILE_SRCS
+        gzclose.c
+        gzlib.c
+        gzread.c
+        gzwrite.c
+    )
+else (WITH_GZFILEOP)
+    set(ZLIB_GZFILE_SRCS
+    )
+endif (WITH_GZFILEOP)
+
 
 if(NOT MINGW)
     set(ZLIB_DLL_SRCS
@@ -168,8 +193,9 @@ if(MINGW)
     set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
 endif(MINGW)
 
-add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_GZFILE_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_GZFILE_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
+
 set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
 set_target_properties(zlib PROPERTIES SOVERSION 1)