New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Change behavior of 'make debug' and 'make release' #7693
Comments
You mean what happens in |
The main usage for the autopilot is for deal.II tutorial steps. As there is no parallel compilation needed (or possible), it is not a problem there, I think. So, maybe "don't use autopilot for big projects" is the simplest solution to this? |
@tjhei: Yes, that's likely true. But I do think that we advertise the use of the autopilot in the sample "large project" cmake files. |
Why not extra targets like |
It might be possible to get around this with ninja and newer versions of CMake via the new (in 3.12)
see https://cmake.org/cmake/help/latest/manual/cmake.1.html I don't think it is possible to get this to work in |
Well, the one responsible for this behavior in That said, I don't see anything speaking against changing the behavior. The
And here it doesn't really matter where the project is compiled. |
...unless you are using |
@masterleinad Huch? The depend line should ensure that the executable is always built prior to
|
For a long time the "debug" and "release" targets of our convenience macro DEAL_II_INVOKE_AUTOPILOT automatically rebuild the project when switching to the debug or release flavor. Closes dealii#7693
No, I wanted to say that you usually don't invoke |
and |
In geodynamics/aspect#2800 I changed debug and release to not build but print a big comment about having to build. Maybe worth including here? |
@tjhei I added your these messages to the pull request. |
For a long time the "debug" and "release" targets of our convenience macro DEAL_II_INVOKE_AUTOPILOT automatically rebuild the project when switching to the debug or release flavor. Closes dealii#7693
Nice, thanks @tamiko ! |
For a long time the "debug" and "release" targets of our convenience macro DEAL_II_INVOKE_AUTOPILOT automatically rebuild the project when switching to the debug or release flavor. Closes dealii#7693
geodynamics/aspect#2800 is about an issue that has bugged me for a very long time already in ASPECT: When you call
make debug
, it switches to debug mode and re-compiles everything. This is fine if you have a tutorial with just one source file, but if you have a project with 263 source files this is annoying because cmake compiles everything with-j1
. So it's exceedingly slow.Might I suggest that we change the behavior of
make debug
andmake release
to just switch to the respective mode, delete the executable (to avoid anyone using it), and then asking the user to explicitly compile again?(I'm apparently not the only one who has their own workaround to this issue -- @tjhei has as well: https://community.geodynamics.org/t/makefile-multiple-processor-issue/413?u=bangerth )
The text was updated successfully, but these errors were encountered: