Fix: Enable DESKTOP_INTEGRATION and fixes the compilation issue reported in #13 #20
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #13.
Screen.record.from.2025-11-09.21.30.57-2.webm
Implementation Notes
Why is
add_project_argumentsin the main meson.build?While the
DESKTOP_INTEGRATIONflag is conceptually specific to the AppsPlugin, it must be declared in the mainmeson.buildfile due to a Meson build system requirement. Meson Requirement:add_project_arguments()must be called before any build targets are declared (before anyexecutable(),shared_library(), etc.). This is a strict rule enforced by Meson to ensure all compiler arguments are available before compilation begins.Build Order in this Project:
subdir('lib')- declares the main library targetsubdir('plugins')- processes plugin subdirectoriesBy the time Meson reaches
plugins/AppsPlugin/meson.build, the library target has already been declared inlib/, so callingadd_project_arguments()there would fail with:Why This Approach is Correct:
meson_options.txtas a project-level optionplugins/AppsPlugin/meson.buildstill controls whetherDesktopIntegration.valais compiledDESKTOP_INTEGRATIONflag is only used within#if DESKTOP_INTEGRATIONblocks in the AppsPlugin code