From 159eaf8c50f48c062506d1f95e9b126be76d1865 Mon Sep 17 00:00:00 2001 From: Rekai Musuka Date: Sun, 26 Mar 2023 22:54:53 -0500 Subject: [PATCH] feat: prefer SDL.h instead of SDL/SDL.h on all supported platforms --- build.zig | 25 +++++++++++++++---------- libs/imgui/backends/imgui_impl_sdl.cpp | 9 ++------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/build.zig b/build.zig index 3c2db12..b9caaae 100644 --- a/build.zig +++ b/build.zig @@ -105,20 +105,25 @@ pub fn package( zgui_c_cpp.linkSystemLibraryName("dwmapi"); }, .sdl2_opengl3 => { - // if (target.isWindows()) blk: { - // // see: https://github.com/MasterQ32/SDL.zig/blob/37f4ba9e31bea895fa19ef8b90d1f51111e52e67/Sdk.zig#L182-L199 + if (target.isWindows()) blk: { + // see: https://github.com/MasterQ32/SDL.zig/blob/37f4ba9e31bea895fa19ef8b90d1f51111e52e67/Sdk.zig#L182-L199 - // zgui_c_cpp.addVcpkgPaths(if (args.options.shared) .dynamic else .static) catch break :blk; - // const path = zgui_c_cpp.vcpkg_bin_path orelse break :blk; + zgui_c_cpp.addVcpkgPaths(if (args.options.shared) .dynamic else .static) catch break :blk; - // const src_path = std.fs.path.join(b.allocator, &.{ path, "SDL2.dll" }) catch @panic("out of memory"); + const vcpkg_triplet = zgui_c_cpp.target.vcpkgTriplet(b.allocator, if (args.options.shared) .Dynamic else .Static) catch |e| { + std.debug.panic("failed to determing vcpkg triplet: {}", .{e}); + }; + defer b.allocator.free(vcpkg_triplet); - // std.fs.cwd().access(src_path, .{}) catch break :blk; + const include_path = b.pathJoin(&.{ b.vcpkg_root.found, "installed", vcpkg_triplet, "include", "SDL2" }); + zgui_c_cpp.include_dirs.append(.{ .raw_path = include_path }) catch @panic("out of memory"); - // std.log.info("path: {s}", .{src_path}); - // // we found SDL2.dll - // b.installBinFile(src_path, "SDL2.dll"); - // } + const bin_path = zgui_c_cpp.vcpkg_bin_path orelse @panic("vcpkg paths were found, so vcpkg_bin_path should be set "); + const dll_path = std.fs.path.join(b.allocator, &.{ bin_path, "SDL2.dll" }) catch @panic("out of memory"); + + std.fs.cwd().access(dll_path, .{}) catch break :blk; + b.installBinFile(dll_path, "SDL2.dll"); + } zgui_c_cpp.linkSystemLibrary("SDL2"); diff --git a/libs/imgui/backends/imgui_impl_sdl.cpp b/libs/imgui/backends/imgui_impl_sdl.cpp index d63c6e4..53ef3ed 100644 --- a/libs/imgui/backends/imgui_impl_sdl.cpp +++ b/libs/imgui/backends/imgui_impl_sdl.cpp @@ -67,13 +67,8 @@ #include "imgui_impl_sdl.h" // SDL -#if defined(__WIN32__) - #include - #include -#else - #include - #include -#endif +#include +#include #if defined(__APPLE__) #include