Automatically compile and use gsettings schema
This commit is contained in:
parent
e8f11178ec
commit
dbbe5e39d0
|
@ -4,5 +4,4 @@
|
||||||
##Build
|
##Build
|
||||||
./configure
|
./configure
|
||||||
make
|
make
|
||||||
glib-compile-schemas libdino/data
|
build/dino
|
||||||
env GSETTINGS_SCHEMA_DIR=libdino/data/ build/dino
|
|
||||||
|
|
|
@ -72,3 +72,15 @@ add_custom_target(dino-vapi
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${CMAKE_BINARY_DIR}/exports/dino.vapi
|
${CMAKE_BINARY_DIR}/exports/dino.vapi
|
||||||
)
|
)
|
||||||
|
|
||||||
|
add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/gschemas.compiled
|
||||||
|
COMMAND
|
||||||
|
glib-compile-schemas --targetdir=${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/data
|
||||||
|
DEPENDS
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/data/dino.gschema.xml
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(dino-gsettings-schema-compiled
|
||||||
|
DEPENDS
|
||||||
|
${CMAKE_BINARY_DIR}/gschemas.compiled
|
||||||
|
)
|
|
@ -112,5 +112,5 @@ OPTIONS
|
||||||
set(CFLAGS ${VALA_CFLAGS} ${MAIN_CFLAGS})
|
set(CFLAGS ${VALA_CFLAGS} ${MAIN_CFLAGS})
|
||||||
add_definitions(${CFLAGS})
|
add_definitions(${CFLAGS})
|
||||||
add_executable(dino ${MAIN_VALA_C} ${MAIN_GRESOURCES_TARGET})
|
add_executable(dino ${MAIN_VALA_C} ${MAIN_GRESOURCES_TARGET})
|
||||||
add_dependencies(dino dino-vapi)
|
add_dependencies(dino dino-vapi dino-gsettings-schema-compiled)
|
||||||
target_link_libraries(dino libdino ${MAIN_LIBRARIES})
|
target_link_libraries(dino libdino ${MAIN_LIBRARIES})
|
|
@ -5,7 +5,14 @@ namespace Dino {
|
||||||
|
|
||||||
void main(string[] args) {
|
void main(string[] args) {
|
||||||
try{
|
try{
|
||||||
Plugins.Loader loader = new Plugins.Loader(args.length > 0 ? args[0] : null);
|
string? exec_path = args.length > 0 ? args[0] : null;
|
||||||
|
if (exec_path != null && exec_path.contains(Path.DIR_SEPARATOR_S)) {
|
||||||
|
string bindir = Path.get_dirname(exec_path);
|
||||||
|
if (FileUtils.test(Path.build_filename(bindir, "gschemas.compiled"), FileTest.IS_REGULAR)) {
|
||||||
|
Environment.set_variable("GSETTINGS_SCHEMA_DIR", Path.get_dirname(exec_path), false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Plugins.Loader loader = new Plugins.Loader(exec_path);
|
||||||
Gtk.init(ref args);
|
Gtk.init(ref args);
|
||||||
Dino.Ui.Application app = new Dino.Ui.Application();
|
Dino.Ui.Application app = new Dino.Ui.Application();
|
||||||
foreach (string plugin in new string[]{"omemo", "openpgp"}) {
|
foreach (string plugin in new string[]{"omemo", "openpgp"}) {
|
||||||
|
|
Loading…
Reference in a new issue