Skip to content

Expanding

introduction

So you want to expand on JasonPP?

No problem, here's how it works.
First, clone the repo and open the solution. You only work in the project JasonPP.


Profiles

You only work in Debug.


Unit testing

If you've created your own new .cpp file, and wrote unit tests for it, you may have noticed that the unit tests will no longer compile.

This is because you have to add the generated ".obj" files to the linkers references.

  1. Right click the JasonPP_unit-test project
  2. Properties
  3. Linker
  4. Input
  5. Additional dependencies
  6. Add, based on existing entries, your new obj file, corresponding to your cpp file.
  7. Now it should compile

If some unit tests fail, make sure you have no preprocessor definitions set!!


Compiling JasonPP to a single .hpp and .cpp

You've passed your unit tests and want to compile now? Great! Navigate to JasonPP/INCLUDE and run setup.sh to install all dependencies for the generator.

Important

Remember to restart your shell after running setup.sh!

Now run generate.sh.

Important

Only run generate.sh from the JasonPP/INCLUDE dir!

Now JasonPP/INCLUDE/release/JasonPP.hpp and JasonPP/INCLUDE/release/JasonPP.cpp should be updated.

To make sure, go back to visual studio and select the profile single-header, recompile JasonPP_unit-test, and run the tests again.
By setting the profile to single-header, you are now running the unit tests on JasonPP.hpp and JasonPP.cpp rather than on the raw project.

Don't forget to change it back to Debug before continuing work on JasonPP.