file(GLOB SRC *.cpp)
file(GLOB HEADERS *.h)

if(ENABLE_QT6)
	QT6_WRAP_CPP(SRC ${HEADERS} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
	include_directories(${Qt6Core_INCLUDE_DIRS} ${Qt6Network_INCLUDE_DIRS})
else()
	QT5_WRAP_CPP(SRC ${HEADERS} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED)
	include_directories(${Qt5Core_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS})
endif()

add_definitions(-DQT_NO_KEYWORDS)
add_executable(spectrum2_libcommuni_backend ${SRC})
target_compile_features(spectrum2_libcommuni_backend PUBLIC cxx_std_11)

if(NOT WIN32)
	if(ENABLE_QT6)
		target_link_libraries(spectrum2_libcommuni_backend ${IRC_LIBRARY} Qt6::Network Qt6::Core transport-plugin)
	else()
		target_link_libraries(spectrum2_libcommuni_backend ${IRC_LIBRARY} Qt5::Network Qt5::Core transport-plugin)
	endif()
else()
	if(ENABLE_QT6)
		target_link_libraries(spectrum2_libcommuni_backend ${IRC_LIBRARY} Qt6::Network Qt6::Core transport-plugin)
	else()
		target_link_libraries(spectrum2_libcommuni_backend ${IRC_LIBRARY} Qt5::Network Qt5::Core transport-plugin)
	endif()
endif()

install(TARGETS spectrum2_libcommuni_backend RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR})
