-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNavDb.gpr
114 lines (105 loc) · 3.98 KB
/
NavDb.gpr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
project NavDb is
type Mode_Type is ("debug", "release");
type Interface_Type is ("GUI", "CLI");
Mode : Mode_Type := external ("mode", "debug");
Interface : Interface_Type := external ("interface", "CLI");
Cpp_switches := ("-std=c++20","-pthread");
GTKmm_switches := ("-I/usr/include/gtkmm-4.0",
"-I/usr/lib64/gtkmm-4.0/include",
"-I/usr/include/giomm-2.68",
"-I/usr/lib64/giomm-2.68/include",
"-I/usr/include/glib-2.0",
"-I/usr/lib64/glib-2.0/include",
"-I/usr/include/sysprof-4",
"-I/usr/include/libmount",
"-I/usr/include/blkid",
"-I/usr/include/glibmm-2.68",
"-I/usr/lib64/glibmm-2.68/include",
"-I/usr/include/sigc++-3.0",
"-I/usr/lib64/sigc++-3.0/include",
"-I/usr/include/gtk-4.0",
"-I/usr/include/pango-1.0",
"-I/usr/include/harfbuzz",
"-I/usr/include/freetype2",
"-I/usr/include/libpng16",
"-I/usr/include/fribidi",
"-I/usr/include/libxml2",
"-I/usr/include/cairo",
"-I/usr/include/pixman-1",
"-I/usr/include/gdk-pixbuf-2.0",
"-I/usr/include/graphene-1.0",
"-I/usr/lib64/graphene-1.0/include",
"-I/usr/include/gio-unix-2.0",
"-I/usr/include/cairomm-1.16",
"-I/usr/lib64/cairomm-1.16/include",
"-I/usr/include/pangomm-2.48",
"-I/usr/lib64/pangomm-2.48/include",
"-I/usr/include/gtk-4.0/unix-print",
"-mfpmath=sse",
"-msse",
"-msse2",
"-pthread",
"-lgtkmm-4.0",
"-lpangomm-2.48",
"-lgiomm-2.68",
"-lglibmm-2.68",
"-lcairomm-1.16",
"-lsigc-3.0",
"-lgtk-4",
"-lpangocairo-1.0",
"-lpango-1.0",
"-lharfbuzz",
"-lgdk_pixbuf-2.0",
"-lcairo-gobject",
"-lcairo",
"-lgraphene-1.0",
"-lgio-2.0",
"-lgobject-2.0",
"-lglib-2.0");
GlobalSrc := ("./src/",
"./src/Common/",
"./src/StdDb/",
"./src/Presentation/");
CliSrc := ("./src/CLI-Interface/");
GuiSrc := ("./src/GUI-Interface/");
for Languages use ("C++");
case Interface is
when "CLI" =>
for source_dirs use GlobalSrc & CliSrc;
for main use ("./src/main.cpp");
when "GUI" =>
for source_dirs use GlobalSrc & GuiSrc & CliSrc;
for main use ("./src/main_GUI.cpp");
end case;
for Object_Dir use "./obj";
for Exec_dir use "./bin";
package Builder is
case Mode is
when "debug" =>
case Interface is
when "CLI" => for Executable("main.cpp") use "NavDbDebug.bin";
when "GUI" => for Executable("main_GUI.cpp") use "NavDbGuiDebug.bin";
end case;
when "release" =>
case Interface is
when "CLI" => for Executable("main.cpp") use "NavDb.bin";
when "GUI" => for Executable("main_GUI.cpp") use "NavDbGui.bin";
end case;
end case;
end Builder;
package Compiler is
case Mode is
when "debug" =>
Cpp_switches := Cpp_switches & ("-g");
when "release" =>
null;
end case;
for Default_Switches("C++") use Cpp_switches & GTKmm_switches;
end Compiler;
package Binder is
for Switches ("C++") use GTKmm_switches;
end Binder;
package Linker is
for Switches ("C++") use GTKmm_switches;
end Linker;
end NavDb;