iwa/LibConf

99 lines
2.3 KiB
Plaintext

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/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')