t8code icon indicating copy to clipboard operation
t8code copied to clipboard

Add additional debug options to CMake

Open sandro-elsweijer opened this issue 1 year ago • 2 comments

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.scp to 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)

sandro-elsweijer avatar Mar 25 '24 12:03 sandro-elsweijer

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

dutkalex avatar May 14 '24 12:05 dutkalex

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.

maelk3 avatar May 17 '24 13:05 maelk3