-
Notifications
You must be signed in to change notification settings - Fork 64
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
Automate building external libraries #694
Conversation
04fd699
to
c3fb895
Compare
The to-do left here is to update the version of cfe we test against to incorporate NOAA-OWP/cfe#101 and see it pass the tests, right? |
#664 already has that CFE update in progress |
That is correct. |
#664 has been merged. |
d265dea
to
fe8836c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Anyone else want to have a look at this before it gets merged?
Let's mention this on the stand-up tomorrow, and merge if no one wants to hold it for their own review. |
@PhilMiller Is there anything else needed for this? Otherwise, I think we're good to merge now. |
- adds options: + NGEN_WITH_EXTERN_CXX_MODELS + NGEN_WITH_EXTERN_C_MODELS + NGEN_WITH_EXTERN_FORTRAN_MODELS - modifies ngen_add_test to allow `DEPENDS` arguments, which are dependent targets for that test. This differs from `REQUIRES` and `LIBRARIES` in that `DEPENDS` are simply dependent targets, and otherwise have no relation/linkage to the target. - adds cmake/ExternalSubdirectory.cmake which provides the `add_external_subdirectory` function. This is a simple convenience function wrapping `add_subdirectory`.
…ntly; add netcdf find for noah-owp-modular
…length-none option
…s default visbility instead of hidden
Co-authored-by: Phil Miller <[email protected]>
Co-authored-by: Phil Miller <[email protected]>
5e2cf79
to
0c378c0
Compare
This PR provides automation around building external libraries based on options selected.
Additions
NGEN_WITH_EXTERN_SLOTH
NGEN_WITH_EXTERN_TOPMODEL
(Dependent onNGEN_WITH_BMI_C
)NGEN_WITH_EXTERN_CFE
(Dependent onNGEN_WITH_BMI_C
)NGEN_WITH_EXTERN_PET
(Dependent onNGEN_WITH_BMI_C
)NGEN_WITH_EXTERN_NOAH_OWP_MODULAR
(Dependent onNGEN_WITH_BMI_FORTRAN
)NGEN_WITH_EXTERN_ALL
: enables all models if the dependency is enabled, i.e. setsNGEN_WITH_EXTERN_CFE=ON
ifNGEN_WITH_BMI_C=ON
.add_external_subdirectory
function. This is a simple convenience function wrappingadd_subdirectory
that can auto-update git submodules (GIT_UPDATE
), and ensures a given target is imported (IMPORTS
).NGEN_WITH_BMI_C
meanstestbmicmodel
will be built.ngen-build
action.Changes
ngen_add_test
to allowDEPENDS
arguments, which are dependent targets for that test. This differs fromREQUIRES
andLIBRARIES
in thatDEPENDS
are simply dependent targets, and otherwise have no relation/linkage to the target.Removals
-DPACKAGE_TESTS
since this conflicts with SLoTH when auto-building.TODO
ngen.dockerfile
.Checklist
Target Environment support