NGPBENCH_SRC = Split("""
ngpbench.cpp
""")

NGPBENCH_INCLUDES=Split("""
#
""")

Import('*')

WIN32_BASELIBS=Split("""
kernel32 user32 gdi32 comdlg32 winspool winmm shell32 comctl32 ole32
oleaut32 uuid rpcrt4 advapi32 wsock32 odbc32
opengl32 glu32
""")

NGPBenchEnv = BaseEnv.Copy()

NGPBenchEnv.Append(CPPPATH=NGPBENCH_INCLUDES)
NGPBenchEnv.Append(LIBPATH=['#/ngpcore'])
NGPBenchEnv.Append(LIBS=['ngpcore'])

if (NGPBenchEnv['PLATFORM'] == 'win32') or\
   (NGPBenchEnv['PLATFORM'] == 'cygwin'):
    if 'msvc' in NGPBenchEnv['TOOLS']:
        NGPBenchEnv.Append(LINKFLAGS='/SUBSYSTEM:CONSOLE')
    NGPBenchEnv.Append(LIBS=WIN32_BASELIBS)
elif CrossCompileMode:
    NGPBenchEnv.Append(LIBS=WIN32_BASELIBS)
    NGPBenchEnv.Append(LINKFLAGS='-s')
else:
    NGPBenchEnv.Append(LIBS=['GL'])
    NGPBenchEnv.Append(LIBS=['GLU'])
    if not ProfilingEnabled:
        NGPBenchEnv.Append(LINKFLAGS='-s')

if CC_WARN_FLAGS != '':
   NGPBenchEnv.Append(CXXFLAGS=CC_WARN_FLAGS)
if CC_OPT_FLAGS != '':
   NGPBenchEnv.Append(CXXFLAGS=CC_OPT_FLAGS)

ngpbench = NGPBenchEnv.Program(target='ngpbench',source=NGPBENCH_SRC)

Default(ngpbench)
Clean(ngpbench,['.sconsign'])

