There are many changes in this branch, so I expect this merge to be a work in progress for now. Here is an overview of the changes I've made:
- I've removed the heat conduction source files from the examples; I was receiving errors about classes being declared multiple times. Plus, linking to the MOOSE modules through the module loader will be easier to maintain in my opinion.
- I have generated a top-level Makefile which does not change based on the example problem being executed.
giraffe.mkfile is generated at the top level from the configure process. The default example compiled is
giraffe/examples/integration_examplebut can be changed by pointing the
GIRAFFE_EXAMPLEvariable to the desired location.
giraffe.mkfile produced is independent of the
METHODvariable. This allows a user to specify which version of Giraffe should be compiled at compile time.
- I've modified the CI to configure and build from the Giraffe root.
- I've generated more recent
GiraffeTestAppclasses which use a more recent version of the testing harness and object registration, along with an updated
main.Cto account for passing through the
I realize that configuring and building on the top-level might be moving in the opposite direction which you were planning (based on #3), but I think we may be able to make both behaviors work. For example, instead of having multiple executables is it possible to create a shared library in each example directory and link to that library at run-time? I think that keeping as close to the standard MOOSE-app build system as possible will help in maintaining Giraffe.
- Update README to reflect changes in configure/build process
- Add Debug regression test to CI