2022-09-08 07:19:36 -07:00
const builtin = @import ( " builtin " ) ;
2021-07-06 20:53:10 -07:00
const std = @import ( " std " ) ;
2021-10-30 21:24:15 -07:00
2024-01-13 02:39:26 -07:00
pub fn build ( b : * std . Build ) ! void {
2023-02-07 19:19:47 +01:00
const optimize = b . standardOptimizeOption ( . { } ) ;
2022-07-23 16:52:34 +04:30
const target = b . standardTargetOptions ( . { } ) ;
2024-02-01 18:24:26 -07:00
var module = b . addModule ( " mach-glfw " , . {
. target = target ,
. optimize = optimize ,
2024-01-13 02:39:26 -07:00
. root_source_file = . { . path = " src/main.zig " } ,
} ) ;
2023-09-17 13:44:52 -07:00
const test_step = b . step ( " test " , " Run library tests " ) ;
const main_tests = b . addTest ( . {
. name = " glfw-tests " ,
. root_source_file = . { . path = " src/main.zig " } ,
. target = target ,
. optimize = optimize ,
} ) ;
b . installArtifact ( main_tests ) ;
test_step . dependOn ( & b . addRunArtifact ( main_tests ) . step ) ;
2024-04-21 12:02:57 -07:00
if ( b . lazyDependency ( " glfw " , . {
. target = target ,
. optimize = optimize ,
} ) ) | dep | {
module . linkLibrary ( dep . artifact ( " glfw " ) ) ;
@import ( " glfw " ) . addPaths ( module ) ;
main_tests . linkLibrary ( dep . artifact ( " glfw " ) ) ;
@import ( " glfw " ) . addPaths ( & main_tests . root_module ) ;
}
2023-07-06 22:30:29 -07:00
}
2023-08-04 12:35:30 -07:00
2024-01-13 02:59:21 -07:00
comptime {
2024-06-01 17:25:34 -07:00
const supported_zig = std . SemanticVersion . parse ( " 0.13.0-dev.351+64ef45eb0 " ) catch unreachable ;
2024-01-14 18:28:22 -07:00
if ( builtin . zig_version . order ( supported_zig ) ! = . eq ) {
2024-03-09 00:01:30 -07:00
@compileError ( std . fmt . comptimePrint ( " unsupported Zig version ({}). Required Zig version 2024.3.0-mach: https://machengine.org/about/nominated-zig/#202430-mach " , . { builtin . zig_version } ) ) ;
2024-01-13 02:59:21 -07:00
}
}