Add additional debug options to CMake
Describe your changes here:
All these boxes must be checked by the reviewers before merging the pull request:
As a reviewer please read through all the code lines and make sure that the code is fully understood, bug free, well-documented and well-structured.
General
-
[ ] The reviewer executed the new code features at least once and checked the results manually
-
[ ] The code follows the t8code coding guidelines
-
[ ] New source/header files are properly added to the Makefiles
-
[ ] The code is well documented
-
[ ] All function declarations, structs/classes and their members have a proper doxygen documentation
-
[ ] All new algorithms and data structures are sufficiently optimal in terms of memory and runtime (If this should be merged, but there is still potential for optimization, create a new issue)
Tests
- [ ] The code is covered in an existing or new test case using Google Test
Github action
-
[ ] The code compiles without warning in debugging and release mode, with and without MPI (this should be executed automatically in a github action)
-
[ ] All tests pass (in various configurations, this should be executed automatically in a github action)
If the Pull request introduces code that is not covered by the github action (for example coupling with a new library):
- [ ] Should this use case be added to the github action?
- [ ] If not, does the specific use case compile and all tests pass (check manually)
Scripts and Wiki
- [ ] If a new directory with source-files is added, it must be covered by the
script/find_all_source_files.scpto check the indentation of these files. - [ ] If this PR introduces a new feature, it must be covered in an example/tutorial and a Wiki article.
Licence
- [ ] The author added a BSD statement to
doc/(or already has one)
Hi! Setting manually CMAKE_SOMETHING variables is not a great idea IMO (I am at fault too here btw). I would encorage you to use target_compile_option instead. More info here: https://stackoverflow.com/questions/59107988/correct-way-to-handle-compiler-flags-when-using-cmake
Those commits remove as well the hard-coded requirement of static builds in debug mode requested by @jmark. Building t8code as a shared library in debug mode can be achieved by switching on the already existing option T8CODE_BUILD_AS_SHARED_LIBRARY.