When installled the frozen package exports `frozen::frozen-headers`, not `frozen::frozen` target. Signed-off-by: Marcin Serwin <marcin@serwin.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2758 Co-authored-by: Marcin Serwin <marcin@serwin.dev> Co-committed-by: Marcin Serwin <marcin@serwin.dev>
84 lines
2.3 KiB
CMake
84 lines
2.3 KiB
CMake
# SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
add_library(qt_common STATIC
|
|
qt_common.h
|
|
qt_common.cpp
|
|
|
|
config/uisettings.cpp
|
|
config/uisettings.h
|
|
config/qt_config.cpp
|
|
config/qt_config.h
|
|
config/shared_translation.cpp
|
|
config/shared_translation.h
|
|
|
|
util/path.h util/path.cpp
|
|
util/game.h util/game.cpp
|
|
util/meta.h util/meta.cpp
|
|
util/content.h util/content.cpp
|
|
util/rom.h util/rom.cpp
|
|
util/applet.h util/applet.cpp
|
|
util/compress.h util/compress.cpp
|
|
|
|
abstract/qt_frontend_util.h abstract/qt_frontend_util.cpp
|
|
abstract/qt_progress_dialog.h abstract/qt_progress_dialog.cpp
|
|
|
|
qt_string_lookup.h
|
|
qt_compat.h
|
|
|
|
discord/discord.h
|
|
)
|
|
|
|
create_target_directory_groups(qt_common)
|
|
|
|
if (USE_DISCORD_PRESENCE)
|
|
target_sources(qt_common PRIVATE
|
|
discord/discord_impl.cpp
|
|
discord/discord_impl.h
|
|
)
|
|
target_link_libraries(qt_common PUBLIC DiscordRPC::discord-rpc Qt6::Network)
|
|
target_compile_definitions(qt_common PUBLIC USE_DISCORD_PRESENCE)
|
|
endif()
|
|
|
|
# TODO(crueter)
|
|
if (ENABLE_QT)
|
|
target_link_libraries(qt_common PRIVATE Qt6::Widgets)
|
|
endif()
|
|
|
|
target_compile_definitions(qt_common PUBLIC
|
|
# Use QStringBuilder for string concatenation to reduce
|
|
# the overall number of temporary strings created.
|
|
QT_USE_QSTRINGBUILDER
|
|
|
|
# Disable implicit conversions from/to C strings
|
|
QT_NO_CAST_FROM_ASCII
|
|
QT_NO_CAST_TO_ASCII
|
|
|
|
# Disable implicit type narrowing in signal/slot connect() calls.
|
|
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
|
|
|
|
# Disable unsafe overloads of QProcess' start() function.
|
|
QT_NO_PROCESS_COMBINED_ARGUMENT_START
|
|
|
|
# Disable implicit QString->QUrl conversions to enforce use of proper resolving functions.
|
|
QT_NO_URL_CAST_FROM_STRING
|
|
)
|
|
|
|
add_subdirectory(externals)
|
|
|
|
find_package(frozen REQUIRED)
|
|
|
|
target_link_libraries(qt_common PRIVATE core Qt6::Core Qt6::Concurrent SimpleIni::SimpleIni QuaZip::QuaZip)
|
|
target_link_libraries(qt_common PUBLIC frozen::frozen-headers)
|
|
|
|
if (NOT APPLE AND ENABLE_OPENGL)
|
|
target_compile_definitions(qt_common PUBLIC HAS_OPENGL)
|
|
endif()
|
|
|
|
if (UNIX AND NOT APPLE)
|
|
if (TARGET Qt6::GuiPrivate)
|
|
target_link_libraries(qt_common PRIVATE Qt6::GuiPrivate)
|
|
else()
|
|
target_include_directories(qt_common PRIVATE ${Qt6Gui_PRIVATE_INCLUDE_DIRS})
|
|
endif()
|
|
endif()
|