fix: make updater functionality conditional with CITRON_USE_AUTO_UPDATER option

- Add CITRON_USE_AUTO_UPDATER CMake option (default: OFF)
- Move updater source files to conditional target_sources block
- Add _WIN32 definition for proper moc processing on Windows
- Fixes C2664 compilation error with UpdaterDialog::OnUpdateCompleted

Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
Zephyron
2025-09-23 15:35:45 +10:00
parent 7b6ed41be6
commit e05296c798
2 changed files with 17 additions and 5 deletions

View File

@@ -43,6 +43,8 @@ option(CITRON_USE_QT_MULTIMEDIA "Use QtMultimedia for Camera" OFF)
option(CITRON_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OFF) option(CITRON_USE_QT_WEB_ENGINE "Use QtWebEngine for web applet implementation" OFF)
option(CITRON_USE_AUTO_UPDATER "Enable automatic updater functionality" OFF)
option(ENABLE_CUBEB "Enables the cubeb audio backend" ON) option(ENABLE_CUBEB "Enables the cubeb audio backend" ON)
option(ENABLE_OPENAL "Enables the OpenAL audio backend" ON) option(ENABLE_OPENAL "Enables the OpenAL audio backend" ON)

View File

@@ -210,11 +210,6 @@ add_executable(citron
startup_checks.h startup_checks.h
uisettings.cpp uisettings.cpp
uisettings.h uisettings.h
updater/updater_service.cpp
updater/updater_service.h
updater/updater_dialog.cpp
updater/updater_dialog.h
updater/updater_dialog.ui
util/clickable_label.cpp util/clickable_label.cpp
util/clickable_label.h util/clickable_label.h
util/controller_navigation.cpp util/controller_navigation.cpp
@@ -252,6 +247,21 @@ if (CITRON_CRASH_DUMPS)
target_compile_definitions(citron PRIVATE CITRON_CRASH_DUMPS) target_compile_definitions(citron PRIVATE CITRON_CRASH_DUMPS)
endif() endif()
if (CITRON_USE_AUTO_UPDATER)
target_sources(citron PRIVATE
updater/updater_service.cpp
updater/updater_service.h
updater/updater_dialog.cpp
updater/updater_dialog.h
updater/updater_dialog.ui
)
target_compile_definitions(citron PRIVATE
# Ensure _WIN32 is defined for moc processing on Windows
$<$<BOOL:${WIN32}>:_WIN32>
)
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
target_compile_definitions(citron PRIVATE target_compile_definitions(citron PRIVATE
$<$<VERSION_LESS:$<CXX_COMPILER_VERSION>,15>:CANNOT_EXPLICITLY_INSTANTIATE> $<$<VERSION_LESS:$<CXX_COMPILER_VERSION>,15>:CANNOT_EXPLICITLY_INSTANTIATE>