godot/tests/SCsub

#!/usr/bin/env python
from misc.utility.scons_hints import *

Import("env")

env.tests_sources = []

env_tests = env.Clone()

# 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", "")])

if env["disable_exceptions"]:
    env_tests.Append(CPPDEFINES=["DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS"])

env_tests.add_source_files(env.tests_sources, "*.cpp")

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