SimVascular / SimVascular/svZeroDSolver

Default build type: Release or Debug?

Open
#185 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C++
Stars
22
Forks
44
PR merge metrics
No merged PRs in 30d

Description

Problem

If I'm not mistaken, the default build type is now Debug and used to be Release. I don't know if/when this actually changed. But we should probably make this easier for the user to see and/or change. For a user who does not know this, they could be accidentally using a debug build, which (from a rigorous study with N=1) could be close to 100x slower.

Solution
  • Include details in the documentation on how to switch between Release and Debug builds (and why)
  • Print a message in CMakeLists clarifying what the current build is
Additional context

I tested this on an M4 Mac, building from source. I would like to hear from others if the default build type is different for different ways of building. @mrp089 @ktbolt since you built on different systems (for the SimTK binaries maybe?), do you know if it is always debug?

Code of Conduct
  • I agree to follow this project's Code of Conduct and Contributing Guidelines

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the CMakeLists file and the existing build documentation to determine how the default build type is selected. Verify the behavior across the build paths mentioned in the issue before making changes. Done means the documentation explains how and why to switch between Release and Debug, and the CMake configuration clearly reports the current build type.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system, documentation
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.