Merge branch 'master' into tooomm-qt5

This commit is contained in:
tooomm 2026-10-04 12:27:58 +02:00 • committed by GitHub
commit 94b85b8940
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
266 changed files with 11392 additions and 930 deletions

View file

@ -31,8 +31,6 @@ set(oracle_SOURCES
../cockatrice/src/interface/pixel_map_generator.cpp
../cockatrice/src/interface/theme_config.cpp
../cockatrice/src/interface/theme_manager.cpp
../cockatrice/src/interface/widgets/quick_settings/settings_button_widget.cpp
../cockatrice/src/interface/widgets/quick_settings/settings_popup_widget.cpp
${VERSION_STRING_CPP}
)
@ -122,10 +120,14 @@ target_link_libraries(
oracle
PUBLIC libcockatrice_card
PUBLIC libcockatrice_settings
PUBLIC libcockatrice_network
PUBLIC libcockatrice_protocol
PUBLIC ${QT_MODULES_ORACLE}
)
# Only user_level.h is needed from the network headers (pulled in transitively
# by pixel_map_generator.h); nothing from the network libraries is linked.
target_include_directories(oracle PRIVATE ${CMAKE_SOURCE_DIR}/libcockatrice_network)
if(ZLIB_FOUND)
target_link_libraries(oracle PUBLIC ${ZLIB_LIBRARIES})
endif()
@ -212,10 +214,19 @@ if(WIN32) # Windows (including 64bit)
list(APPEND libSearchDirs ${QT_LIBRARY_DIR})
install(
DIRECTORY "${CMAKE_BINARY_DIR}/${PROJECT_NAME}/${CMAKE_BUILD_TYPE}/"
DIRECTORY "$<TARGET_FILE_DIR:oracle>/"
DESTINATION ./
FILES_MATCHING
PATTERN "*.dll"
PATTERN "*.pdb" EXCLUDE
PATTERN "*.dir*" EXCLUDE
PATTERN "*_autogen*" EXCLUDE
PATTERN "*.tlog*" EXCLUDE
PATTERN "CMakeFiles*" EXCLUDE
PATTERN "x64*" EXCLUDE
PATTERN ".qt*" EXCLUDE
PATTERN ".qsb*" EXCLUDE
PATTERN ".lupdate*" EXCLUDE
)
# Qt plugins: iconengines, platforms, styles, tls (Qt6)
@ -287,6 +298,18 @@ if(Qt6LinguistTools_FOUND)
elseif(WIN32) # Windows (including 64bit)
install(FILES ${oracle_QM} DESTINATION ${ORACLE_WIN32_QM_INSTALL_DIR})
endif()
# Qt attaches the .qm files to the default build target only, so building the executable on its own
# (CLion, --target oracle) leaves it without any translations: nothing is translated and the
# language selector in the wizard stays empty.
# Depend on Qt's own lrelease target instead of attaching the .qm custom commands to a second
# target: two independent targets owning the same outputs race on MSBuild/Makefiles and are an
# error on Xcode. Older Qt versions already add this dependency themselves.
foreach(_lrelease_target Oracle_lrelease oracle_lrelease)
if(TARGET ${_lrelease_target})
add_dependencies(oracle ${_lrelease_target})
endif()
endforeach()
endif()
qt6_finalize_target(oracle)