| # |
| # Native file dialog |
| # |
| # Build tests |
| |
| target_arch=str(Platform()) |
| debug = int(ARGUMENTS.get( 'debug', 0 )) |
| |
| files = {'test_opendialog': ['test_opendialog.c'], |
| 'test_opendialogmultiple': ['test_opendialogmultiple.c'], |
| 'test_savedialog': ['test_savedialog.c']} |
| |
| test_env = Environment() |
| |
| |
| # Windows runtime library types |
| win_rtl = {'debug': '/MDd', |
| 'release': '/MD'} |
| |
| |
| def set_debug(env): |
| if target_arch == 'win32': |
| env.Append( CFLAGS=['/Z7', # obj contains full symbols |
| win_rtl['debug'] ] ) |
| else: |
| env.Append( CFLAGS=['-g'] ) |
| |
| |
| def set_release(env): |
| if target_arch == 'win32': |
| env.Append( CFLAGS=[win_rtl['release'], |
| '/O2', |
| ]) |
| else: |
| env.Append( CFLAGS=['-O3'] ) |
| |
| |
| def get_lib_name(base, is_debug): |
| if is_debug: |
| return base + '_d' |
| else: |
| return base |
| |
| |
| if debug: |
| set_debug(test_env) |
| else: |
| set_release(test_env) |
| |
| test_env.Append( CPPPATH=['../src/include'], # API header path only, no internals allowed |
| LIBPATH=['../src'], |
| LIBS=get_lib_name('nfd', debug) ) |
| |
| |
| # Cocoa OS X builds |
| if target_arch == 'darwin': |
| test_env.Append( FRAMEWORKS='AppKit' ) |
| test_env.CC='clang -fcolor-diagnostics' |
| |
| # Linux GTK+ 3 builds |
| elif target_arch == 'posix': |
| test_env.ParseConfig( 'pkg-config --cflags --libs gtk+-3.0' ) |
| |
| elif target_arch == 'win32': |
| test_env.Append( |
| LINKFLAGS=['/NODEFAULTLIB:LIBCMT']) |
| |
| for codebase in files: |
| output_name = get_lib_name(codebase, debug) |
| test_env.Program( output_name, files[codebase] ) |