import os import platform def joinPath(root, subdir): return os.path.normpath(os.path.join(root, subdir)) env=DefaultEnvironment().Clone() LIB_DIR=os.environ['LIB_DIR']; BIN_DIR=os.environ['BIN_DIR']; CCFLAGS=os.environ['CCFLAGS']; TK_3RD_ROOT=os.environ['TK_3RD_ROOT']; OS_NAME=platform.system() env.Library(os.path.join(LIB_DIR, 'nanovg'), Glob('base/*.c')) env['LINKFLAGS'] = env['OS_SUBSYSTEM_CONSOLE'] + env['LINKFLAGS']; NANOVG_BACKEND=os.environ['NANOVG_BACKEND']; if NANOVG_BACKEND == 'AGG': env.Library(os.path.join(LIB_DIR, 'nanovg-agg'), Glob('agg/*.cpp')) # env['LIBS'] = ['nanovg-agg', 'agg', 'nanovg'] + env['LIBS'] # env.Program(os.path.join(BIN_DIR, 'agg_stroke'), Glob('demos/agg_stroke.c')); # env.Program(os.path.join(BIN_DIR, 'agg_fill'), Glob('demos/agg_fill.c')); # env.Program(os.path.join(BIN_DIR, 'agg_draw_image'), Glob('demos/agg_draw_image.c')); elif NANOVG_BACKEND == 'AGGE': env.Library(os.path.join(LIB_DIR, 'nanovg-agge'), Glob('agge/*.cpp')) # env['LIBS'] = ['nanovg-agge', 'agge', 'nanovg'] + env['LIBS'] # env.Program(os.path.join(BIN_DIR, 'agge_stroke'), Glob('demos/agge_stroke.c')); # env.Program(os.path.join(BIN_DIR, 'agge_fill'), Glob('demos/agge_fill.c')); # env.Program(os.path.join(BIN_DIR, 'agge_draw_image'), Glob('demos/agge_draw_image.c')); elif NANOVG_BACKEND == 'BGFX': CPPPATH = [ joinPath(TK_3RD_ROOT, 'nanovg/base'), joinPath(TK_3RD_ROOT, 'bgfx/bx/include'), joinPath(TK_3RD_ROOT, 'bgfx/bgfx/include'), joinPath(TK_3RD_ROOT, 'SDL/include')] if OS_NAME == 'Darwin': CCFLAGS = CCFLAGS + ' -std=c++14 ' elif OS_NAME == 'Windows': CCFLAGS = CCFLAGS + ' /std:c++14 '; CPPPATH = CPPPATH + [joinPath(TK_3RD_ROOT, 'bgfx/bx/include/compat/msvc')]; env.Library(os.path.join(LIB_DIR, 'nanovg-bgfx'), Glob('bgfx/*.cpp'), CPPPATH = CPPPATH, CCFLAGS = CCFLAGS) # env['LIBS'] = ['nanovg-bgfx', 'bgfx', 'nanovg'] + env['LIBS'] # env.Program(os.path.join(BIN_DIR, 'bgfx_sdl_fill'), Glob('demos/bgfx_sdl_fill.cpp')); # env.Program(os.path.join(BIN_DIR, 'bgfx_sdl_stroke'), Glob('demos/bgfx_sdl_stroke.cpp')); # env.Program(os.path.join(BIN_DIR, 'bgfx_sdl_draw_image'), Glob('demos/bgfx_sdl_draw_image.cpp')); # env.Program(os.path.join(BIN_DIR, 'bgfx_sdl_draw_text'), Glob('demos/bgfx_sdl_draw_text.cpp'));