summaryrefslogtreecommitdiff
path: root/tests/SCsub
blob: 31466fffc1d5326ed305ff2ce4b06b5e68b8c526 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/usr/bin/python

Import("env")

env.tests_sources = []

env_tests = env.Clone()

# Include GDNative headers.
if env["module_gdnative_enabled"]:
    env_tests.Append(CPPPATH=["#modules/gdnative/include"])

# We must disable the THREAD_LOCAL entirely in doctest to prevent crashes on debugging
# Since we link with /MT thread_local is always expired when the header is used
# So the debugger crashes the engine and it causes weird errors
# Explained in https://github.com/onqtam/doctest/issues/401
if env_tests["platform"] == "windows":
    env_tests.Append(CPPDEFINES=[("DOCTEST_THREAD_LOCAL", "")])

# Increase number of addressable sections in object files
# due to doctest's heavy use of templates and macros.
if env_tests.msvc:
    env_tests.Append(CCFLAGS=["/bigobj"])

env_tests.add_source_files(env.tests_sources, "core/*.cpp")
env_tests.add_source_files(env.tests_sources, "core/math/*.cpp")
env_tests.add_source_files(env.tests_sources, "core/templates/*.cpp")
env_tests.add_source_files(env.tests_sources, "scene/*.cpp")
env_tests.add_source_files(env.tests_sources, "servers/*.cpp")
env_tests.add_source_files(env.tests_sources, "*.cpp")

lib = env_tests.add_library("tests", env.tests_sources)
env.Prepend(LIBS=[lib])