find_package(Qt5 REQUIRED COMPONENTS Core Network Widgets LinguistTools Gui QUIET) if(WIN32) find_package(Qt5Gui REQUIRED COMPONENTS QWindowsIntegrationPlugin) endif() find_package(Qt5 COMPONENTS SerialPort Gamepad QUIET) include_directories(SYSTEM ${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS}) add_definitions(${Qt5Core_DEFINITIONS} ${Qt5Gui_DEFINITIONS} ${Qt5Widgets_DEFINITIONS} ${Qt5Network_DEFINITIONS}) set(MY_QT_LIBS ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES}) if(WIN32) foreach(i Qt5::Core Qt5::Gui Qt5::Network Qt5::SerialPort Qt5::Widgets) get_property(path TARGET "${i}" PROPERTY LOCATION) if("${path}" STREQUAL "") message(FATAL_ERROR "${i} ${path}") endif() install(FILES "${path}" DESTINATION .) if(MSVC AND opentrack_install-debug-info AND EXISTS "${path}.pdb") install(FILES "${path}.pdb" DESTINATION "${opentrack-hier-debug}") endif() endforeach() get_property(qwindows-dll TARGET Qt5::QWindowsIntegrationPlugin PROPERTY IMPORTED_LOCATION_RELEASE) install(FILES "${qwindows-dll}" DESTINATION "./platforms") endif() function(otr_qt n) if(".${${n}-hh}" STREQUAL ".") message(FATAL_ERROR "project ${n} not globbed") endif() qt5_wrap_cpp(${n}-moc ${${n}-hh} OPTIONS --no-notes) qt5_wrap_ui(${n}-uih ${${n}-ui}) qt5_add_resources(${n}-rcc ${${n}-rc}) foreach(i moc uih rcc) set(${n}-${i} "${${n}-${i}}" PARENT_SCOPE) list(APPEND ${n}-all ${${n}-${i}}) endforeach() set(${n}-all "${${n}-all}" PARENT_SCOPE) endfunction()