mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-28 00:42:19 -07:00
Compare commits
No commits in common. "9b69d0c981df71b08f45ef4f70a15a687503cbfd" and "0e0bed8d3215fa42ae2f87d5e125110c52e7350d" have entirely different histories.
9b69d0c981
...
0e0bed8d32
2 changed files with 47 additions and 44 deletions
|
|
@ -64,7 +64,7 @@ if(NOT DEFINED GIT_TAG_RELEASENAME)
|
|||
set(GIT_TAG_RELEASENAME "Graduation Day")
|
||||
endif()
|
||||
|
||||
# Use C++20 for all targets
|
||||
# Use c++20 for all targets
|
||||
set(CMAKE_CXX_STANDARD
|
||||
20
|
||||
CACHE STRING "C++ ISO Standard"
|
||||
|
|
@ -78,8 +78,6 @@ set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
|
|||
set(COCKATRICE_CMAKE_PATH "${PROJECT_SOURCE_DIR}/cmake")
|
||||
list(INSERT CMAKE_MODULE_PATH 0 "${COCKATRICE_CMAKE_PATH}")
|
||||
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
include(getversion)
|
||||
|
||||
# Create a header and a cpp file containing the version hash
|
||||
|
|
@ -185,7 +183,7 @@ find_package(Threads REQUIRED)
|
|||
|
||||
message(STATUS "Update Translations: ${UPDATE_TRANSLATIONS}")
|
||||
|
||||
# Find Qt, minimum version is defined in cmake/FindQtRuntime.cmake
|
||||
# Find Qt, min version is defined in that .cmake file
|
||||
include(FindQtRuntime)
|
||||
|
||||
set(CMAKE_AUTOMOC TRUE)
|
||||
|
|
@ -233,7 +231,7 @@ set(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
|
|||
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_VERSION_FILENAME}")
|
||||
|
||||
if(UNIX)
|
||||
if(APPLE) # macOS
|
||||
if(APPLE) #macOS
|
||||
set(CPACK_GENERATOR DragNDrop ${CPACK_GENERATOR})
|
||||
set(CPACK_GENERATOR "DragNDrop")
|
||||
set(CPACK_DMG_FORMAT "UDBZ")
|
||||
|
|
|
|||
|
|
@ -3,17 +3,17 @@
|
|||
# Find a compatible Qt version
|
||||
#
|
||||
# Inputs:
|
||||
# WITH_SERVER
|
||||
# WITH_CLIENT
|
||||
# WITH_ORACLE
|
||||
# WITH_SERVER
|
||||
# TEST
|
||||
#
|
||||
# Outputs:
|
||||
# COCKATRICE_QT_VERSION_NAME
|
||||
# QT_CORE_MODULE
|
||||
# SERVATRICE_QT_MODULES
|
||||
# COCKATRICE_QT_MODULES
|
||||
# ORACLE_QT_MODULES
|
||||
# SERVATRICE_QT_MODULES
|
||||
# TEST_QT_MODULES
|
||||
# QT_LIBRARY_DIR
|
||||
# QT_PLUGINS_DIR
|
||||
|
|
@ -24,6 +24,8 @@ set(COCKATRICE_QT_VERSION_NAME Qt6)
|
|||
# Define the Qt components required by each target
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
set(SERVATRICE_QT_COMPONENTS Network Sql WebSockets)
|
||||
|
||||
set(COCKATRICE_QT_COMPONENTS
|
||||
Concurrent
|
||||
Gui
|
||||
|
|
@ -41,8 +43,6 @@ set(COCKATRICE_QT_COMPONENTS
|
|||
|
||||
set(ORACLE_QT_COMPONENTS Concurrent Network Svg Widgets)
|
||||
|
||||
set(SERVATRICE_QT_COMPONENTS Network Sql WebSockets)
|
||||
|
||||
set(TEST_QT_COMPONENTS Concurrent Network Svg Widgets)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
|
|
@ -51,6 +51,10 @@ set(TEST_QT_COMPONENTS Concurrent Network Svg Widgets)
|
|||
|
||||
set(REQUIRED_QT_COMPONENTS Core)
|
||||
|
||||
if(WITH_SERVER)
|
||||
list(APPEND REQUIRED_QT_COMPONENTS ${SERVATRICE_QT_COMPONENTS})
|
||||
endif()
|
||||
|
||||
if(WITH_CLIENT)
|
||||
list(APPEND REQUIRED_QT_COMPONENTS ${COCKATRICE_QT_COMPONENTS})
|
||||
endif()
|
||||
|
|
@ -59,10 +63,6 @@ if(WITH_ORACLE)
|
|||
list(APPEND REQUIRED_QT_COMPONENTS ${ORACLE_QT_COMPONENTS})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER)
|
||||
list(APPEND REQUIRED_QT_COMPONENTS ${SERVATRICE_QT_COMPONENTS})
|
||||
endif()
|
||||
|
||||
if(TEST)
|
||||
list(APPEND REQUIRED_QT_COMPONENTS ${TEST_QT_COMPONENTS})
|
||||
endif()
|
||||
|
|
@ -73,28 +73,12 @@ list(REMOVE_DUPLICATES REQUIRED_QT_COMPONENTS)
|
|||
# Find Qt and define minimum version centrally
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
find_package(Qt6 6.4 REQUIRED COMPONENTS ${REQUIRED_QT_COMPONENTS} LinguistTools)
|
||||
find_package(Qt6 6.4 REQUIRED COMPONENTS ${REQUIRED_QT_COMPONENTS} Linguist)
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Qt Linguist tools
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
if(TARGET Qt6::lrelease)
|
||||
set(QT6_LRELEASE_INDEX 0)
|
||||
else()
|
||||
message(WARNING "Qt6 lrelease not found.")
|
||||
endif()
|
||||
|
||||
if(TARGET Qt6::lupdate)
|
||||
set(QT6_LUPDATE_INDEX 0)
|
||||
else()
|
||||
message(WARNING "Qt6 lupdate not found.")
|
||||
endif()
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Convert the component list such as:
|
||||
# Convert a component list such as:
|
||||
# Network;Sql;WebSockets
|
||||
# into Qt modules:
|
||||
# into:
|
||||
# Qt6::Network;Qt6::Sql;Qt6::WebSockets
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
|
@ -115,6 +99,10 @@ endfunction()
|
|||
# Export Qt target lists for the individual targets
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
if(WITH_SERVER)
|
||||
_qt_components_to_targets("${SERVATRICE_QT_COMPONENTS}" SERVATRICE_QT_MODULES)
|
||||
endif()
|
||||
|
||||
if(WITH_CLIENT)
|
||||
_qt_components_to_targets("${COCKATRICE_QT_COMPONENTS}" COCKATRICE_QT_MODULES)
|
||||
endif()
|
||||
|
|
@ -123,10 +111,6 @@ if(WITH_ORACLE)
|
|||
_qt_components_to_targets("${ORACLE_QT_COMPONENTS}" ORACLE_QT_MODULES)
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER)
|
||||
_qt_components_to_targets("${SERVATRICE_QT_COMPONENTS}" SERVATRICE_QT_MODULES)
|
||||
endif()
|
||||
|
||||
if(TEST)
|
||||
_qt_components_to_targets("${TEST_QT_COMPONENTS}" TEST_QT_MODULES)
|
||||
endif()
|
||||
|
|
@ -134,18 +118,36 @@ endif()
|
|||
# Core-only export (useful for headless libraries)
|
||||
set(QT_CORE_MODULE "${COCKATRICE_QT_VERSION_NAME}::Core")
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Qt Linguist tools
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
if(TARGET Qt6::lrelease)
|
||||
set(QT6_LRELEASE_INDEX 0)
|
||||
else()
|
||||
message(WARNING "Qt6 lrelease not found.")
|
||||
endif()
|
||||
|
||||
if(TARGET Qt6::lupdate)
|
||||
set(QT6_LUPDATE_INDEX 0)
|
||||
else()
|
||||
message(WARNING "Qt6 lupdate not found.")
|
||||
endif()
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Qt runtime/plugin paths
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
if(NOT TARGET "${QT_CORE_MODULE}")
|
||||
message(FATAL_ERROR "${QT_CORE_MODULE} target is not available")
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
if(NOT TARGET Qt6::Core)
|
||||
message(FATAL_ERROR "Qt6::Core target is not available")
|
||||
endif()
|
||||
|
||||
get_target_property(QT_LIBRARY_DIR "${QT_CORE_MODULE}" LOCATION)
|
||||
get_target_property(QT_LIBRARY_DIR Qt6::Core LOCATION)
|
||||
get_filename_component(QT_LIBRARY_DIR "${QT_LIBRARY_DIR}" DIRECTORY)
|
||||
get_filename_component(QT_LIBRARY_DIR "${QT_LIBRARY_DIR}/../../.." ABSOLUTE)
|
||||
get_filename_component(QT_PLUGINS_DIR "${Qt6Core_DIR}/../../../${QT6_INSTALL_PLUGINS}" ABSOLUTE)
|
||||
get_filename_component(QT_LIBRARY_DIR "${QT_LIBRARY_DIR}/../../.." ABSOLUTE)
|
||||
|
||||
if(UNIX AND APPLE)
|
||||
# macOS needs a bit more help finding all necessary components.
|
||||
|
|
@ -156,8 +158,14 @@ endif()
|
|||
# Debug information
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
message(STATUS "Found Qt: ${Qt6_DIR} (found version \"${Qt6_VERSION}\")")
|
||||
message(DEBUG "QT_PLUGINS_DIR = ${QT_PLUGINS_DIR}")
|
||||
message(DEBUG "QT_LIBRARY_DIR = ${QT_LIBRARY_DIR}")
|
||||
|
||||
message(STATUS "Qt6_VERSION = ${Qt6_VERSION}")
|
||||
message(STATUS "Qt6_DIR = ${Qt6_DIR}")
|
||||
message(STATUS "Qt6Core_DIR = ${Qt6Core_DIR}")
|
||||
message(STATUS "REQUIRED_QT_COMPONENTS = ${REQUIRED_QT_COMPONENTS}")
|
||||
|
||||
if(WITH_CLIENT)
|
||||
message(STATUS "COCKATRICE_QT_MODULES = ${COCKATRICE_QT_MODULES}")
|
||||
endif()
|
||||
|
|
@ -170,6 +178,3 @@ endif()
|
|||
if(TEST)
|
||||
message(STATUS "TEST_QT_MODULES = ${TEST_QT_MODULES}")
|
||||
endif()
|
||||
|
||||
message(DEBUG "QT_PLUGINS_DIR = ${QT_PLUGINS_DIR}")
|
||||
message(DEBUG "QT_LIBRARY_DIR = ${QT_LIBRARY_DIR}")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue