Stage is a C++ helper library for creating temporary project environment to test how a library interacts in a "real" scenario.
It helps with an overview of operations:
- You give
Stagea path to abase(e.g.tests/testStage)
- A
baseis a project that will be used as a template - The
baseshould contain the files you want to use in all your stages - This creates a unique temporary directory as
tests/testStage/stages/xxxxxx
- You give
Stagea set of files from thebase(e.g.{tests/testStage/CMakeLists.txt, tests/testStage/cmake/Module.cmake}) - You give
Stagea set of source files with content (this will be your test) - You let
Stagebuild the project and you run some arbitrary commands inside the stage - The
Stageobject goes out of scope and the temporary directory is destroyed
TODO
TODO