14
14
# Sources and private headers
15
15
SET(libarchive_SOURCES
16
17
archive_check_magic.c
19
archive_crypto_private.h
20
23
archive_entry_copy_stat.c
21
# archive_entry_copy_bhfi.c
22
24
archive_entry_link_resolver.c
25
archive_entry_locale.h
23
26
archive_entry_private.h
27
archive_entry_sparse.c
24
28
archive_entry_stat.c
25
29
archive_entry_strmode.c
26
30
archive_entry_xattr.c
32
archive_options_private.h
34
archive_ppmd_private.h
36
archive_ppmd7_private.h
30
41
archive_read_data_into_fd.c
32
42
archive_read_disk_entry_from_file.c
43
archive_read_disk_posix.c
33
44
archive_read_disk_private.h
34
45
archive_read_disk_set_standard_lookup.c
35
46
archive_read_extract.c
38
49
archive_read_open_filename.c
39
50
archive_read_open_memory.c
40
51
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_xz.c
52
archive_read_set_options.c
53
archive_read_support_filter_all.c
54
archive_read_support_filter_bzip2.c
55
archive_read_support_filter_compress.c
56
archive_read_support_filter_gzip.c
57
archive_read_support_filter_none.c
58
archive_read_support_filter_program.c
59
archive_read_support_filter_rpm.c
60
archive_read_support_filter_uu.c
61
archive_read_support_filter_xz.c
62
archive_read_support_format_7zip.c
48
63
archive_read_support_format_all.c
49
64
archive_read_support_format_ar.c
65
archive_read_support_format_by_code.c
66
archive_read_support_format_cab.c
50
67
archive_read_support_format_cpio.c
51
68
archive_read_support_format_empty.c
52
69
archive_read_support_format_iso9660.c
70
archive_read_support_format_lha.c
53
71
archive_read_support_format_mtree.c
72
archive_read_support_format_rar.c
54
73
archive_read_support_format_raw.c
55
74
archive_read_support_format_tar.c
75
archive_read_support_format_xar.c
56
76
archive_read_support_format_zip.c
79
archive_string_composition.h
59
80
archive_string_sprintf.c
84
archive_write_disk_posix.c
64
85
archive_write_disk_private.h
65
86
archive_write_disk_set_standard_lookup.c
66
87
archive_write_private.h
68
89
archive_write_open_file.c
69
90
archive_write_open_filename.c
70
91
archive_write_open_memory.c
71
archive_write_set_compression_bzip2.c
72
archive_write_set_compression_compress.c
73
archive_write_set_compression_gzip.c
74
archive_write_set_compression_none.c
75
archive_write_set_compression_program.c
76
archive_write_set_compression_xz.c
92
archive_write_add_filter_bzip2.c
93
archive_write_add_filter_compress.c
94
archive_write_add_filter_gzip.c
95
archive_write_add_filter_none.c
96
archive_write_add_filter_program.c
97
archive_write_add_filter_xz.c
77
98
archive_write_set_format.c
99
archive_write_set_format_7zip.c
78
100
archive_write_set_format_ar.c
79
101
archive_write_set_format_by_name.c
80
102
archive_write_set_format_cpio.c
81
103
archive_write_set_format_cpio_newc.c
104
archive_write_set_format_gnutar.c
105
archive_write_set_format_iso9660.c
82
106
archive_write_set_format_mtree.c
83
107
archive_write_set_format_pax.c
84
108
archive_write_set_format_shar.c
85
109
archive_write_set_format_ustar.c
110
archive_write_set_format_xar.c
86
111
archive_write_set_format_zip.c
112
archive_write_set_options.c
107
141
IF(WIN32 AND NOT CYGWIN)
108
142
LIST(APPEND libarchive_SOURCES archive_entry_copy_bhfi.c)
143
LIST(APPEND libarchive_SOURCES archive_read_disk_windows.c)
109
144
LIST(APPEND libarchive_SOURCES archive_windows.c)
110
145
LIST(APPEND libarchive_SOURCES archive_windows.h)
146
LIST(APPEND libarchive_SOURCES archive_write_disk_windows.c)
111
147
LIST(APPEND libarchive_SOURCES filter_fork_windows.c)
112
148
ENDIF(WIN32 AND NOT CYGWIN)
114
IF(BUILD_ARCHIVE_WITHIN_CMAKE)
115
# when building inside the CMake tree only use static
116
# and call the library cmlibarchive
117
ADD_LIBRARY(cmlibarchive STATIC ${libarchive_SOURCES} ${include_HEADERS})
118
TARGET_LINK_LIBRARIES(cmlibarchive ${ADDITIONAL_LIBS})
120
# Libarchive is a shared library
121
ADD_LIBRARY(archive SHARED ${libarchive_SOURCES} ${include_HEADERS})
122
TARGET_LINK_LIBRARIES(archive ${ADDITIONAL_LIBS})
123
SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION})
124
SET_TARGET_PROPERTIES(archive PROPERTIES
125
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
127
# archive_static is a static library
128
ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS})
129
SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS
131
SET_TARGET_PROPERTIES(archive_static PROPERTIES
132
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
133
# On Posix systems, libarchive.so and libarchive.a can co-exist.
134
IF(NOT WIN32 OR CYGWIN)
135
SET_TARGET_PROPERTIES(archive_static PROPERTIES OUTPUT_NAME archive)
136
ENDIF(NOT WIN32 OR CYGWIN)
138
# How to install the libraries
139
INSTALL(TARGETS archive archive_static
140
RUNTIME DESTINATION bin
141
LIBRARY DESTINATION lib
142
ARCHIVE DESTINATION lib)
143
INSTALL_MAN(${libarchive_MANS})
144
INSTALL(FILES ${include_HEADERS} DESTINATION include)
145
ADD_SUBDIRECTORY(test)
150
# CMake needs just one static "cmlibarchive" library.
151
ADD_LIBRARY(cmlibarchive STATIC ${libarchive_SOURCES} ${include_HEADERS})
152
TARGET_LINK_LIBRARIES(cmlibarchive ${ADDITIONAL_LIBS})