How to compile schema at build step?

564 Views Asked by At

Waf 2.0.17 glib2 compiles and install the gsettings schemas of hamster smoothly.

Yet it is not possible to run the application without installing first:

python3 src/hamster-cli.py 

(hamster-cli.py:4690): GLib-GIO-ERROR **: 17:27:08.176: 
Settings schema 'org.gnome.Hamster' is not installed

The workaround described in First steps with GSettings does not work.

./waf configure build

...
[127/127] Compiling data/org.gnome.hamster.gschema.xml

GSETTINGS_SCHEMA_DIR=build/data python3 src/hamster-cli.py 

(hamster-cli.py:4850): GLib-GIO-ERROR **: 17:31:56.381: Settings schema 'org.gnome.Hamster' is not installed Trace/breakpoint trap (core dumped)

GSETTINGS_SCHEMA_DIR=build/data gsettings describe org.gnome.hamster last-report-folder

No such schema “org.gnome.hamster”

and indeed, there is only the empty build/data/org.gnome.hamster.gschema.xml.valid file that serves as a target:

hcode = 'rm -f ${GLIB_VALIDATE_SCHEMA_OUTPUT} \
         && ${GLIB_COMPILE_SCHEMAS} --dry-run ${GLIB_COMPILE_SCHEMAS_OPTIONS} \
         && touch ${GLIB_VALIDATE_SCHEMA_OUTPUT}'

Workaround

Following this answer:

glib-compile-schemas --targetdir=build/data data

Question

How to get the compiled schema in build/data with ./waf configure build ?

0

There are 0 best solutions below