-
Notifications
You must be signed in to change notification settings - Fork 0
/
destiny_inventory_tool.gpr
51 lines (41 loc) · 1.61 KB
/
destiny_inventory_tool.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
with "gtkada";
-- Local
with "config/destiny_inventory_tool_config";
with "gpr/bungie_api";
project Destiny_Inventory_Tool is
for Source_Dirs use ("src/", "src/gui/", "src/gui/elements/", "config/");
for Object_Dir use "obj/" & Destiny_Inventory_Tool_Config.Build_Profile;
for Create_Missing_Dirs use "True";
for Exec_Dir use "bin";
for Main use ("inventory_tool.adb");
package Compiler is
Common_Switches := Destiny_Inventory_tool_Config.Ada_Compiler_Switches;
case Destiny_Inventory_Tool_Config.Build_Profile is
when "release" | "development" => null;
when "validation" =>
Common_Switches := Common_Switches & ("-fsanitize-recover=address");
end case;
for Default_Switches ("Ada") use Common_Switches;
end Compiler;
package Binder is
Binder_Switches := ("-Es"); -- Symbolic traceback
case Destiny_Inventory_Tool_Config.Build_Profile is
when "release" => null;
when "validation" | "development" =>
Binder_Switches := Binder_Switches & ("-shared");
end case;
for Switches ("Ada") use Binder_Switches;
end Binder;
package Linker is
Linker_Switches := ("-larchive", "-Wl,--gc-sections");
case Destiny_Inventory_Tool_Config.Build_Profile is
when "release" | "development" =>
for Default_Switches ("Ada") use Linker_Switches;
when "validation" =>
for Default_Switches ("Ada") use Linker_Switches & ("-fsanitize=address", "-static-libasan");
end case;
end Linker;
package Install is
for Artifacts (".") use ("share");
end Install;
end Destiny_Inventory_Tool;