Skip to content

Commit a7e65ef

Browse files
committed
build.zig: don't list SAR source files
1 parent deb9f56 commit a7e65ef

File tree

1 file changed

+19
-174
lines changed

1 file changed

+19
-174
lines changed

build.zig

Lines changed: 19 additions & 174 deletions
Original file line numberDiff line numberDiff line change
@@ -1,177 +1,3 @@
1-
const sources: []const []const u8 = &.{
2-
"SAR.cpp",
3-
"Features/AutoSubmit.cpp",
4-
"Features/DataMapDumper.cpp",
5-
"Features/WorkshopList.cpp",
6-
"Features/DiscordRichPresence.cpp",
7-
"Features/Routing/SeamshotFind.cpp",
8-
"Features/Routing/EntityInspector.cpp",
9-
"Features/Routing/Ruler.cpp",
10-
"Features/Routing/StepSlopeBoostDebug.cpp",
11-
"Features/SteamTimeline.cpp",
12-
"Features/Timer/Timer.cpp",
13-
"Features/Timer/TimerAverage.cpp",
14-
"Features/Timer/TimerCheckPoints.cpp",
15-
"Features/Timer/PauseTimer.cpp",
16-
"Features/Teleporter.cpp",
17-
"Features/StepCounter.cpp",
18-
"Features/Renderer.cpp",
19-
"Features/Stats/JumpStats.cpp",
20-
"Features/Stats/StepStats.cpp",
21-
"Features/Stats/Sync.cpp",
22-
"Features/Stats/StatsCounter.cpp",
23-
"Features/Stats/VelocityStats.cpp",
24-
"Features/Stats/Stats.cpp",
25-
"Features/OverlayRender.cpp",
26-
"Features/Cvars.cpp",
27-
"Features/Summary.cpp",
28-
"Features/PlacementScanner.cpp",
29-
"Features/PlayerTrace.cpp",
30-
"Features/Listener.cpp",
31-
"Features/ReloadedFix.cpp",
32-
"Features/Session.cpp",
33-
"Features/FCPS.cpp",
34-
"Features/Feature.cpp",
35-
"Features/TwitchIntegration.cpp",
36-
"Features/ChallengeMode.cpp",
37-
"Features/Stitcher.cpp",
38-
"Features/SeasonalASCII.cpp",
39-
"Features/Speedrun/CategoriesPreset.cpp",
40-
"Features/Speedrun/CategoryCreator.cpp",
41-
"Features/Speedrun/Categories.cpp",
42-
"Features/Speedrun/Rules.cpp",
43-
"Features/Speedrun/SpeedrunTimer.cpp",
44-
"Features/Hud/Crosshair.cpp",
45-
"Features/Hud/Minimap.cpp",
46-
"Features/Hud/PlacementHelperHud.cpp",
47-
"Features/Hud/InputHud.cpp",
48-
"Features/Hud/PortalgunHud.cpp",
49-
"Features/Hud/Watermark.cpp",
50-
"Features/Hud/VelocityGraph.cpp",
51-
"Features/Hud/SpeedrunHud.cpp",
52-
"Features/Hud/PerformanceHud.cpp",
53-
"Features/Hud/StrafeHud.cpp",
54-
"Features/Hud/StrafeQuality.cpp",
55-
"Features/Hud/EHMDebugHud.cpp",
56-
"Features/Hud/LPHud.cpp",
57-
"Features/Hud/InspectionHud.cpp",
58-
"Features/Hud/PortalPlacement.cpp",
59-
"Features/Hud/RhythmGame.cpp",
60-
"Features/Hud/AimPointHud.cpp",
61-
"Features/Hud/StrafeSyncHud.cpp",
62-
"Features/Hud/Toasts.cpp",
63-
"Features/Hud/ScrollSpeed.cpp",
64-
"Features/Hud/CheatWarn.cpp",
65-
"Features/Hud/VphysHud.cpp",
66-
"Features/Hud/Hud.cpp",
67-
"Features/Camera.cpp",
68-
"Features/Tas/TasScript.cpp",
69-
"Features/Tas/TasController.cpp",
70-
"Features/Tas/TasParser.cpp",
71-
"Features/Tas/TasProtocol.cpp",
72-
"Features/Tas/TasTools/CheckTool.cpp",
73-
"Features/Tas/TasTools/AutoAimTool.cpp",
74-
"Features/Tas/TasTools/CommandTool.cpp",
75-
"Features/Tas/TasTools/AngleToolsUtils.cpp",
76-
"Features/Tas/TasTools/UseTool.cpp",
77-
"Features/Tas/TasTools/LookTool.cpp",
78-
"Features/Tas/TasTools/TasUtils.cpp",
79-
"Features/Tas/TasTools/AbsoluteMoveTool.cpp",
80-
"Features/Tas/TasTools/StrafeTool.cpp",
81-
"Features/Tas/TasTools/DuckTool.cpp",
82-
"Features/Tas/TasTools/StopTool.cpp",
83-
"Features/Tas/TasTools/ZoomTool.cpp",
84-
"Features/Tas/TasTools/ShootTool.cpp",
85-
"Features/Tas/TasTools/DecelTool.cpp",
86-
"Features/Tas/TasTools/AutoJumpTool.cpp",
87-
"Features/Tas/TasTools/SetAngleTool.cpp",
88-
"Features/Tas/TasTools/MoveTool.cpp",
89-
"Features/Tas/TasPlayer.cpp",
90-
"Features/Tas/TasTool.cpp",
91-
"Features/ClassDumper.cpp",
92-
"Features/ChapterMenu.cpp",
93-
"Features/Updater.cpp",
94-
"Features/TimescaleDetect.cpp",
95-
"Features/SegmentedTools.cpp",
96-
"Features/GroundFramesCounter.cpp",
97-
"Features/AchievementTracker.cpp",
98-
"Features/RNGManip.cpp",
99-
"Features/Pathmatch.cpp",
100-
"Features/WindowResizer.cpp",
101-
"Features/FovChanger.cpp",
102-
"Features/EntityList.cpp",
103-
"Features/NetMessage.cpp",
104-
"Features/Metronome.cpp",
105-
"Features/Demo/DemoParser.cpp",
106-
"Features/Demo/NetworkGhostPlayer.cpp",
107-
"Features/Demo/DemoGhostPlayer.cpp",
108-
"Features/Demo/GhostLeaderboard.cpp",
109-
"Features/Demo/GhostRenderer.cpp",
110-
"Features/Demo/DemoGhostEntity.cpp",
111-
"Features/Demo/Demo.cpp",
112-
"Features/Demo/GhostEntity.cpp",
113-
"Features/ConfigPlus.cpp",
114-
"Interface.cpp",
115-
"Entity.cpp",
116-
"Command.cpp",
117-
"Utils.cpp",
118-
"CrashHandler.cpp",
119-
"Variable.cpp",
120-
"Checksum.cpp",
121-
"Offsets.cpp",
122-
"Games/ThinkingWithTimeMachine.cpp",
123-
"Games/Portal2_2011.cpp",
124-
"Games/Portal2.cpp",
125-
"Games/INFRA.cpp",
126-
"Games/ApertureTag.cpp",
127-
"Games/BeginnersGuide.cpp",
128-
"Games/PortalStoriesMel.cpp",
129-
"Games/StanleyParable.cpp",
130-
"Games/PortalReloaded.cpp",
131-
"Modules/Tier1.cpp",
132-
"Modules/FileSystem.cpp",
133-
"Modules/Server.cpp",
134-
"Modules/Matchmaking.cpp",
135-
"Modules/EngineDemoRecorder.cpp",
136-
"Modules/SteamAPI.cpp",
137-
"Modules/VGui.cpp",
138-
"Modules/InputSystem.cpp",
139-
"Modules/Engine.cpp",
140-
"Modules/EngineDemoPlayer.cpp",
141-
"Modules/Client.cpp",
142-
"Modules/Surface.cpp",
143-
"Modules/Module.cpp",
144-
"Modules/Scheme.cpp",
145-
"Modules/MaterialSystem.cpp",
146-
"Modules/Console.cpp",
147-
"Plugin.cpp",
148-
"Game.cpp",
149-
"Event.cpp",
150-
"Utils/Math.cpp",
151-
"Utils/TwitchConnection.cpp",
152-
"Utils/ed25519/sc.cpp",
153-
"Utils/ed25519/fe.cpp",
154-
"Utils/ed25519/key_exchange.cpp",
155-
"Utils/ed25519/sign.cpp",
156-
"Utils/ed25519/ge.cpp",
157-
"Utils/ed25519/sha512.cpp",
158-
"Utils/ed25519/keypair.cpp",
159-
"Utils/ed25519/add_scalar.cpp",
160-
"Utils/ed25519/verify.cpp",
161-
"Utils/ed25519/seed.cpp",
162-
"Utils/json11.cpp",
163-
"Utils/NetworkConnection.cpp",
164-
"Utils/SDK/EntityEdict.cpp",
165-
"Utils/SDK/KeyValues.cpp",
166-
"Utils/SDK/MeshBuilder.cpp",
167-
"Utils/SDK/CViewSetup.cpp",
168-
"Utils/SDK/ServerPlugin.cpp",
169-
"Utils/Memory.cpp",
170-
"Utils/lodepng.cpp",
171-
"Cheats.cpp",
172-
"Scheduler.cpp",
173-
};
174-
1751
const SarTarget = enum { linux, windows };
1762

