This commit is contained in:
ctrlaltca 2018-05-24 15:46:02 +02:00 committed by GitHub
parent b3df71ae41
commit f97959febc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 20 additions and 70 deletions

View file

@ -150,14 +150,12 @@ ENDIF(APPLE)
# Qt5 # Qt5
find_package(Qt5 COMPONENTS Concurrent Multimedia Network PrintSupport Svg Widgets REQUIRED) find_package(Qt5 COMPONENTS Concurrent Multimedia Network PrintSupport Svg Widgets REQUIRED)
include_directories(${Qt5Concurrent_INCLUDE_DIRS} ${Qt5Multimedia_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS} ${Qt5PrintSupport_INCLUDE_DIRS} ${Qt5Svg_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS}) set(COCKATRICE_QT_MODULES Qt5::Concurrent Qt5::Multimedia Qt5::Network Qt5::PrintSupport Qt5::Svg Qt5::Widgets)
set(COCKATRICE_QT_MODULES Concurrent Multimedia Network PrintSupport Svg Widgets)
# Qt5LinguistTools # Qt5LinguistTools
find_package(Qt5LinguistTools) find_package(Qt5LinguistTools)
if(Qt5LinguistTools_FOUND) if(Qt5LinguistTools_FOUND)
include_directories(${Qt5LinguistTools_INCLUDE_DIRS}) list(APPEND COCKATRICE_LIBS Qt5::LinguistTools)
list(APPEND COCKATRICE_LIBS LinguistTools)
if(NOT Qt5_LRELEASE_EXECUTABLE) if(NOT Qt5_LRELEASE_EXECUTABLE)
MESSAGE(WARNING "Qt's lrelease not found.") MESSAGE(WARNING "Qt's lrelease not found.")
@ -188,8 +186,7 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
# Build cockatrice binary and link it # Build cockatrice binary and link it
ADD_EXECUTABLE(cockatrice WIN32 MACOSX_BUNDLE ${cockatrice_SOURCES} ${cockatrice_QM} ${cockatrice_RESOURCES_RCC} ${cockatrice_MOC_SRCS}) ADD_EXECUTABLE(cockatrice WIN32 MACOSX_BUNDLE ${cockatrice_SOURCES} ${cockatrice_QM} ${cockatrice_RESOURCES_RCC} ${cockatrice_MOC_SRCS})
TARGET_LINK_LIBRARIES(cockatrice cockatrice_common) TARGET_LINK_LIBRARIES(cockatrice cockatrice_common ${COCKATRICE_QT_MODULES})
qt5_use_modules(cockatrice ${COCKATRICE_QT_MODULES})
if(UNIX) if(UNIX)
if(APPLE) if(APPLE)

View file

@ -50,14 +50,12 @@ ENDIF(APPLE)
# Qt5 # Qt5
find_package(Qt5 COMPONENTS Concurrent Network Svg Widgets REQUIRED) find_package(Qt5 COMPONENTS Concurrent Network Svg Widgets REQUIRED)
include_directories(${Qt5Concurrent_INCLUDE_DIRS} ${Qt5Multimedia_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS} ${Qt5PrintSupport_INCLUDE_DIRS} ${Qt5Svg_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS}) set(ORACLE_QT_MODULES Qt5::Concurrent Qt5::Network Qt5::Svg Qt5::Widgets)
set(ORACLE_QT_MODULES Concurrent Multimedia Network PrintSupport Svg Widgets)
# Qt5LinguistTools # Qt5LinguistTools
find_package(Qt5LinguistTools) find_package(Qt5LinguistTools)
if(Qt5LinguistTools_FOUND) if(Qt5LinguistTools_FOUND)
include_directories(${Qt5LinguistTools_INCLUDE_DIRS}) list(APPEND ORACLE_LIBS Qt5::LinguistTools)
list(APPEND ORACLE_LIBS LinguistTools)
if(NOT Qt5_LRELEASE_EXECUTABLE) if(NOT Qt5_LRELEASE_EXECUTABLE)
MESSAGE(WARNING "Qt's lrelease not found.") MESSAGE(WARNING "Qt's lrelease not found.")
@ -95,10 +93,10 @@ ENDIF()
# Build oracle binary and link it # Build oracle binary and link it
ADD_EXECUTABLE(oracle WIN32 MACOSX_BUNDLE ${oracle_SOURCES} ${oracle_QM} ${oracle_RESOURCES_RCC} ${oracle_MOC_SRCS}) ADD_EXECUTABLE(oracle WIN32 MACOSX_BUNDLE ${oracle_SOURCES} ${oracle_QM} ${oracle_RESOURCES_RCC} ${oracle_MOC_SRCS})
qt5_use_modules(oracle ${ORACLE_QT_MODULES})
IF(ZLIB_FOUND) IF(ZLIB_FOUND)
TARGET_LINK_LIBRARIES(oracle ${ZLIB_LIBRARIES}) TARGET_LINK_LIBRARIES(oracle ${ORACLE_QT_MODULES} ${ZLIB_LIBRARIES})
ELSE()
TARGET_LINK_LIBRARIES(oracle ${ORACLE_QT_MODULES})
ENDIF() ENDIF()
if(UNIX) if(UNIX)

View file

