StrictCompile()

add_library(bongoxpl SHARED
	dir.c
	dns.c
	fsys.c
	hash.c
	ip.c
	mem.c
	resolve.c
	rwlock.c
	util.c
)

target_link_libraries(bongoxpl
	resolv
	pthread
	LibGcrypt::LibGcrypt
	GLib2::GLib2
)
target_link_libraries(bongoxpl Bongo::Atomic)

install(TARGETS bongoxpl DESTINATION ${LIB_INSTALL_DIR})

if(BUILD_TESTING)
	add_executable(xpl-atomic-test tests/atomic-test.c)
	target_link_libraries(xpl-atomic-test PRIVATE bongoxpl Threads::Threads)
	add_test(NAME xpl-atomic COMMAND xpl-atomic-test)

	add_executable(xpl-init-test tests/init-test.c)
	target_link_libraries(xpl-init-test PRIVATE bongoxpl Threads::Threads)
	add_test(NAME xpl-init COMMAND xpl-init-test)

	add_executable(xpl-dns-mx-test tests/dns-mx-test.c)
	target_link_libraries(xpl-dns-mx-test PRIVATE bongoxpl)
	add_test(NAME xpl-dns-mx COMMAND xpl-dns-mx-test)

	add_executable(xpl-dns-txt-test tests/dns-txt-test.c)
	target_link_libraries(xpl-dns-txt-test PRIVATE bongoxpl)
	add_test(NAME xpl-dns-txt COMMAND xpl-dns-txt-test)
endif()
