-cmake_minimum_required(VERSION 2.8.5 FATAL_ERROR)
+cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
project(transmission)
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
cmake_policy(SET CMP0020 NEW)
endif()
+ set(QT_TARGETS)
if(USE_QT5)
- set(TR_QT5_MODULES Core Gui Widgets Network DBus LinguistTools)
- set(QT_FOUND ON)
- foreach(M ${TR_QT5_MODULES})
- find_package(Qt5${M} ${QT_IS_REQUIRED})
- if(NOT Qt5${M}_FOUND)
- set(QT_FOUND OFF)
+ set(QT5_REQUIRED_MODULES Core Gui Widgets Network DBus LinguistTools)
+ foreach(M ${QT5_REQUIRED_MODULES})
+ find_package(Qt5${M} QUIET)
+ if(Qt5${M}_FOUND)
+ if(NOT M STREQUAL "LinguistTools")
+ list(APPEND QT_TARGETS Qt5::${M})
+ endif()
+ else()
+ set(QT_TARGETS)
break()
endif()
endforeach()
else()
- find_package(Qt4 4.6.2 ${QT_IS_REQUIRED} COMPONENTS QtCore QtGui QtNetwork QtDBus)
+ set(QT4_REQUIRED_MODULES QtCore QtGui QtNetwork QtDBus)
+ find_package(Qt4 4.6.2 QUIET COMPONENTS ${QT4_REQUIRED_MODULES})
+ foreach(M ${QT4_REQUIRED_MODULES})
+ string(TOUPPER "${M}" M_UPPER)
+ if(QT_${M_UPPER}_FOUND)
+ list(APPEND QT_TARGETS Qt4::${M})
+ else()
+ set(QT_TARGETS)
+ break()
+ endif()
+ endforeach()
+ endif()
+
+ set(QT_FOUND ON)
+ if(NOT QT_TARGETS)
+ if(QT_IS_REQUIRED)
+ message(FATAL_ERROR "Unable to find Qt libraries.")
+ endif()
+ set(QT_FOUND OFF)
endif()
tr_fixup_auto_option(ENABLE_QT QT_FOUND QT_IS_REQUIRED)
target_link_libraries(${TR_NAME}-qt
${TR_NAME}
- ${QT_LIBRARIES}
+ ${QT_TARGETS}
${CURL_LIBRARIES}
${EVENT2_LIBRARIES}
)
tr_append_target_property(${TR_NAME}-qt LINK_FLAGS "/ENTRY:mainCRTStartup")
endif()
-if(USE_QT5)
- qt5_use_modules(${TR_NAME}-qt ${TR_QT5_MODULES})
-endif()
-
set_target_properties(${TR_NAME}-qt PROPERTIES AUTOMOC TRUE)
install(TARGETS ${TR_NAME}-qt DESTINATION ${CMAKE_INSTALL_BINDIR})