This PR adds and integrates the new class AllegroFlare/DeploymentEnvironment, which essentially formalizes how to access relative paths within the system.
As it is for the time being, AllegroFlare has a lot of hard-coded paths that are tuned to my system, including #ifdefs my for macOS and Windows system paths. Before now, it's unclear what the proper technique should be.
Solution
For now, this PR:
Incorporates deployment_environment into Frameworks::Full
Updates Testing::WithAllegroRenderingFixture with to use a deployment_environment and set asset repository paths relative to it.
Fixes all failing tests so that AllegroFlare will pass a full make clean && make build on my macOS (intel), including moving several fixture files into tests/fixtures now that the path is there for a test environment.
Includes a lot of tweaks to DeploymentEnvironment, error messages, etc. that helped facilitate the updates.
Still to Do
There are still several locations (in tests and in source) where paths are hard-coded. These will need to be updated to use the preferred technique. To find them, git grep Users ("Users" being the first component in my hard-coded paths) from within the project folder.
For a good example of what the preferred technique of what an upgrate looks like, see tests/AllegroFlare/FrameAnimation/BookTest.cpp in this PR.
Problem
This PR adds and integrates the new class
AllegroFlare/DeploymentEnvironment
, which essentially formalizes how to access relative paths within the system.As it is for the time being, AllegroFlare has a lot of hard-coded paths that are tuned to my system, including
#ifdef
s my for macOS and Windows system paths. Before now, it's unclear what the proper technique should be.Solution
For now, this PR:
deployment_environment
intoFrameworks::Full
Testing::WithAllegroRenderingFixture
with to use adeployment_environment
and set asset repository paths relative to it.AllegroFlare
will pass a fullmake clean && make build
on my macOS (intel), including moving several fixture files intotests/fixtures
now that the path is there for a test environment.DeploymentEnvironment
, error messages, etc. that helped facilitate the updates.Still to Do
There are still several locations (in tests and in source) where paths are hard-coded. These will need to be updated to use the preferred technique. To find them,
git grep Users
("Users" being the first component in my hard-coded paths) from within the project folder.For a good example of what the preferred technique of what an upgrate looks like, see
tests/AllegroFlare/FrameAnimation/BookTest.cpp
in this PR.