1773
pub fn build(b: *std.Build) void {
@@ -183,6 +9,8 @@ pub fn build(b: *std.Build) void {
1839
const target = b.resolveTargetQuery(target_query);
18410
const optimize = b.standardOptimizeOption(.{});
18511

12+
const sources = findSarSources(b) catch |err| std.debug.panic("error listing source files: {s}", .{@errorName(err)});
13+
18614
const mod = b.createModule(.{
18715
.target = target,
18816
.optimize = optimize,
@@ -484,4 +312,21 @@ fn generateHeaders(b: *std.Build) std.Build.LazyPath {
484312
return generate_headers.getDirectory();
485313
}
486314

315+
/// Walks the `src/` directory to find all files whose names end `.cpp`.
316+
/// Returns a slice of their paths relative to `src/`.
317+
fn findSarSources(b: *std.Build) ![]const []const u8 {
318+
const arena = b.graph.arena;
319+
var sources: std.ArrayListUnmanaged([]const u8) = .empty;
320+
var dir = try b.build_root.handle.openDir("src/", .{ .iterate = true });
321+
defer dir.close();
322+
var w = try dir.walk(arena);
323+
defer w.deinit();
324+
while (try w.next()) |entry| {
325+
if (entry.kind != .file) continue;
326+
if (!std.mem.endsWith(u8, entry.path, ".cpp")) continue;
327+
try sources.append(arena, b.dupe(entry.path));
328+
}
329+
return sources.items;
330+
}
331+
487332
const std = @import("std");

0 commit comments

Comments
 (0)