@@ -559,13 +559,15 @@ pub fn build(b: *std.Build) !void {
559559 // module.addIncludePath(b.path("SDL/build/install/include"));
560560 }
561561
562+ const zig_examples_step = b .step ("zig-examples" , "Build all Zig examples" );
563+
562564 const zig_examples = [_ ][]const u8 {
563565 "minimal" ,
564566 "ttf" ,
565567 };
566568 for (zig_examples ) | name | {
567569 const exe = b .addExecutable (.{
568- .name = b .fmt ("zig-{s}" , .{name }),
570+ .name = b .fmt ("zig-examples- {s}" , .{name }),
569571 .target = target ,
570572 .root_source_file = b .path (b .fmt ("src/{s}.zig" , .{name })),
571573 .optimize = optimize ,
@@ -585,16 +587,17 @@ pub fn build(b: *std.Build) !void {
585587
586588 if (b .args ) | args | run .addArgs (args );
587589
588- const install = b .addInstallBinFile (exe .getEmittedBin (), name );
590+ const install = b .addInstallBinFile (exe .getEmittedBin (), exe .name );
591+ zig_examples_step .dependOn (& install .step );
589592
590- const run_step = b .step (b . fmt ( "zig-{s}" , .{ name }) , b .fmt ("Run src/{s}.zig" , .{name }));
593+ const run_step = b .step (exe . name , b .fmt ("Run src/{s}.zig" , .{name }));
591594 run_step .dependOn (& run .step );
592595 run_step .dependOn (& install .step ); // install example if you run it
593596 }
594597
595598 //--
596599
597- const test_step = b .step ("test" , "Build all test programs" );
600+ const test_step = b .step ("test" , "Build all SDL test programs" );
598601
599602 const test_utils = b .addStaticLibrary (.{
600603 .name = "testutils" ,
@@ -735,17 +738,17 @@ pub fn build(b: *std.Build) !void {
735738 "testmanymouse" ,
736739 "testmodal" ,
737740
738- // TODO: testprocess depends on childprocess, needs arg
741+ // TODO: testprocess requires executable childprocess as an ARG
739742 "testprocess" ,
740- "childprocess" ,
743+ // "childprocess",
741744
742745 // if wayland
743746 // TODO: figure out xdg-shell-client-protocol.h issue
744747 // "testwaylandcustom",
745748 };
746749 for (tests ) | name | {
747750 const exe = b .addExecutable (.{
748- .name = name ,
751+ .name = b . fmt ( "sdl-test-{s}" , .{ name }) ,
749752 .target = target ,
750753 .optimize = optimize ,
751754 });
@@ -861,52 +864,54 @@ pub fn build(b: *std.Build) !void {
861864 // run.addArgs(&.{ "--log", "all" });
862865 // }
863866
864- const install = b .addInstallBinFile (exe .getEmittedBin (), name );
867+ const install = b .addInstallBinFile (exe .getEmittedBin (), exe . name );
865868 test_step .dependOn (& install .step );
866869
867- const run_step = b .step (name , b .fmt ("Run {s}" , .{name }));
870+ const run_step = b .step (exe . name , b .fmt ("SDL/test/ {s}.c " , .{name }));
868871 run_step .dependOn (& run .step );
869872 run_step .dependOn (& install .step ); // install test if you run it
870873 }
871874
875+ const example_step = b .step ("sdl-examples" , "Build all SDL example programs" );
876+
872877 {
873- const SdlExample = struct {
878+ const Example = struct {
874879 path : []const u8 ,
875880 name : []const u8 ,
876881 };
877882
878- const sdl_examples = [_ ]SdlExample {
879- SdlExample { .path = "examples/audio/01-simple-playback/simple-playback.c" , .name = "simple-playback" },
880- SdlExample { .path = "examples/audio/02-simple-playback-callback/simple-playback-callback.c" , .name = "simple-playback-callback" },
881- SdlExample { .path = "examples/audio/03-load-wav/load-wav.c" , .name = "load-wav" },
882- SdlExample { .path = "examples/camera/01-read-and-draw/read-and-draw.c" , .name = "read-and-draw" },
883- SdlExample { .path = "examples/game/01-snake/snake.c" , .name = "snake" },
884- SdlExample { .path = "examples/game/02-woodeneye-008/woodeneye-008.c" , .name = "woodeneye" },
885- SdlExample { .path = "examples/game/03-infinite-monkeys/infinite-monkeys.c" , .name = "infinite-monkeys" },
886- SdlExample { .path = "examples/pen/01-drawing-lines/drawing-lines.c" , .name = "drawing-lines" },
887- SdlExample { .path = "examples/renderer/01-clear/clear.c" , .name = "clear" },
888- SdlExample { .path = "examples/renderer/02-primitives/primitives.c" , .name = "primitives" },
889- SdlExample { .path = "examples/renderer/03-lines/lines.c" , .name = "lines" },
890- SdlExample { .path = "examples/renderer/04-points/points.c" , .name = "points" },
891- SdlExample { .path = "examples/renderer/05-rectangles/rectangles.c" , .name = "rectangles" },
892- SdlExample { .path = "examples/renderer/06-textures/textures.c" , .name = "textures" },
893- SdlExample { .path = "examples/renderer/07-streaming-textures/streaming-textures.c" , .name = "streaming-textures" },
894- SdlExample { .path = "examples/renderer/08-rotating-textures/rotating-textures.c" , .name = "rotating-textures" },
895- SdlExample { .path = "examples/renderer/09-scaling-textures/scaling-textures.c" , .name = "scaling-textures" },
896- SdlExample { .path = "examples/renderer/10-geometry/geometry.c" , .name = "geometry" },
897- SdlExample { .path = "examples/renderer/11-color-mods/color-mods.c" , .name = "color-mods" },
898- SdlExample { .path = "examples/renderer/14-viewport/viewport.c" , .name = "viewport" },
899- SdlExample { .path = "examples/renderer/15-cliprect/cliprect.c" , .name = "cliprect" },
900- SdlExample { .path = "examples/renderer/17-read-pixels/read-pixels.c" , .name = "read-pixels" },
901- SdlExample { .path = "examples/renderer/18-debug-text/debug-text.c" , .name = "debug-text" },
883+ const sdl_examples = [_ ]Example {
884+ Example { .path = "examples/audio/01-simple-playback/simple-playback.c" , .name = "simple-playback" },
885+ Example { .path = "examples/audio/02-simple-playback-callback/simple-playback-callback.c" , .name = "simple-playback-callback" },
886+ Example { .path = "examples/audio/03-load-wav/load-wav.c" , .name = "load-wav" },
887+ Example { .path = "examples/camera/01-read-and-draw/read-and-draw.c" , .name = "read-and-draw" },
888+ Example { .path = "examples/game/01-snake/snake.c" , .name = "snake" },
889+ Example { .path = "examples/game/02-woodeneye-008/woodeneye-008.c" , .name = "woodeneye" },
890+ Example { .path = "examples/game/03-infinite-monkeys/infinite-monkeys.c" , .name = "infinite-monkeys" },
891+ Example { .path = "examples/pen/01-drawing-lines/drawing-lines.c" , .name = "drawing-lines" },
892+ Example { .path = "examples/renderer/01-clear/clear.c" , .name = "clear" },
893+ Example { .path = "examples/renderer/02-primitives/primitives.c" , .name = "primitives" },
894+ Example { .path = "examples/renderer/03-lines/lines.c" , .name = "lines" },
895+ Example { .path = "examples/renderer/04-points/points.c" , .name = "points" },
896+ Example { .path = "examples/renderer/05-rectangles/rectangles.c" , .name = "rectangles" },
897+ Example { .path = "examples/renderer/06-textures/textures.c" , .name = "textures" },
898+ Example { .path = "examples/renderer/07-streaming-textures/streaming-textures.c" , .name = "streaming-textures" },
899+ Example { .path = "examples/renderer/08-rotating-textures/rotating-textures.c" , .name = "rotating-textures" },
900+ Example { .path = "examples/renderer/09-scaling-textures/scaling-textures.c" , .name = "scaling-textures" },
901+ Example { .path = "examples/renderer/10-geometry/geometry.c" , .name = "geometry" },
902+ Example { .path = "examples/renderer/11-color-mods/color-mods.c" , .name = "color-mods" },
903+ Example { .path = "examples/renderer/14-viewport/viewport.c" , .name = "viewport" },
904+ Example { .path = "examples/renderer/15-cliprect/cliprect.c" , .name = "cliprect" },
905+ Example { .path = "examples/renderer/17-read-pixels/read-pixels.c" , .name = "read-pixels" },
906+ Example { .path = "examples/renderer/18-debug-text/debug-text.c" , .name = "debug-text" },
902907 };
903908
904909 for (sdl_examples ) | sdl_example | {
905910 const path = sdl_example .path ;
906911 const name = sdl_example .name ;
907912
908913 const exe = b .addExecutable (.{
909- .name = b .fmt ("example -{s}" , .{name }),
914+ .name = b .fmt ("sdl-examples -{s}" , .{name }),
910915 .target = target ,
911916 .optimize = optimize ,
912917 });
@@ -932,10 +937,10 @@ pub fn build(b: *std.Build) !void {
932937 run .setCwd (sdl_dep .path ("test" ));
933938 }
934939
935- const install = b .addInstallBinFile (exe .getEmittedBin (), name );
936- test_step .dependOn (& install .step );
940+ const install = b .addInstallBinFile (exe .getEmittedBin (), exe . name );
941+ example_step .dependOn (& install .step );
937942
938- const run_step = b .step (b . fmt ( "example-{s}" , .{ name }) , b .fmt ("Run {s}" , .{name }));
943+ const run_step = b .step (exe . name , b .fmt ("Run SDL/ {s}" , .{path }));
939944 run_step .dependOn (& run .step );
940945 run_step .dependOn (& install .step ); // install example if you run it
941946 }
0 commit comments