@@ -124,6 +124,17 @@ else ()
124124 endif ()
125125 list (APPEND header_impls "${CHECKSUM_SRC} " )
126126
127+ if (LIBACQUIRE_USE_LIBARCHIVE)
128+ set (ARCHIVE_LIB "acquire_libarchive.h" )
129+ set (ARCHIVE_LIB_LINK "${LibArchive_LIBRARIES} " )
130+ elseif (LIBACQUIRE_USE_MINIZ)
131+ set (ARCHIVE_LIB "acquire_miniz.h" )
132+ set (ARCHIVE_LIB_LINK kubazip::kubazip)
133+ elseif (NOT DEFINED ARCHIVE_LIB)
134+ message (FATAL_ERROR "ARCHIVE_LIB must be set" )
135+ endif ()
136+ list (APPEND header_impls "${ARCHIVE_LIB} " )
137+
127138 message (STATUS "header_impls = ${header_impls} " )
128139
129140 foreach (header_file IN LISTS header_impls)
@@ -136,8 +147,10 @@ else ()
136147 set (associated_header "gen_acquire_download.h" )
137148 elseif (header_file STREQUAL CHECKSUM_SRC)
138149 # set(associated_header "gen_acquire_checksums.h")
139- else (header_file STREQUAL CHECKSUM_SRC_CRC32c)
150+ elseif (header_file STREQUAL CHECKSUM_SRC_CRC32c)
140151 #
152+ elseif (header_file STREQUAL ARCHIVE_LIB)
153+ set (associated_header "gen_acquire_extract.h" )
141154 endif ()
142155
143156 generate_header_and_source_from_header_only(
@@ -174,31 +187,31 @@ else ()
174187 #############
175188 if (src MATCHES "/gen_acquire_checksums.c$" )
176189 # if (NOT ("LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL" IN_LIST impls))
177- set_source_files_properties (
178- ${src} PROPERTIES
179- COMPILE_DEFINITIONS "LIBACQUIRE_IMPLEMENTATION=1"
180- )
181- # list(APPEND impls "LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL")
190+ set_source_files_properties (
191+ ${src} PROPERTIES
192+ COMPILE_DEFINITIONS "LIBACQUIRE_IMPLEMENTATION=1"
193+ )
194+ # list(APPEND impls "LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL")
182195 # endif (NOT ("LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL" IN_LIST impls))
183196 elseif (src MATCHES "/gen_acquire_crc32c.c$" )
184- if (NOT ("LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL" IN_LIST impls))
197+ if (NOT ("LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL" IN_LIST impls))
185198 set_source_files_properties (
186199 ${src} PROPERTIES
187200 COMPILE_DEFINITIONS "LIBACQUIRE_IMPLEMENTATION=1;LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL=1;LIBACQUIRE_USE_CRC32C=1;LIBACQUIRE_ACQUIRE_CRC32C_IMPL=1"
188201 )
189202 list (APPEND impls "LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL" "LIBACQUIRE_USE_CRC32C" "LIBACQUIRE_ACQUIRE_CRC32C_IMPL" )
190- endif (NOT ("LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL" IN_LIST impls))
203+ endif (NOT ("LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL" IN_LIST impls))
191204 elseif (src MATCHES "/gen_acquire_librhash.c$" )
192- if (NOT ("LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL" IN_LIST impls))
205+ if (NOT ("LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL" IN_LIST impls))
193206 set_source_files_properties (
194207 ${src} PROPERTIES
195208 COMPILE_DEFINITIONS "LIBACQUIRE_IMPLEMENTATION=1;LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL=1;LIBACQUIRE_USE_LIBRHASH=1"
196209 )
197210 list (APPEND impls "LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL" "LIBACQUIRE_USE_LIBRHASH" )
198- endif (NOT ("LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL" IN_LIST impls))
199- #############
200- # Fileutils #
201- #############
211+ endif (NOT ("LIBACQUIRE_ACQUIRE_CHECKSUMS_IMPL" IN_LIST impls))
212+ #############
213+ # Fileutils #
214+ #############
202215 elseif (src MATCHES "/gen_acquire_fileutils.c$" )
203216 if (NOT ("LIBACQUIRE_ACQUIRE_FILEUTILS_IMPL" IN_LIST impls))
204217 set_source_files_properties (
@@ -207,9 +220,9 @@ else ()
207220 )
208221 list (APPEND impls "LIBACQUIRE_ACQUIRE_FILEUTILS_IMPL" )
209222 endif (NOT ("LIBACQUIRE_ACQUIRE_FILEUTILS_IMPL" IN_LIST impls))
210- #################
211- # String extras #
212- #################
223+ #################
224+ # String extras #
225+ #################
213226 elseif (src MATCHES "/gen_acquire_string_extras.c$" )
214227 set_source_files_properties (
215228 ${src} PROPERTIES
@@ -220,17 +233,17 @@ else ()
220233 ${src} PROPERTIES
221234 COMPILE_DEFINITIONS "LIBACQUIRE_IMPLEMENTATION=1"
222235 )
223- ##################
224- # Network common #
225- ##################
236+ ##################
237+ # Network common #
238+ ##################
226239 elseif (src MATCHES "/gen_acquire_net_common.c$" )
227240 set_source_files_properties (
228241 ${src} PROPERTIES
229242 COMPILE_DEFINITIONS "LIBACQUIRE_IMPLEMENTATION=1"
230243 )
231- ##############
232- # Networking #
233- ##############
244+ ##############
245+ # Networking #
246+ ##############
234247 elseif (src MATCHES "/gen_acquire_libcurl.c$" )
235248 if (NOT ("LIBACQUIRE_DOWNLOAD_DIR_IMPL" IN_LIST impls))
236249 set_source_files_properties (
@@ -263,25 +276,25 @@ else ()
263276 )
264277 list (APPEND impls "LIBACQUIRE_DOWNLOAD_DIR_IMPL" "LIBACQUIRE_DOWNLOAD_IMPL" "LIBACQUIRE_USE_OPENBSD_FTP" )
265278 endif (NOT ("LIBACQUIRE_DOWNLOAD_DIR_IMPL" IN_LIST impls))
266- ###########
267- # Extract #
268- ###########
279+ ###########
280+ # Extract #
281+ ###########
269282 elseif (src MATCHES "/gen_acquire_extract.c$" )
270283 # For extract, could detect MINIZ or LIBARCHIVE.
271284 # NOTE: only one .c file is generated so not `IN_LIST impls` required
272285 if (LIBACQUIRE_USE_MINIZ)
273286 set_source_files_properties (${src} PROPERTIES
274- COMPILE_DEFINITIONS "LIBACQUIRE_IMPLEMENTATION=1;LIBACQUIRE_USE_MINIZ=1" )
287+ COMPILE_DEFINITIONS "LIBACQUIRE_IMPLEMENTATION=1;LIBACQUIRE_EXTRACT_IMPL=1; LIBACQUIRE_USE_MINIZ=1" )
275288 elseif (LIBACQUIRE_USE_LIBARCHIVE)
276289 set_source_files_properties (${src} PROPERTIES
277- COMPILE_DEFINITIONS "LIBACQUIRE_IMPLEMENTATION=1;LIBACQUIRE_USE_LIBARCHIVE=1" )
290+ COMPILE_DEFINITIONS "LIBACQUIRE_IMPLEMENTATION=1;LIBACQUIRE_EXTRACT_IMPL=1; LIBACQUIRE_USE_LIBARCHIVE=1" )
278291 else ()
279292 set_source_files_properties (${src} PROPERTIES
280- COMPILE_DEFINITIONS "LIBACQUIRE_IMPLEMENTATION=1" )
293+ COMPILE_DEFINITIONS "LIBACQUIRE_IMPLEMENTATION=1;LIBACQUIRE_EXTRACT_IMPL=1 " )
281294 endif ()
282- ############
283- # Fallback #
284- ############
295+ ############
296+ # Fallback #
297+ ############
285298 else ()
286299 message (STATUS "Nothing special with ${src} " )
287300 set_source_files_properties (${src} PROPERTIES COMPILE_DEFINITIONS "" )
@@ -337,15 +350,20 @@ else ()
337350 message (STATUS "[libacquire] Using var ${CHECKSUM_LIBRARIES} for checksums" )
338351 target_link_libraries ("${LIBRARY_NAME} " PUBLIC "${CHECKSUM_LIBRARIES} " )
339352 target_compile_definitions ("${LIBRARY_NAME} " PRIVATE "${CHECKSUM_LIBRARIES_USE} =1" )
340- elseif (LIBACQUIRE_USE_LIBRHASH)
353+ elseif (LIBACQUIRE_USE_CRC32C)
354+ message (STATUS "[libacquire] Using internal CRC32C implementation" )
355+ target_compile_definitions ("${LIBRARY_NAME} " PRIVATE LIBACQUIRE_USE_CRC32C=1)
356+ else ()
357+ message (FATAL_ERROR "No checksum implementation selected: define `LIBACQUIRE_USE_LIBRHASH` or `LIBACQUIRE_USE_CRC32C`" )
358+ endif ()
359+
360+ if (LIBACQUIRE_USE_LIBRHASH)
341361 message (STATUS "[libacquire] Using LibRHash for checksums" )
342362
343363 find_package (LibRHash REQUIRED)
344364 target_compile_definitions ("${LIBRARY_NAME} " PRIVATE LIBACQUIRE_USE_LIBRHASH=1)
345365
346366 get_target_property (linked_libs "${LIBRARY_NAME} " LINK_LIBRARIES )
347- message (STATUS "linked_libs = ${linked_libs} " )
348- message (STATUS "CHECKSUM_LIBRARIES at here is ${CHECKSUM_LIBRARIES} " )
349367 list (FIND linked_libs "${LibRHash_LIBRARIES} " lib_index)
350368 if (lib_index EQUAL -1)
351369 target_include_directories ("${LIBRARY_NAME} " PUBLIC "${LibRHash_INCLUDE_DIRS} " )
@@ -354,11 +372,10 @@ else ()
354372 else ()
355373 message (STATUS "${LIBRARY_NAME} already linked with '${_lib} '" )
356374 endif (lib_index EQUAL -1)
357- elseif (LIBACQUIRE_USE_CRC32C)
358- message (STATUS "[libacquire] Using internal CRC32C implementation" )
359- target_compile_definitions ("${LIBRARY_NAME} " PRIVATE LIBACQUIRE_USE_CRC32C=1)
360- else ()
361- message (FATAL_ERROR "No checksum implementation selected: define `LIBACQUIRE_USE_LIBRHASH` or `LIBACQUIRE_USE_CRC32C`" )
375+ elseif (LIBACQUIRE_USE_MINIZ)
376+ find_package (kubazip CONFIG REQUIRED)
377+ target_compile_definitions ("${LIBRARY_NAME} " PRIVATE LIBACQUIRE_USE_MINIZ=1)
378+ target_link_libraries ("${EXEC_NAME} " PRIVATE kubazip::kubazip)
362379 endif ()
363380
364381 if (NOT BSD)
@@ -380,7 +397,6 @@ else ()
380397 "$<BUILD_INTERFACE:${CMAKE_BINARY_DIR} /acquire>"
381398 "$<BUILD_INTERFACE:${CMAKE_BINARY_DIR} /gen>"
382399 "$<BUILD_INTERFACE:${CMAKE_BINARY_DIR} /src>"
383- "$<BUILD_INTERFACE:${CMAKE_BINARY_DIR} /third_party/miniz>"
384400 "$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR} /acquire>"
385401 "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR} >"
386402 )
@@ -436,7 +452,7 @@ include(GenerateExportHeader)
436452set (_export_file "${CMAKE_CURRENT_BINARY_DIR} /lib${LIBRARY_NAME} _export.h" )
437453
438454if (1)
439- # pass
455+ # pass
440456elseif (LIBACQUIRE_HEADER_ONLY)
441457 file (WRITE "${_export_file} "
442458 "#ifndef LIBACQUIRE_EXPORT_H\n "
0 commit comments