
Import('check_env')

env = check_env.Clone()

# Include paths
env.Append(CPPPATH = Split('''
                              #
                              #/galerautils/src
                           '''))

env.Prepend(LIBS=File('#/galerautils/src/libgalerautils.a'))
env.Prepend(LIBS=File('#/galerautils/src/libgalerautils++.a'))

gu_tests = env.Program(target = 'gu_tests',
                       source = Split('''
                            gu_tests.c
                            gu_mem_test.c
                            gu_vec_test.c
                            gu_bswap_test.c
                            gu_fnv_test.c
                            gu_mmh3_test.c
                            gu_spooky_test.c
                            gu_crc32c_test.c
                            gu_hash_test.c
                            gu_time_test.c
                            gu_fifo_test.c
                            gu_uuid_test.c
                            gu_dbug_test.c
                            gu_lock_step_test.c
                            gu_str_test.c
                            gu_utils_test.c
                         '''))

env.Test("gu_tests.passed", gu_tests)
env.Alias("test", "gu_tests.passed")

Clean(gu_tests, '#/gu_tests.log')

gu_testspp = env.Program(target = 'gu_tests++',
                         source = Split('''
                              gu_atomic_test.cpp
                              gu_vector_test.cpp
                              gu_string_test.cpp
                              gu_vlq_test.cpp
                              gu_digest_test.cpp
                              gu_mem_pool_test.cpp
                              gu_alloc_test.cpp
                              gu_rset_test.cpp
                              gu_string_utils_test.cpp
                              gu_uri_test.cpp
                              gu_config_test.cpp
                              gu_net_test.cpp
                              gu_datetime_test.cpp
                              gu_histogram_test.cpp
                              gu_stats_test.cpp
                              gu_thread_test.cpp
                              gu_tests++.cpp
                           '''))

env.Test("gu_tests++.passed", gu_testspp)
env.Alias("test", "gu_tests++.passed")

Clean(gu_testspp, '#/gu_tests++.log')

gu_to_test = env.Program(target = 'gu_to_test',
                         source = Split('''
                             gu_to_test.c
                         '''))

avalanche = env.Program(target = 'avalanche',
                         source = Split('''
                             avalanche.c
                         '''))

copy_vs_assignment = env.Program(target = 'copy_vs_assignment',
                         source = Split('''
                             copy_vs_assignment.cpp
                         '''))
