2021-01-03 02:52:53 +01:00
|
|
|
#! /usr/bin/env python
|
|
|
|
# encoding: utf-8
|
|
|
|
# mittorn, 2018
|
|
|
|
|
|
|
|
from waflib import Logs
|
|
|
|
import os
|
|
|
|
|
|
|
|
top = '.'
|
|
|
|
|
|
|
|
def options(opt):
|
|
|
|
grp = opt.add_option_group('ref_vk options')
|
2021-05-22 23:01:43 +02:00
|
|
|
grp.add_option('', '--aftermath', action='store', dest = 'NSIGHT_AFTERMATH_SDK', default = None,
|
|
|
|
help = 'Path to Nvidia Nsight Aftermath SDK (optional)')
|
2021-01-03 02:52:53 +01:00
|
|
|
|
|
|
|
def configure(conf):
|
|
|
|
# check for dedicated server build
|
|
|
|
if conf.options.DEDICATED:
|
|
|
|
return
|
|
|
|
|
2021-01-18 23:24:05 +01:00
|
|
|
conf.load('glslc')
|
2021-01-03 02:52:53 +01:00
|
|
|
conf.define('REF_DLL', 1)
|
|
|
|
|
2021-02-22 08:28:33 +01:00
|
|
|
if conf.env.DEST_OS == 'win32':
|
|
|
|
conf.start_msg('Vulkan SDK available?')
|
|
|
|
if not 'VULKAN_SDK' in conf.environ:
|
|
|
|
Logs.warn('VULKAN_SDK environment variable is not available, ref_vk will not be built')
|
|
|
|
conf.end_msg('no')
|
|
|
|
conf.env.VULKAN_SDK = conf.environ['VULKAN_SDK']
|
|
|
|
conf.end_msg('found at ' + conf.env.VULKAN_SDK)
|
|
|
|
|
2021-05-22 23:01:43 +02:00
|
|
|
if conf.options.NSIGHT_AFTERMATH_SDK:
|
|
|
|
conf.start_msg('Nvidia Nsight Aftermath SDK')
|
|
|
|
conf.env.HAVE_AFTERMATH = 1
|
|
|
|
path = conf.options.NSIGHT_AFTERMATH_SDK
|
|
|
|
conf.env.INCLUDES_AFTERMATH = [os.path.abspath(os.path.join(path, 'include'))]
|
|
|
|
libdir = 'lib'
|
|
|
|
lib = 'GFSDK_Aftermath_Lib'
|
|
|
|
if conf.env.COMPILER_CC == 'msvc':
|
|
|
|
if conf.env.DEST_CPU == 'x86_64':
|
|
|
|
libdir = 'lib/x64'
|
|
|
|
lib += '.x64'
|
|
|
|
else:
|
|
|
|
libdir = 'lib/' + conf.env.DEST_CPU
|
|
|
|
lib += conf.env.DEST_CPU
|
|
|
|
libdir = os.path.abspath(os.path.join(path, libdir))
|
|
|
|
conf.env.LIBPATH_AFTERMATH = [libdir]
|
|
|
|
conf.env.LIB_AFTERMATH = [lib]
|
|
|
|
conf.end_msg('SDK: {0}, includes: {1}, libpath: {2}, lib: {3}'.format(path, conf.env.INCLUDES_AFTERMATH, conf.env.LIBPATH_AFTERMATH, conf.env.LIB_AFTERMATH))
|
|
|
|
|
|
|
|
conf.env.GLSLCFLAGS += ['-g']
|
|
|
|
|
2021-01-03 02:52:53 +01:00
|
|
|
def build(bld):
|
|
|
|
libs = [ 'public', 'M' ]
|
2021-05-22 23:01:43 +02:00
|
|
|
defines = []
|
|
|
|
libpath = []
|
2021-01-03 02:52:53 +01:00
|
|
|
|
|
|
|
source = bld.path.ant_glob(['*.c'])
|
2021-03-02 08:34:20 +01:00
|
|
|
glsl_source = bld.path.ant_glob(['shaders/*.vert', 'shaders/*.frag', 'shaders/*.comp'])
|
2021-01-03 02:52:53 +01:00
|
|
|
|
|
|
|
includes = ['.',
|
|
|
|
'../engine',
|
|
|
|
'../engine/common',
|
|
|
|
'../engine/server',
|
|
|
|
'../engine/client',
|
|
|
|
'../public',
|
|
|
|
'../common',
|
|
|
|
'../pm_shared' ]
|
|
|
|
|
2021-02-22 08:28:33 +01:00
|
|
|
if bld.env.DEST_OS == 'win32':
|
|
|
|
includes.append(bld.env.VULKAN_SDK + '\\Include')
|
|
|
|
|
2021-05-22 23:01:43 +02:00
|
|
|
if bld.env.HAVE_AFTERMATH:
|
|
|
|
defines.append('USE_AFTERMATH')
|
|
|
|
libs.append('AFTERMATH')
|
|
|
|
# includes.append(bld.env.AFTERMATH_INCLUDE)
|
|
|
|
# libs.append(bld.env.AFTERMATH_LIB)
|
|
|
|
# libpath.append(bld.env.AFTERMATH_LIBDIR)
|
|
|
|
|
2021-01-03 02:52:53 +01:00
|
|
|
bld.shlib(
|
|
|
|
source = source,
|
|
|
|
target = 'ref_vk',
|
|
|
|
features = 'c',
|
|
|
|
includes = includes,
|
2021-05-22 23:01:43 +02:00
|
|
|
use = libs,
|
|
|
|
defines = defines,
|
|
|
|
libpath = libpath,
|
2021-01-03 02:52:53 +01:00
|
|
|
install_path = bld.env.LIBDIR,
|
|
|
|
subsystem = bld.env.MSVC_SUBSYSTEM
|
|
|
|
)
|
|
|
|
|
2021-01-18 23:24:05 +01:00
|
|
|
bld(
|
|
|
|
source = glsl_source,
|
|
|
|
features = 'glsl',
|
|
|
|
# includes = 'shaders/', # write your includes here
|
|
|
|
# defines = 'TEST', # write your C preprocessor defines here
|
2021-03-02 08:34:20 +01:00
|
|
|
install_path = bld.env.LIBDIR + '/valve' # TEMPORARY!!!!
|
2021-01-18 23:24:05 +01:00
|
|
|
)
|
|
|
|
|