diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2019-08-05 11:48:54 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2020-02-11 11:59:04 +0100 |
commit | 511f65214fcc95011525e2f23e4d1be7cd7b8731 (patch) | |
tree | b9ab281613cc08c3a41767a5e342fadc85821178 /drivers/vulkan/SCsub | |
parent | 324082471de5e923fe8d03e43085ea52e1f117e4 (diff) |
SCons: Streamline Vulkan buildsystem + fixups
- Renamed option to `builtin_vulkan`, since that's the name of the
library and if we were to add new components, we'd likely use that
same option.
- Merge `vulkan_loader/SCsub` in `vulkan/SCsub`.
- Accordingly, don't use built-in Vulkan headers when not building
against the built-in loader library.
- Drop Vulkan registry which we don't appear to need currently.
- Style and permission fixes.
Diffstat (limited to 'drivers/vulkan/SCsub')
-rw-r--r-- | drivers/vulkan/SCsub | 57 |
1 files changed, 55 insertions, 2 deletions
diff --git a/drivers/vulkan/SCsub b/drivers/vulkan/SCsub index 2251181704..377f4c95b4 100644 --- a/drivers/vulkan/SCsub +++ b/drivers/vulkan/SCsub @@ -2,7 +2,60 @@ Import('env') -env.add_source_files(env.drivers_sources,"*.cpp") +env.add_source_files(env.drivers_sources, "*.cpp") +if env['builtin_vulkan']: + # Use bundled Vulkan headers + thirdparty_dir = "#thirdparty/vulkan" + env.Prepend(CPPPATH=[thirdparty_dir + "/include", thirdparty_dir + "/loader"]) -#SConscript("shaders/SCsub") + # Build Vulkan loader library + env_thirdparty = env.Clone() + env_thirdparty.disable_warnings() + + loader_sources = [ + "asm_offset.c", + "cJSON.c", + "debug_utils.c", + "dev_ext_trampoline.c", + "loader.c", + "murmurhash.c", + "phys_dev_ext.c", + "trampoline.c", + "unknown_ext_chain.c", + "wsi.c", + "extension_manual.c", + ] + + if env['platform'] == "windows": + loader_sources.append("dirent_on_windows.c") + env_thirdparty.AppendUnique(CPPDEFINES=[ + 'VK_USE_PLATFORM_WIN32_KHR', + 'VULKAN_NON_CMAKE_BUILD', + 'WIN32_LEAN_AND_MEAN', + 'API_NAME=\\"%s\\"' % 'Vulkan' + ]) + if not env.msvc: # Windows 7+, missing in mingw headers + env_thirdparty.AppendUnique(CPPDEFINES=[ + "CM_GETIDLIST_FILTER_CLASS=0x00000200", + "CM_GETIDLIST_FILTER_PRESENT=0x00000100" + ]) + elif env['platform'] == "osx": + env_thirdparty.AppendUnique(CPPDEFINES=[ + 'VK_USE_PLATFORM_MACOS_MVK', + 'VULKAN_NON_CMAKE_BUILD', + 'SYSCONFDIR=\\"%s\\"' % '/etc', + 'FALLBACK_DATA_DIRS=\\"%s\\"' % '/usr/local/share:/usr/share', + 'FALLBACK_CONFIG_DIRS=\\"%s\\"' % '/etc/xdg' + ]) + elif env['platform'] == "x11": + env_thirdparty.AppendUnique(CPPDEFINES=[ + 'VK_USE_PLATFORM_XLIB_KHR', + 'VULKAN_NON_CMAKE_BUILD', + 'SYSCONFDIR=\\"%s\\"' % '/etc', + 'FALLBACK_DATA_DIRS=\\"%s\\"' % '/usr/local/share:/usr/share', + 'FALLBACK_CONFIG_DIRS=\\"%s\\"' % '/etc/xdg' + ]) + + loader_sources = [thirdparty_dir + "/loader/" + file for file in loader_sources] + env_thirdparty.add_source_files(env.drivers_sources, loader_sources) |