Cmake scripts refactoring; fix #3225 (#3230)

* fix #3225

* Servatrice: use websockets as an optional component (for qt < 5.3)

* Attempt++
This commit is contained in:
ctrlaltca 2018-05-12 23:28:22 +02:00 committed by GitHub
parent 73fb9ee03e
commit c06fc562a1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 72 additions and 152 deletions

View file

@ -36,42 +36,23 @@ if(APPLE)
set(servatrice_SOURCES ${servatrice_SOURCES} ${CMAKE_CURRENT_SOURCE_DIR}/resources/appicon.icns)
ENDIF(APPLE)
set(SERVATRICE_LIBS)
# Qt5
find_package(Qt5 COMPONENTS Network Sql REQUIRED)
include_directories(${Qt5Core_INCLUDE_DIRS})
include_directories(${Qt5Network_INCLUDE_DIRS})
include_directories(${Qt5Sql_INCLUDE_DIRS})
set(SERVATRICE_QT_MODULES Core Network Sql)
# qt5 stuff
if(Qt5Widgets_FOUND)
include_directories(${Qt5Widgets_INCLUDE_DIRS})
list(APPEND SERVATRICE_LIBS Widgets)
# QtNetwork
find_package(Qt5Network)
if(Qt5Network_FOUND)
include_directories(${Qt5Network_INCLUDE_DIRS})
list(APPEND SERVATRICE_LIBS Network)
endif()
# QtSql
find_package(Qt5Sql)
if(Qt5Sql_FOUND)
include_directories(${Qt5Sql_INCLUDE_DIRS})
list(APPEND SERVATRICE_LIBS Sql)
endif()
# QtWebsockets
find_package(Qt5WebSockets)
if(Qt5WebSockets_FOUND)
include_directories(${Qt5WebSockets_INCLUDE_DIRS})
list(APPEND SERVATRICE_LIBS WebSockets)
endif()
QT5_ADD_RESOURCES(servatrice_RESOURCES_RCC ${servatrice_RESOURCES})
# guess plugins and libraries directory
set(QT_PLUGINS_DIR "${Qt5Widgets_DIR}/../../../plugins")
get_target_property(QT_LIBRARY_DIR Qt5::Core LOCATION)
get_filename_component(QT_LIBRARY_DIR ${QT_LIBRARY_DIR} PATH)
# Qt Websockets
find_package(Qt5WebSockets)
if(Qt5WebSockets_FOUND)
include_directories(${Qt5WebSockets_INCLUDE_DIRS})
list(APPEND SERVATRICE_QT_MODULES WebSockets)
else()
MESSAGE(WARNING "Qt5 websocket module not found")
endif()
QT5_ADD_RESOURCES(servatrice_RESOURCES_RCC ${servatrice_RESOURCES})
SET(QT_DONT_USE_QTGUI TRUE)
# Mysql connector
@ -114,7 +95,7 @@ if(MSVC)
else()
TARGET_LINK_LIBRARIES(servatrice cockatrice_common ${CMAKE_THREAD_LIBS_INIT})
endif()
qt5_use_modules(servatrice ${SERVATRICE_LIBS})
qt5_use_modules(servatrice ${SERVATRICE_QT_MODULES})
# install rules
if(UNIX)