Embed the arun.glade file as a resource in the built-binary

This commit is contained in:
R. Tyler Croy 2017-01-08 00:28:43 -08:00
parent d0f9345db5
commit 5bf2483993
No known key found for this signature in database
GPG Key ID: 1426C7DC3F51E16F
5 changed files with 40 additions and 4 deletions

24
Makefile Normal file
View File

@ -0,0 +1,24 @@
GPRBUILD:=$(shell which gprbuild)
GPRCLEAN:=$(shell which gprclean)
EXE=obj/arun
all: $(EXE)
$(EXE): prepare
$(GPRBUILD) -Parun.gpr -cargs:c $(shell pkg-config --cflags gio-2.0)
prepare: src/arun-resources.c
mkdir -p obj
src/arun-resources.c: arun.gresource.xml arun.glade
glib-compile-resources --generate-source --target=$@ arun.gresource.xml
run: all
./$(EXE)
clean:
$(GPRCLEAN) -Parun.gpr
rm -f src/arun-resources.c
.PHONY: all clean prepare run

View File

@ -2,17 +2,22 @@ with "gtkada";
project Arun is
for Languages use ("Ada", "C");
for Source_Dirs use ("src");
for Object_Dir use "obj";
for Main use ("main.adb");
package Linker is
For Leading_Switches ("Ada") use ("arun-resources.o");
end Linker;
package Builder is
for Executable ("main.adb") use "arun";
end Builder;
-- Enable Ada 2005.
package Compiler is
for Switches ("ada") use ("-gnat2012");
for Switches ("Ada") use ("-gnat2012");
end Compiler;
end Arun;

6
arun.gresource.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/io/lasagna/arun">
<file preprocess="xml-stripblanks">arun.glade</file>
</gresource>
</gresources>

1
src/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*.c

View File

@ -30,9 +30,9 @@ package body Arun is
Gtk_New (Builder);
Return_Code := Add_From_File (Builder => Builder,
Filename => "arun.glade",
Error => Error'Access);
Return_Code := Add_From_Resource (Builder => Builder,
Resource_Path => "/io/lasagna/arun/arun.glade",
Error => Error'Access);
if Error /= null then
Put_Line ("Error : " & Get_Message (Error));
Error_Free (Error);