2 ############################################
4 # How to build libarchive
6 ############################################
14 # Sources and private headers
15 SET(libarchive_SOURCES
20 archive_entry_copy_stat.c
21 archive_entry_link_resolver.c
22 archive_entry_private.h
24 archive_entry_strmode.c
30 archive_read_data_into_fd.c
32 archive_read_disk_entry_from_file.c
33 archive_read_disk_private.h
34 archive_read_disk_set_standard_lookup.c
35 archive_read_extract.c
36 archive_read_open_fd.c
37 archive_read_open_file.c
38 archive_read_open_filename.c
39 archive_read_open_memory.c
40 archive_read_private.h
41 archive_read_support_compression_all.c
42 archive_read_support_compression_bzip2.c
43 archive_read_support_compression_compress.c
44 archive_read_support_compression_gzip.c
45 archive_read_support_compression_none.c
46 archive_read_support_compression_program.c
47 archive_read_support_compression_rpm.c
48 archive_read_support_compression_uu.c
49 archive_read_support_compression_xz.c
50 archive_read_support_format_all.c
51 archive_read_support_format_ar.c
52 archive_read_support_format_cpio.c
53 archive_read_support_format_empty.c
54 archive_read_support_format_iso9660.c
55 archive_read_support_format_mtree.c
56 archive_read_support_format_raw.c
57 archive_read_support_format_tar.c
58 archive_read_support_format_xar.c
59 archive_read_support_format_zip.c
62 archive_string_sprintf.c
67 archive_write_disk_private.h
68 archive_write_disk_set_standard_lookup.c
69 archive_write_private.h
70 archive_write_open_fd.c
71 archive_write_open_file.c
72 archive_write_open_filename.c
73 archive_write_open_memory.c
74 archive_write_set_compression_bzip2.c
75 archive_write_set_compression_compress.c
76 archive_write_set_compression_gzip.c
77 archive_write_set_compression_none.c
78 archive_write_set_compression_program.c
79 archive_write_set_compression_xz.c
80 archive_write_set_format.c
81 archive_write_set_format_ar.c
82 archive_write_set_format_by_name.c
83 archive_write_set_format_cpio.c
84 archive_write_set_format_cpio_newc.c
85 archive_write_set_format_mtree.c
86 archive_write_set_format_pax.c
87 archive_write_set_format_shar.c
88 archive_write_set_format_ustar.c
89 archive_write_set_format_zip.c
104 libarchive_internals.3
110 IF(WIN32 AND NOT CYGWIN)
111 LIST(APPEND libarchive_SOURCES archive_entry_copy_bhfi.c)
112 LIST(APPEND libarchive_SOURCES archive_windows.c)
113 LIST(APPEND libarchive_SOURCES archive_windows.h)
114 LIST(APPEND libarchive_SOURCES filter_fork_windows.c)
115 ENDIF(WIN32 AND NOT CYGWIN)
117 # Libarchive is a shared library
118 ADD_LIBRARY(archive SHARED ${libarchive_SOURCES} ${include_HEADERS})
119 TARGET_LINK_LIBRARIES(archive ${ADDITIONAL_LIBS})
120 SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION})
122 # archive_static is a static library
123 ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS})
124 SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS
126 # On Posix systems, libarchive.so and libarchive.a can co-exist.
127 IF(NOT WIN32 OR CYGWIN)
128 SET_TARGET_PROPERTIES(archive_static PROPERTIES OUTPUT_NAME archive)
129 ENDIF(NOT WIN32 OR CYGWIN)
131 # How to install the libraries
132 INSTALL(TARGETS archive archive_static
133 RUNTIME DESTINATION bin
134 LIBRARY DESTINATION lib
135 ARCHIVE DESTINATION lib)
136 INSTALL_MAN(${libarchive_MANS})
137 INSTALL(FILES ${include_HEADERS} DESTINATION include)
139 add_subdirectory(test)