-
Notifications
You must be signed in to change notification settings - Fork 49
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
gmtb/develop (--> dtc/develop): static build and out-of-source-build capabilities #136
Conversation
…ror from CCPP physics calls
…ccpp_static_build
…aster (out-of-source build capabilities)
Note: because the two PRs for ccpp-physics, NCAR/ccpp-physics#350 and NCAR/ccpp-physics#343, still need to be tested with ufs-weather-model, this PR cannot be merged until the testing has been completed. |
Thanks @climbfuji for making modifications to work with the static build. I started to look at this last week and was a little lost, so thanks for doing this. I tested this on my machine and it works as advertised once a small fix for ccpp_prebuild_config.py was included. As per the instructions, I'm waiting to merge this until NCAR/ccpp-physics#350 is tested in ufs-weather-model, which is currently ongoing on Hera. If tests pass, I'll merge this PR and create the dtc/develop branch from it. |
@climbfuji When I started looking at the static build last week, I played around with calling ccpp_prebuild.py from cmake. With the lack of a more complicated build system as in the UFS, would it make sense for us to cut out the manual step of calling ccpp_prebuild by making cmake do it? |
ufs-weather-model RT passes on hera/intel with rt.conf for NCAR/ccpp-physics#350 so, I'm going to merge this and create dtc/develop from it. |
Hi @grantfirl, the problem I had was that cmake wouldn't allow me to execute a script before anything else happens in cmake - it would allow me to run it pre_build (but after cmake). I believe Dusan found a solution for this for UFS - can you touch base with him? Thanks! |
gmtb/develop (--> dtc/develop): static build and out-of-source-build capabilities
This PR targets gmtb/develop for code review purposes. Once merged, dtc/develop should be created from gtmtb/develop, made a protected branch and gmtb/develop should be frozen.
This PR:
This PR does not update the documentation wrt building SCM with the static CCPP option.
No changes are required for buidling SCM with dynamic CCPP, i.e. the following still works:
To build SCM in static mode and use the
multi_run_gmtb_scm.py
script, the following commands are required (compiling all available suites into the executable):With both
-DCMAKE_BUILD_TYPE=Debug
and-DCMAKE_BUILD_TYPE=Release
, the results are identical between the dynamic and static CCPP builds: