ui/modules/vulkan/generate.jai

52 lines
1.3 KiB
Plaintext

#import "Basic";
#import "Compiler";
#import "BuildCpp";
#import "Bindings_Generator";
#if OS == .WINDOWS {
INCLUDE_DIR :: "C:/VulkanSDK/1.4.304.0/Include";
LIB_DIR :: "C:/VulkanSDK/1.4.304.0/Lib";
LIB_NAME :: "vulkan-1.lib";
} else #if OS == .LINUX {
INCLUDE_DIR :: "";
LIB_DIR :: "";
} else #if OS == .MACOS {
INCLUDE_DIR :: "/Users/vfs/VulkanSDK/1.4.313.1/macOS/include";
LIB_DIR :: "/Users/vfs/VulkanSDK/1.4.313.1/macOS/lib";
LIB_NAME :: "libvulkan";
}
#run {
set_build_options_dc(.{do_output = false});
lib_dir : string;
#if OS == .WINDOWS {
lib_dir = "windows";
} else #if OS == .MACOS {
lib_dir = "macos";
} else #if OS == .LINUX {
lib_dir = "linux";
}
opts : Generate_Bindings_Options;
array_add(*opts.include_paths, INCLUDE_DIR);
array_add(*opts.source_files, "vulkan/vulkan.h");
array_add(*opts.system_library_paths, LIB_DIR);
array_add(*opts.system_library_names, LIB_NAME);
#if OS == .WINDOWS {
opts.generate_library_declarations = false;
opts.footer = FOOTER_WINDOWS;
}
generate_bindings(opts, tprint("%.jai", lib_dir));
}
FOOTER_WINDOWS :: #string DONE
vulkan_1 :: #library,system,no_dll "C:/VulkanSDK/1.4.304.0/Lib/vulkan-1";
DONE