#StrictCompile()

add_executable(bongosmtp
	smtpd.c
	capabilities.c
	auth-results.c
	protocol.c
	proxy.c
)

target_link_libraries(bongosmtp
	bongoxpl
	bongoconnio
	bongoutil
	bongojson
	bongomsgapi
	bongomailauth
	bongosasl
	bongocollectoraccounts
)

add_executable(bongosmtpc
	smtpc.c
	capabilities.c
	protocol.c
	proxy.c
)

target_link_libraries(bongosmtpc
	bongoxpl
	bongoconnio
	bongoutil
	bongojson
	bongomsgapi
	bongomailauth
	bongocollectoraccounts
	CURL::libcurl
)

install(TARGETS bongosmtp DESTINATION ${SBIN_INSTALL_DIR})
install(TARGETS bongosmtpc DESTINATION ${SBIN_INSTALL_DIR})

if(BUILD_TESTING)
	add_executable(smtp-capabilities-test
		tests/capabilities-test.c
		capabilities.c
	)
	target_include_directories(smtp-capabilities-test PRIVATE
		${CMAKE_CURRENT_SOURCE_DIR}
	)
	target_link_libraries(smtp-capabilities-test PRIVATE GLib2::GLib2)
	add_test(NAME smtp-capabilities COMMAND smtp-capabilities-test)

	add_executable(smtp-auth-results-test
		tests/auth-results-test.c
		auth-results.c
	)
	target_include_directories(smtp-auth-results-test PRIVATE
		${CMAKE_CURRENT_SOURCE_DIR}
	)
	add_test(NAME smtp-auth-results COMMAND smtp-auth-results-test)

	add_executable(smtp-protocol-test
		tests/protocol-test.c
		protocol.c
	)
	target_include_directories(smtp-protocol-test PRIVATE
		${CMAKE_CURRENT_SOURCE_DIR}
	)
	add_test(NAME smtp-protocol COMMAND smtp-protocol-test)

	add_executable(smtp-proxy-test
		tests/proxy-test.c
		proxy.c
		protocol.c
	)
	target_include_directories(smtp-proxy-test PRIVATE
		${CMAKE_CURRENT_SOURCE_DIR}
	)
	add_test(NAME smtp-proxy COMMAND smtp-proxy-test)
endif()
