cmake_minimum_required(VERSION 3.2)
project(UnitTests)

if (APPLE)
	include(osx-pre.cmake)
endif (APPLE)

FILE(GLOB CODE_DECLARATIONS *.h *.hpp)
FILE(GLOB CODE_DEFINITIONS *.cpp)

add_executable(${PROJECT_NAME}
	${CODE_DEFINITIONS}
	${CODE_DECLARATIONS}
)

if (WIN32)
	set_property(TARGET ${PROJECT_NAME} PROPERTY Qt5_NO_LINK_QTMAIN ON)
	message(STATUS "Disabled automatic linking against Qt main for '${PROJECT_NAME}'.")
endif (WIN32)

if (APPLE)
	include(osx-post.cmake)
endif (APPLE)

target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS_GOOGLETEST})
target_link_libraries(${PROJECT_NAME} ${GalaxyServiceLibraryDeps})
target_link_libraries(${PROJECT_NAME} ${CMAKE_PROJECT_NAME}_Library)
target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS_POCO_FOUNDATION})
target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS_POCO_JSON})
target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS_POCO_NETSSL})
target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS_POCO_NET})
target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS_POCO_UTIL})
target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS_POCO_DATASQLITE})
target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS_POCO_XML})
target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS_POCO_DATA})

target_link_libraries(${PROJECT_NAME} content-system)
target_link_libraries(${PROJECT_NAME} frontend-communication-testing)
target_link_libraries(${PROJECT_NAME} fundamentals)
target_link_libraries(${PROJECT_NAME} logging)
target_link_libraries(${PROJECT_NAME} operating-system)
target_link_libraries(${PROJECT_NAME} threads-testing)
target_link_libraries(${PROJECT_NAME} product-management)
target_link_libraries(${PROJECT_NAME} product-management-testing)
target_link_libraries(${PROJECT_NAME} product-storage)
target_link_libraries(${PROJECT_NAME} product-storage-testing)
target_link_libraries(${PROJECT_NAME} testing)
target_link_libraries(${PROJECT_NAME} web-fundamentals-testing)
target_link_libraries(${PROJECT_NAME} website-data)

if (WIN32)
	target_link_libraries(${PROJECT_NAME} Psapi.lib)
	target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS_CEF})
endif (WIN32)

if (APPLE)
	target_link_libraries(${PROJECT_NAME} ${CocoaLib})
	target_link_libraries(${PROJECT_NAME} ${SecurityLib})
	target_link_libraries(${PROJECT_NAME} ${SystemLib})
	
	add_custom_command(TARGET ${PROJECT_NAME}
		POST_BUILD
		COMMAND sh ${SCRIPTS_DIR}/Deploy/Client/osx/rpath_tests.sh
		${OUTPUT_PATH}/UnitTests
	)
endif (APPLE)
