Enable support for C++ modules tests

Modules-specific tests can be written under respective module folders.
Each module should have "tests" folder created with the tests implemented
as `doctest` headers, so they can be collected by the buildsystem and
included directly in `tests/test_main.cpp` to be compiled.
This commit is contained in:
Andrii Doroshenko (Xrayez)
2020-07-26 14:46:44 +03:00
parent 9856c8fda4
commit 60f53140b8
3 changed files with 24 additions and 2 deletions

View File

@ -1,10 +1,10 @@
#!/usr/bin/env python
Import("env")
import modules_builders
import os
Import("env")
env_modules = env.Clone()
Export("env_modules")
@ -12,6 +12,15 @@ Export("env_modules")
# Header with MODULE_*_ENABLED defines.
env.CommandNoCache("modules_enabled.gen.h", Value(env.module_list), modules_builders.generate_modules_enabled)
# Header to be included in `tests/test_main.cpp` to run module-specific tests.
if env["tests"]:
env.CommandNoCache(
"modules_tests.gen.h",
Value(env.module_list),
Action(modules_builders.generate_modules_tests, "Generating modules tests header."),
)
env.AlwaysBuild("modules_tests.gen.h")
vs_sources = []
# libmodule_<name>.a for each active module.
for name, path in env.module_list.items():