add_executable(bongoqueue
	collected-count.c
	conf.c
	delivery-policy.c
	disk-space.c
	dsn-format.c
	domain.c
	envelope-format.c
	queued.c
	mime.c
	queue.c
	retry-policy.c
	spool-file.c
	store-delivery-format.c
)

target_link_libraries(bongoqueue
	bongoxpl
	bongoconnio
	bongoutil
	bongojson
	bongomsgapi
)

install(TARGETS bongoqueue DESTINATION ${SBIN_INSTALL_DIR})

if(BUILD_TESTING)
	add_executable(queue-dsn-format-test
		tests/dsn-format-test.c
		dsn-format.c
	)
	target_include_directories(queue-dsn-format-test PRIVATE
		${CMAKE_CURRENT_SOURCE_DIR}
	)
	add_test(NAME queue-dsn-format COMMAND queue-dsn-format-test)

	add_executable(queue-delivery-policy-test
		tests/delivery-policy-test.c
		delivery-policy.c
	)
	target_include_directories(queue-delivery-policy-test PRIVATE
		${CMAKE_CURRENT_SOURCE_DIR}
	)
	add_test(NAME queue-delivery-policy COMMAND queue-delivery-policy-test)

	add_executable(queue-collected-count-test
		tests/collected-count-test.c
		collected-count.c
	)
	target_include_directories(queue-collected-count-test PRIVATE
		${CMAKE_CURRENT_SOURCE_DIR}
	)
	add_test(NAME queue-collected-count COMMAND queue-collected-count-test)

	add_executable(queue-disk-space-test
		tests/disk-space-test.c
		disk-space.c
	)
	target_include_directories(queue-disk-space-test PRIVATE
		${CMAKE_CURRENT_SOURCE_DIR}
	)
	add_test(NAME queue-disk-space COMMAND queue-disk-space-test)

	add_executable(queue-envelope-format-test
		tests/envelope-format-test.c
		envelope-format.c
	)
	target_include_directories(queue-envelope-format-test PRIVATE
		${CMAKE_CURRENT_SOURCE_DIR}
	)
	add_test(NAME queue-envelope-format COMMAND queue-envelope-format-test)

	add_executable(queue-store-delivery-format-test
		tests/store-delivery-format-test.c
		store-delivery-format.c
	)
	target_include_directories(queue-store-delivery-format-test PRIVATE
		${CMAKE_CURRENT_SOURCE_DIR}
	)
	add_test(NAME queue-store-delivery-format COMMAND queue-store-delivery-format-test)

	add_executable(queue-spool-file-test
		tests/spool-file-test.c
		spool-file.c
	)
	target_include_directories(queue-spool-file-test PRIVATE
		${CMAKE_CURRENT_SOURCE_DIR}
	)
	add_test(NAME queue-spool-file COMMAND queue-spool-file-test)

	add_executable(queue-retry-policy-test
		tests/retry-policy-test.c
		retry-policy.c
	)
	target_include_directories(queue-retry-policy-test PRIVATE
		${CMAKE_CURRENT_SOURCE_DIR}
	)
	add_test(NAME queue-retry-policy COMMAND queue-retry-policy-test)
endif()