@ -38,16 +38,12 @@ ENDIF(APPLE)
# Qt5 # Qt5
find_package(Qt5 COMPONENTS Network Sql REQUIRED) find_package(Qt5 COMPONENTS Network Sql REQUIRED)
include_directories(${Qt5Core_INCLUDE_DIRS}) set(SERVATRICE_QT_MODULES Qt5::Core Qt5::Network Qt5::Sql)
include_directories(${Qt5Network_INCLUDE_DIRS})
include_directories(${Qt5Sql_INCLUDE_DIRS})
set(SERVATRICE_QT_MODULES Core Network Sql)
# Qt Websockets # Qt Websockets
find_package(Qt5WebSockets) find_package(Qt5WebSockets)
if(Qt5WebSockets_FOUND) if(Qt5WebSockets_FOUND)
include_directories(${Qt5WebSockets_INCLUDE_DIRS}) list(APPEND SERVATRICE_QT_MODULES Qt5::WebSockets)
list(APPEND SERVATRICE_QT_MODULES WebSockets)
else() else()
MESSAGE(WARNING "Qt5 websocket module not found") MESSAGE(WARNING "Qt5 websocket module not found")
endif() endif()
@ -91,11 +87,10 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
ADD_EXECUTABLE(servatrice MACOSX_BUNDLE ${servatrice_SOURCES} ${servatrice_RESOURCES_RCC} ${servatrice_MOC_SRCS}) ADD_EXECUTABLE(servatrice MACOSX_BUNDLE ${servatrice_SOURCES} ${servatrice_RESOURCES_RCC} ${servatrice_MOC_SRCS})
if(MSVC) if(MSVC)
TARGET_LINK_LIBRARIES(servatrice cockatrice_common ${CMAKE_THREAD_LIBS_INIT} Qt5::WinMain) TARGET_LINK_LIBRARIES(servatrice cockatrice_common ${CMAKE_THREAD_LIBS_INIT} ${SERVATRICE_QT_MODULES} Qt5::WinMain)
else() else()
TARGET_LINK_LIBRARIES(servatrice cockatrice_common ${CMAKE_THREAD_LIBS_INIT}) TARGET_LINK_LIBRARIES(servatrice cockatrice_common ${CMAKE_THREAD_LIBS_INIT} ${SERVATRICE_QT_MODULES})
endif() endif()
qt5_use_modules(servatrice ${SERVATRICE_QT_MODULES})
# install rules # install rules
if(UNIX) if(UNIX)

View file

@ -8,25 +8,9 @@ add_executable(carddatabase_test
if(NOT GTEST_FOUND) if(NOT GTEST_FOUND)
add_dependencies(carddatabase_test gtest) add_dependencies(carddatabase_test gtest)
endif() endif()
target_link_libraries(carddatabase_test ${GTEST_BOTH_LIBRARIES})
add_test(NAME carddatabase_test COMMAND carddatabase_test)
# qt5 stuff find_package(Qt5 COMPONENTS Concurrent Network Widgets REQUIRED)
include_directories(${Qt5Widgets_INCLUDE_DIRS}) set(TEST_QT_MODULES Qt5::Concurrent Qt5::Network Qt5::Widgets)
list(APPEND COCKATRICE_LIBS Widgets)
# QtConcurrent target_link_libraries(carddatabase_test ${GTEST_BOTH_LIBRARIES} ${TEST_QT_MODULES})
find_package(Qt5Concurrent) add_test(NAME carddatabase_test COMMAND carddatabase_test)
if(Qt5Concurrent_FOUND)
include_directories(${Qt5Concurrent_INCLUDE_DIRS})
list(APPEND ORACLE_LIBS Concurrent)
endif()
# QtNetwork
find_package(Qt5Network)
if(Qt5Network_FOUND)
include_directories(${Qt5Network_INCLUDE_DIRS})
list(APPEND COCKATRICE_LIBS Network)
endif()
qt5_use_modules(carddatabase_test ${COCKATRICE_LIBS})

View file

@ -8,32 +8,8 @@ if(NOT GTEST_FOUND)
add_dependencies(loading_from_clipboard_test gtest) add_dependencies(loading_from_clipboard_test gtest)
endif() endif()
target_link_libraries(loading_from_clipboard_test ${GTEST_BOTH_LIBRARIES}) find_package(Qt5 COMPONENTS Concurrent Network Widgets REQUIRED)
target_link_libraries(loading_from_clipboard_test cockatrice_common) set(TEST_QT_MODULES Qt5::Concurrent Qt5::Network Qt5::Widgets)
add_test(NAME loading_from_clipboard_test COMMAND loading_from_clipboard_test) target_link_libraries(loading_from_clipboard_test cockatrice_common ${GTEST_BOTH_LIBRARIES} ${TEST_QT_MODULES})
add_test(NAME loading_from_clipboard_test COMMAND loading_from_clipboard_test)
#### I feel like the rest of this file should not be necessary and
#### is (effective) cargo culting of tests/carddatabase/CMakeLists.txt.
#### Ideally we would only need to say "hey this test is against something from cockatrice_common",
#### and cockatrice_common would declare all of it's dependencies. I need to learn more about CMake.
# qt5 stuff
include_directories(${Qt5Widgets_INCLUDE_DIRS})
list(APPEND COCKATRICE_LIBS Widgets)
# QtConcurrent
find_package(Qt5Concurrent)
if(Qt5Concurrent_FOUND)
include_directories(${Qt5Concurrent_INCLUDE_DIRS})
list(APPEND ORACLE_LIBS Concurrent)
endif()
# QtNetwork
find_package(Qt5Network)
if(Qt5Network_FOUND)
include_directories(${Qt5Network_INCLUDE_DIRS})
list(APPEND COCKATRICE_LIBS Network)
endif()
qt5_use_modules(loading_from_clipboard_test ${COCKATRICE_LIBS})