Import('env') # LibFmt lib_fmt = env.Cook('fmt', git_ref = 'refs/tags/10.2.1') # magic_enum lib_magic_enum = env.Cook('magic_enum', git_ref = 'refs/tags/v0.9.3') # Glslang lib_glslang = env.Cook('glslang', remote = 'mewin') # GLM env.Append(CPPDEFINES = ['GLM_FORCE_DEPTH_ZERO_TO_ONE', 'GLM_FORCE_RADIANS']) lib_glm = env.Cook('glm', remote = 'mewin') # Mijin lib_mijin = env.Cook('mijin') # SDL lib_sdl = env.Cook('SDL', git_ref = 'refs/tags/release-2.28.4') # stb lib_stb = env.Cook('stb') # VulkanHeaders lib_vulkan_headers = env.Cook('VulkanHeaders', remote = 'mewin', git_ref = 'refs/tags/v1.3.271-2') # Argparse lib_argparse = env.Cook('argparse', git_ref = 'refs/tags/v3.0') # yaml-cpp lib_yaml_cpp = env.Cook('yaml-cpp', git_ref = 'refs/tags/0.8.0') # Generated files env.Jinja('include/iwa/util/vertex_attribute_semantic.gen.hpp') # Iwa src_files = Split(""" source/addon.cpp source/buffer.cpp source/command.cpp source/descriptor_set.cpp source/device.cpp source/device_memory.cpp source/event.cpp source/fence.cpp source/image.cpp source/input.cpp source/instance.cpp source/object.cpp source/pipeline.cpp source/render_pass.cpp source/semaphore.cpp source/serialization.cpp source/shader_module.cpp source/swapchain.cpp source/texture.cpp source/type_meta.cpp source/window.cpp source/app/vulkan_application.cpp source/io/bitmap.cpp source/io/font.cpp source/io/mesh.cpp source/resource/bitmap.cpp source/resource/font.cpp source/util/glsl_compiler.cpp source/util/growing_descriptor_pool.cpp source/util/image_reference.cpp source/util/reflect_glsl.cpp source/util/render_loop.cpp source/util/shader_meta.cpp source/util/texture_atlas.cpp source/util/vertex_layout.cpp source/util/vkutil.cpp """) include_dir = env.Dir('include') env.Append(JINJA_TEMPLATE_SEARCHPATH = [env.Dir('data/jinja')]) env.Append(JINJA_CONFIG_SEARCHPATH = [env.Dir('data/config')]) lib_iwa = env.UnityStaticLibrary( target = env['LIB_DIR'] + '/iwa', source = src_files, dependencies = [lib_fmt, lib_glslang, lib_glm, lib_magic_enum, lib_mijin, lib_sdl, lib_stb, lib_vulkan_headers, lib_argparse, lib_yaml_cpp], CPPPATH = [include_dir] ) LIB_CONFIG = { 'CPPPATH': [include_dir], 'DEPENDENCIES': [lib_iwa], } Return('LIB_CONFIG')