1 1.1 christos function(zlib_add_contrib_lib name description dir) 2 1.1 christos option(ZLIB_BUILD_${name} "Enable building of ${description}" OFF) 3 1.1 christos 4 1.1 christos if(ZLIB_BUILD_${name}) 5 1.1 christos if(NOT DEFINED ZLIB_${name}_BUILD_SHARED) 6 1.1 christos set(ZLIB_${name}_BUILD_SHARED ${ZLIB_BUILD_SHARED} CACHE BOOL "") 7 1.1 christos endif(NOT DEFINED ZLIB_${name}_BUILD_SHARED) 8 1.1 christos 9 1.1 christos if(NOT DEFINED ZLIB_${name}_BUILD_STATIC) 10 1.1 christos set(ZLIB_${name}_BUILD_STATIC ${ZLIB_BUILD_STATIC} CACHE BOOL "") 11 1.1 christos endif(NOT DEFINED ZLIB_${name}_BUILD_STATIC) 12 1.1 christos 13 1.1 christos if(NOT DEFINED ZLIB_${name}_BUILD_TESTING) 14 1.1 christos set(ZLIB_${name}_BUILD_TESTING ${ZLIB_BUILD_TESTING} CACHE BOOL "") 15 1.1 christos endif(NOT DEFINED ZLIB_${name}_BUILD_TESTING) 16 1.1 christos 17 1.1 christos if(NOT DEFINED ZLIB_${name}_INSTALL) 18 1.1 christos set(ZLIB_${name}_INSTALL ${ZLIB_INSTALL} CACHE BOOL "") 19 1.1 christos endif(NOT DEFINED ZLIB_${name}_INSTALL) 20 1.1 christos 21 1.1 christos add_subdirectory(${dir}/) 22 1.1 christos endif(ZLIB_BUILD_${name}) 23 1.1 christos endfunction(zlib_add_contrib_lib name description dir) 24 1.1 christos 25 1.1 christos function(zlib_add_contrib_feature name description dir) 26 1.1 christos if(ARGC EQUAL 4) 27 1.1 christos set(default_on ${ARGV3}) 28 1.1 christos else() 29 1.1 christos set(default_on Off) 30 1.1 christos endif() 31 1.1 christos 32 1.1 christos option(ZLIB_WITH_${name} 33 1.1 christos "Enable build ${description}" 34 1.1 christos ${default_on}) 35 1.1 christos 36 1.1 christos if(ZLIB_WITH_${name}) 37 1.1 christos add_subdirectory(${dir}/) 38 1.1 christos endif(ZLIB_WITH_${name}) 39 1.1 christos endfunction(zlib_add_contrib_feature name description dir) 40 1.1 christos 41 1.1 christos zlib_add_contrib_feature("GVMAT64" 42 1.1 christos "of an optimized longest_match for 32 bits x86_64" 43 1.1 christos gcc_gvmat64) 44 1.1 christos 45 1.1 christos zlib_add_contrib_feature(INFBACK9 "with support for method 9 deflate" infback9) 46 1.1 christos zlib_add_contrib_feature(CRC32VX "with S390X-CRC32VX implementation" crc32vx) 47 1.1 christos zlib_add_contrib_lib(ADA "Ada bindings" ada) 48 1.1 christos zlib_add_contrib_lib(BLAST "blast binary" blast) 49 1.1 christos zlib_add_contrib_lib(IOSTREAM3 "IOStream C++ bindings V3" iostream3) 50 1.1 christos zlib_add_contrib_lib(MINIZIP "minizip library" minizip) 51 1.1 christos zlib_add_contrib_lib(PUFF "puff decompress library" puff) 52 1.1 christos 53 1.1 christos if(WIN32) 54 1.1 christos zlib_add_contrib_lib(TESTZLIB "testzlib binary" testzlib) 55 1.1 christos 56 1.1 christos if (ZLIB_BUILD_ZLIB1_DLL) 57 1.1 christos add_subdirectory(zlib1-dll/) 58 1.1 christos endif (ZLIB_BUILD_ZLIB1_DLL) 59 1.1 christos 60 1.1 christos option(ZLIB_BUILD_ZLIB1_DLL "Build the legacy zlib + minizip DLL" OFF) 61 1.1 christos endif(WIN32) 62