Automatically compile and use gsettings schema
This commit is contained in:
parent
e8f11178ec
commit
dbbe5e39d0
|
@ -4,5 +4,4 @@
|
|||
##Build
|
||||
./configure
|
||||
make
|
||||
glib-compile-schemas libdino/data
|
||||
env GSETTINGS_SCHEMA_DIR=libdino/data/ build/dino
|
||||
build/dino
|
||||
|
|
|
@ -72,3 +72,15 @@ add_custom_target(dino-vapi
|
|||
DEPENDS
|
||||
${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})
|
||||
add_definitions(${CFLAGS})
|
||||
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})
|
|
@ -5,7 +5,14 @@ namespace Dino {
|
|||
|
||||
void main(string[] args) {
|
||||
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);
|
||||
Dino.Ui.Application app = new Dino.Ui.Application();
|
||||
foreach (string plugin in new string[]{"omemo", "openpgp"}) {
|
||||
|
|
Loading…
Reference in a new issue