]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/libarchive/libarchive/CMakeLists.txt
Copy libarchive from vendor branch to contrib
[FreeBSD/FreeBSD.git] / contrib / libarchive / libarchive / CMakeLists.txt
1
2 ############################################
3 #
4 # How to build libarchive
5 #
6 ############################################
7
8 # Public headers
9 SET(include_HEADERS
10   archive.h
11   archive_entry.h
12 )
13
14 # Sources and private headers
15 SET(libarchive_SOURCES
16   archive_check_magic.c
17   archive_endian.h
18   archive_entry.c
19   archive_entry.h
20   archive_entry_copy_stat.c
21   archive_entry_link_resolver.c
22   archive_entry_private.h
23   archive_entry_stat.c
24   archive_entry_strmode.c
25   archive_entry_xattr.c
26   archive_hash.h
27   archive_platform.h
28   archive_private.h
29   archive_read.c
30   archive_read_data_into_fd.c
31   archive_read_disk.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
60   archive_string.c
61   archive_string.h
62   archive_string_sprintf.c
63   archive_util.c
64   archive_virtual.c
65   archive_write.c
66   archive_write_disk.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
90   filter_fork.c
91   filter_fork.h
92 )
93
94 # Man pages
95 SET(libarchive_MANS
96   archive_entry.3
97   archive_read.3
98   archive_read_disk.3
99   archive_util.3
100   archive_write.3
101   archive_write_disk.3
102   cpio.5
103   libarchive.3
104   libarchive_internals.3
105   libarchive-formats.5
106   mtree.5
107   tar.5
108 )
109
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)
116
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})
121
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
125   LIBARCHIVE_STATIC)
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)
130
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)
138
139 add_subdirectory(test)