mirror of
https://github.com/redstrate/Astra.git
synced 2025-04-24 13:27:45 +00:00
Giant commit overhauling the interface to use KDE's Kirigami framework, which is based on Qt Quick. The logic is all but rewritten, allowing accounts to be separate from profiles.
99 lines
2.8 KiB
CMake
99 lines
2.8 KiB
CMake
add_executable(astra)
|
|
target_sources(astra PRIVATE
|
|
include/account.h
|
|
include/accountmanager.h
|
|
include/assetupdater.h
|
|
include/encryptedarg.h
|
|
include/gameinstaller.h
|
|
include/headline.h
|
|
include/launchercore.h
|
|
include/patcher.h
|
|
include/profile.h
|
|
include/profilemanager.h
|
|
include/sapphirelauncher.h
|
|
include/squareboot.h
|
|
include/squarelauncher.h
|
|
include/steamapi.h
|
|
|
|
src/account.cpp
|
|
src/accountmanager.cpp
|
|
src/assetupdater.cpp
|
|
src/encryptedarg.cpp
|
|
src/gameinstaller.cpp
|
|
src/launchercore.cpp
|
|
src/main.cpp
|
|
src/patcher.cpp
|
|
src/profile.cpp
|
|
src/profilemanager.cpp
|
|
src/sapphirelauncher.cpp
|
|
src/squareboot.cpp
|
|
src/squarelauncher.cpp
|
|
src/steamapi.cpp
|
|
|
|
resources.qrc)
|
|
kconfig_add_kcfg_files(astra GENERATE_MOC config.kcfgc accountconfig.kcfgc profileconfig.kcfgc)
|
|
target_include_directories(astra PRIVATE include)
|
|
target_link_libraries(astra PRIVATE
|
|
physis
|
|
cotp
|
|
crypto
|
|
QuaZip::QuaZip
|
|
Qt5Keychain::Qt5Keychain
|
|
Qt5::Core
|
|
Qt5::Network
|
|
Qt5::Widgets
|
|
Qt5::Quick
|
|
Qt5::QuickControls2
|
|
KF5::Kirigami2
|
|
KF5::I18n
|
|
KF5::ConfigCore
|
|
KF5::ConfigGui
|
|
KF5::CoreAddons)
|
|
|
|
if (ENABLE_WATCHDOG)
|
|
target_sources(astra PRIVATE
|
|
include/gameparser.h
|
|
include/watchdog.h
|
|
|
|
src/gameparser.cpp
|
|
src/watchdog.cpp)
|
|
target_link_libraries(astra PRIVATE
|
|
${TESSERACT_LIBRARIES}
|
|
${LEPTONICA_LIBRARIES}
|
|
X11
|
|
Xcomposite
|
|
Xrender)
|
|
|
|
target_include_directories(astra_core PRIVATE ${TESSERACT_INCLUDE_DIRS} ${LEPTONICA_INCLUDE_DIRS})
|
|
target_compile_definitions(astra_core PRIVATE ENABLE_WATCHDOG)
|
|
endif ()
|
|
|
|
if (BUILD_FLATPAK)
|
|
target_compile_definitions(astra PRIVATE FLATPAK)
|
|
endif ()
|
|
|
|
if (ENABLE_STEAM)
|
|
target_link_libraries(astra PRIVATE Steamworks)
|
|
target_compile_definitions(astra PRIVATE ENABLE_STEAM)
|
|
endif ()
|
|
|
|
if (ENABLE_GAMEMODE)
|
|
target_link_libraries(astra PRIVATE ${GAMEMODE_LIBRARIES})
|
|
target_compile_definitions(astra PRIVATE ENABLE_GAMEMODE)
|
|
endif ()
|
|
|
|
install(TARGETS astra ${KF${QT_MAJOR_VERSION}_INSTALL_TARGETS_DEFAULT_ARGS})
|
|
|
|
if (WIN32)
|
|
get_target_property(QMAKE_EXE Qt5::qmake IMPORTED_LOCATION)
|
|
get_filename_component(QT_BIN_DIR "${QMAKE_EXE}" DIRECTORY)
|
|
|
|
find_program(WINDEPLOYQT_ENV_SETUP qtenv2.bat HINTS "${QT_BIN_DIR}")
|
|
find_program(WINDEPLOYQT_EXECUTABLE windeployqt HINTS "${QT_BIN_DIR}")
|
|
|
|
# Run windeployqt immediately after build
|
|
add_custom_command(TARGET astra
|
|
POST_BUILD
|
|
COMMAND "${WINDEPLOYQT_ENV_SETUP}" && "${WINDEPLOYQT_EXECUTABLE}" \"$<TARGET_FILE:astra>\"
|
|
)
|
|
endif ()
|