Improve configuration of AUTOSTART_EXEC_PATH

* Avoid adding compile definition project-wide
* Use `SYNCTHINGWIDGETS_`-prefix for definition as it is done in other
  places as well
* Use `set(… CACHE …)` for this non-boolean cache variable
This commit is contained in:
Martchus 2022-12-10 12:19:26 +01:00
parent f7e36115ab
commit be5043bbe7
2 changed files with 10 additions and 5 deletions

View File

@ -117,10 +117,15 @@ if (SYNCTHING_WIDGETS_LOG_JAVASCRIPT_CONSOLE)
endif ()
# configure autostart .desktop file exec path
option(AUTOSTART_EXEC_PATH "Set the Exec= path for Linux' autostart/syncthingtray.desktop file - useful for Nix & Guix")
set(AUTOSTART_EXEC_PATH
""
CACHE STRING "Set the Exec= path for Linux' autostart/syncthingtray.desktop file - useful for Nix & Guix")
if (AUTOSTART_EXEC_PATH)
add_compile_definitions(AUTOSTART_EXEC_PATH="${AUTOSTART_EXEC_PATH}")
endif()
set_property(
SOURCE settings/settingsdialog.cpp
APPEND
PROPERTY COMPILE_DEFINITIONS SYNCTHINGWIDGETS_AUTOSTART_EXEC_PATH="${AUTOSTART_EXEC_PATH}")
endif ()
# link also explicitly against the following Qt modules
list(APPEND ADDITIONAL_QT_MODULES Network Concurrent)

View File

@ -802,8 +802,8 @@ bool setAutostartEnabled(bool enabled)
desktopFile.write("[Desktop Entry]\n"
"Name=" APP_NAME "\n"
"Exec=\"");
#if defined(AUTOSTART_EXEC_PATH)
desktopFile.write(qEnvironmentVariable("APPIMAGE", AUTOSTART_EXEC_PATH).toUtf8().data());
#if defined(SYNCTHINGWIDGETS_AUTOSTART_EXEC_PATH)
desktopFile.write(qEnvironmentVariable("APPIMAGE", SYNCTHINGWIDGETS_AUTOSTART_EXEC_PATH).toUtf8().data());
#else
desktopFile.write(qEnvironmentVariable("APPIMAGE", QCoreApplication::applicationFilePath()).toUtf8().data());
#endif