diff options
author | Marvin W <git@larma.de> | 2017-03-10 19:34:56 +0100 |
---|---|---|
committer | Marvin W <git@larma.de> | 2017-03-10 19:50:34 +0100 |
commit | 29ca70a6d534e1cd79963718c793ae740318cff1 (patch) | |
tree | 295bc0a88b9f31f103bc970fbdcd2d940d6c83e2 /main | |
parent | cf51e1dee22273366700c41a185c4bea343dddfe (diff) | |
download | dino-29ca70a6d534e1cd79963718c793ae740318cff1.tar.gz dino-29ca70a6d534e1cd79963718c793ae740318cff1.zip |
Initial plugin system
Diffstat (limited to 'main')
-rw-r--r-- | main/CMakeLists.txt | 35 | ||||
-rw-r--r-- | main/src/main.vala | 20 |
2 files changed, 55 insertions, 0 deletions
diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt new file mode 100644 index 00000000..cfb14eed --- /dev/null +++ b/main/CMakeLists.txt @@ -0,0 +1,35 @@ +find_package(Vala REQUIRED) +find_package(PkgConfig REQUIRED) +include(${VALA_USE_FILE}) + +set(MAIN_PACKAGES + gee-0.8 + gio-2.0 + glib-2.0 + gtk+-3.0 + gmodule-2.0 + sqlite3 +) + +pkg_check_modules(MAIN REQUIRED ${MAIN_PACKAGES}) + +vala_precompile(MAIN_VALA_C +SOURCES + src/main.vala +CUSTOM_VAPIS + ${CMAKE_BINARY_DIR}/xmpp-vala/xmpp-vala.vapi + ${CMAKE_BINARY_DIR}/qlite/qlite.vapi + ${CMAKE_BINARY_DIR}/libdino/dino.vapi +PACKAGES + ${MAIN_PACKAGES} +OPTIONS + --target-glib=2.38 + -g + --thread +) + +set(CFLAGS ${VALA_CFLAGS} ${MAIN_CFLAGS} -I${CMAKE_BINARY_DIR}/xmpp-vala -I${CMAKE_BINARY_DIR}/qlite -I${CMAKE_BINARY_DIR}/libdino) +add_definitions(${CFLAGS}) +add_executable(dino ${MAIN_VALA_C}) +add_dependencies(dino dino-vapi) +target_link_libraries(dino libdino)
\ No newline at end of file diff --git a/main/src/main.vala b/main/src/main.vala new file mode 100644 index 00000000..80f9bea5 --- /dev/null +++ b/main/src/main.vala @@ -0,0 +1,20 @@ +using Dino.Entities; +using Dino.Ui; + +namespace Dino { + +void main(string[] args) { + Gtk.init(ref args); + Dino.Ui.Application app = new Dino.Ui.Application(); + PluginLoader loader = new PluginLoader(); + foreach(string plugin in new string[]{}) { + try { + loader.load(plugin, app); + } catch (Dino.PluginError e) { + print(@"Error loading plugin $plugin: $(e.message)\n"); + } + } + app.run(args); +} + +}
\ No newline at end of file |