Imported Upstream version 0.6.9
[platform/upstream/libsolv.git] / ext / CMakeLists.txt
1 SET (libsolvext_SRCS
2     solv_xfopen.c testcase.c)
3
4 SET (libsolvext_HEADERS
5     tools_util.h solv_xfopen.h testcase.h)
6
7 IF (ENABLE_RPMDB)
8     SET (libsolvext_SRCS ${libsolvext_SRCS}
9         pool_fileconflicts.c repo_rpmdb.c)
10     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
11         pool_fileconflicts.h repo_rpmdb.h)
12 ENDIF (ENABLE_RPMDB)
13
14 IF (ENABLE_PUBKEY)
15     SET (libsolvext_SRCS ${libsolvext_SRCS}
16         repo_pubkey.c)
17     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
18         repo_pubkey.h)
19 ENDIF (ENABLE_PUBKEY)
20
21 IF (ENABLE_PGPVRFY)
22     SET (libsolvext_SRCS ${libsolvext_SRCS}
23         solv_pgpvrfy.c)
24     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
25         solv_pgpvrfy.h)
26 ENDIF (ENABLE_PGPVRFY)
27
28 IF (ENABLE_RPMMD)
29     SET (libsolvext_SRCS ${libsolvext_SRCS}
30         repo_repomdxml.c repo_rpmmd.c
31         repo_deltainfoxml.c repo_updateinfoxml.c)
32     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
33         repo_repomdxml.h repo_rpmmd.h
34         repo_deltainfoxml.h repo_updateinfoxml.h)
35 ENDIF (ENABLE_RPMMD)
36
37 IF (ENABLE_SUSEREPO)
38     SET (libsolvext_SRCS ${libsolvext_SRCS}
39         repo_content.c repo_products.c repo_releasefile_products.c
40         repo_susetags.c repo_zyppdb.c)
41     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
42         repo_content.h repo_products.h repo_releasefile_products.h
43         repo_susetags.h repo_zyppdb.h)
44 ENDIF (ENABLE_SUSEREPO)
45
46 IF (ENABLE_COMPLEX_DEPS AND (ENABLE_SUSEREPO OR ENABLE_RPMMD OR ENABLE_RPMDB))
47     SET (libsolvext_SRCS ${libsolvext_SRCS}
48         pool_parserpmrichdep.c)
49 ENDIF (ENABLE_COMPLEX_DEPS AND (ENABLE_SUSEREPO OR ENABLE_RPMMD OR ENABLE_RPMDB))
50
51 IF (SUSE)
52     SET (libsolvext_SRCS ${libsolvext_SRCS}
53         repo_autopattern.c)
54     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
55         repo_autopattern.h)
56 ENDIF (SUSE)
57
58 IF (ENABLE_COMPS)
59     SET (libsolvext_SRCS ${libsolvext_SRCS}
60         repo_comps.c)
61     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
62         repo_comps.h)
63 ENDIF (ENABLE_COMPS)
64
65 IF (ENABLE_DEBIAN)
66     SET (libsolvext_SRCS ${libsolvext_SRCS}
67         repo_deb.c)
68     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
69         repo_deb.h)
70 ENDIF (ENABLE_DEBIAN)
71
72 IF (ENABLE_HELIXREPO)
73     SET (libsolvext_SRCS ${libsolvext_SRCS}
74         repo_helix.c)
75     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
76         repo_helix.h)
77 ENDIF (ENABLE_HELIXREPO)
78
79 IF (ENABLE_MDKREPO)
80     SET (libsolvext_SRCS ${libsolvext_SRCS}
81         repo_mdk.c)
82     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
83         repo_mdk.h)
84 ENDIF (ENABLE_MDKREPO)
85
86 IF (ENABLE_ARCHREPO)
87     SET (libsolvext_SRCS ${libsolvext_SRCS}
88         repo_arch.c)
89     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
90         repo_arch.h)
91 ENDIF (ENABLE_ARCHREPO)
92
93 IF (ENABLE_CUDFREPO)
94     SET (libsolvext_SRCS ${libsolvext_SRCS}
95         repo_cudf.c)
96     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
97         repo_cudf.h)
98 ENDIF (ENABLE_CUDFREPO)
99
100 IF (ENABLE_HAIKU)
101     SET (libsolvext_SRCS ${libsolvext_SRCS}
102         repo_haiku.cpp)
103     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
104         repo_haiku.h)
105 ENDIF (ENABLE_HAIKU)
106
107 IF (ENABLE_APPDATA)
108     SET (libsolvext_SRCS ${libsolvext_SRCS}
109         repo_appdata.c)
110     SET (libsolvext_HEADERS ${libsolvext_HEADERS}
111         repo_appdata.h)
112 ENDIF (ENABLE_APPDATA)
113
114 SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
115 SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LINK_FLAGS} -Wl,--version-script=${CMAKE_SOURCE_DIR}/ext/libsolvext.ver")
116
117 IF (DISABLE_SHARED)
118 ADD_LIBRARY (libsolvext STATIC ${libsolvext_SRCS})
119 ELSE (DISABLE_SHARED)
120 ADD_LIBRARY (libsolvext SHARED ${libsolvext_SRCS})
121 TARGET_LINK_LIBRARIES(libsolvext libsolv ${SYSTEM_LIBRARIES})
122 ENDIF (DISABLE_SHARED)
123
124 SET_TARGET_PROPERTIES(libsolvext PROPERTIES OUTPUT_NAME "solvext")
125 SET_TARGET_PROPERTIES(libsolvext PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
126
127 INSTALL (FILES ${libsolvext_HEADERS} DESTINATION "${INCLUDE_INSTALL_DIR}/solv")
128 INSTALL (TARGETS libsolvext LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
129
130 IF (ENABLE_STATIC AND NOT DISABLE_SHARED)
131 ADD_LIBRARY (libsolvext_static STATIC ${libsolvext_SRCS})
132 SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES OUTPUT_NAME "solvext")
133 SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
134 INSTALL (TARGETS libsolvext_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
135 ENDIF (ENABLE_STATIC AND NOT DISABLE_SHARED)