summaryrefslogtreecommitdiff
path: root/rpmio/CMakeLists.txt
blob: 7a25b6c125f17cb45023c0da2c69e5867c1dc988 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
add_library(librpmio SHARED)

set(librpmio_SOURCES
	argv.c base64.c digest.c expression.c macro.c rpmhook.h rpmhook.c
	rpmio.c rpmlog.c rpmmalloc.c rgetopt.c rpmpgp.c rpmpgpval.h
	rpmsq.c rpmsw.c url.c rpmio_internal.h rpmvercmp.c
	rpmver.c rpmstring.c rpmfileutil.c rpmglob.c rpmkeyring.c
	rpmstrpool.c rpmmacro_internal.h rpmlua.c rpmlua.h lposix.c)

if (WITH_INTERNAL_OPENPGP)
	list(APPEND librpmio_SOURCES rpmpgp_internal.h rpmpgp_internal.c)
	if (WITH_OPENSSL)
		find_package(OpenSSL REQUIRED)
		list(APPEND librpmio_SOURCES digest_openssl.c)
		target_link_libraries(librpmio PRIVATE OpenSSL:Crypto)
	else()
		pkg_check_modules(LIBGCRYPT REQUIRED IMPORTED_TARGET libgcrypt)
		list(APPEND librpmio_SOURCES digest_libgcrypt.c)
		target_link_libraries(librpmio PRIVATE PkgConfig::LIBGCRYPT)
	endif()
else()
	pkg_check_modules(RPMSEQUOIA REQUIRED IMPORTED_TARGET rpm-sequoia)
	list(APPEND librpmio_SOURCES rpmpgp_sequoia.c)
	target_link_libraries(librpmio PRIVATE PkgConfig::RPMSEQUOIA)
endif()

set_target_properties(librpmio PROPERTIES
	VERSION ${RPM_LIBVERSION}
	SOVERSION ${RPM_SOVERSION}
)
target_sources(librpmio PRIVATE ${librpmio_SOURCES})
target_link_libraries(librpmio PRIVATE
			PkgConfig::POPT
			PkgConfig::LUA
			ZLIB::ZLIB)

if (ZSTD_FOUND)
	target_link_libraries(librpmio PRIVATE PkgConfig::ZSTD)
endif()
if (LIBLZMA_FOUND)
	target_link_libraries(librpmio PRIVATE PkgConfig::LIBLZMA)
endif()
if (BZIP2_FOUND)
	target_link_libraries(librpmio PRIVATE BZip2::BZip2)
endif()

install(TARGETS librpmio
)