2016-10-17 14:50:25 +08:00
|
|
|
#!/usr/bin/python
|
|
|
|
|
2020-03-30 14:28:32 +08:00
|
|
|
Import("env")
|
2014-02-10 09:10:30 +08:00
|
|
|
|
2016-10-31 01:57:40 +08:00
|
|
|
env.tests_sources = []
|
2014-02-10 09:10:30 +08:00
|
|
|
|
2020-07-26 21:53:01 +08:00
|
|
|
env_tests = env.Clone()
|
|
|
|
|
2020-07-27 18:43:20 +08:00
|
|
|
# Include GDNative headers.
|
2020-09-11 19:51:38 +08:00
|
|
|
if env["module_gdnative_enabled"]:
|
|
|
|
env_tests.Append(CPPPATH=["#modules/gdnative/include"])
|
2020-07-27 18:43:20 +08:00
|
|
|
|
2020-07-27 00:18:25 +08:00
|
|
|
# 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", "")])
|
|
|
|
|
2020-12-30 21:48:23 +08:00
|
|
|
# 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"])
|
|
|
|
|
2021-11-07 05:05:33 +08:00
|
|
|
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")
|
2020-07-26 21:53:01 +08:00
|
|
|
env_tests.add_source_files(env.tests_sources, "*.cpp")
|
|
|
|
|
|
|
|
lib = env_tests.add_library("tests", env.tests_sources)
|
2014-02-10 09:10:30 +08:00
|
|
|
env.Prepend(LIBS=[lib])
|