Closed cmauney closed 1 year ago
@jonahm-LANL @dholladay00 @jhp-lanl
Created this on my personal github account by mistake, just verifying it was me
I think the biggest advantage here is actually from an install perspective---ports-of-call
installations no longer carry around PORTABILITY_STRATEGY
in their cmake so you only need one for several different builds.
This seems like an OK philosophy to follow. Honestly, short of having any ideas of how this will work out in Fortran eventually (if at all), I don't see any reason to suggest otherwise. Can we make sure that we update a description somewhere (README?) to clarify how this would be used in downstream libraries or codes?
That sounds good. Thanks for the double check, @chadmeyer . @mauneyc-LANL can you update the docs/README? After that let's merge this in.
This seems like an OK philosophy to follow. Honestly, short of having any ideas of how this will work out in Fortran eventually (if at all), I don't see any reason to suggest otherwise. Can we make sure that we update a description somewhere (README?) to clarify how this would be used in downstream libraries or codes?
I've updated README.md
with a short section, let me know if it looks okay
That looks good. Let's also add the necessary tweaks here: https://github.com/lanl/ports-of-call/blob/main/doc/sphinx/src/building.rst
Is this waiting on anything @Yurlungur @mauneyc-LANL ?
Is this waiting on anything @Yurlungur @mauneyc-LANL ?
Give me a minute to update docs
Is this waiting on anything @Yurlungur @mauneyc-LANL ?
Give me a minute to update docs
I've updated to docs, please let me know if this is acceptable @dholladay00 @jonahm-LANL
Removed
PORTABILITY_STRATEGY_*
target properties & cache vars.PR Summary
The compiler defines
PORTABILITY_STRATEGY_*
only find expression after the compiler preprocessor has parsed the source. Therefore, these defines are best left to the host code. This has some useful advantages:ports-of-call
- the build system (modulo any future testing infrastructure) just needs to install the headers and provide the include paths downstream.PORTABILITY_STRATEGY
is used by the host code, only one install ofports-of-call
is needed.I may be out over my skis on this, so if it seems as tho I've misread something let me know.
Changes:
CMakeLists.txt
.c++
standard from cmake cache to target property, and changed toc++14
ports-of-callConfig.cmake.in
tocmake/ports-of-callConfig.cmake
; this is more inline with standard practice.export(PACKAGE ...)
; this is rarely used (for our main codes, or in the wild) and could cause some issues with cmake's hairbrained packaging schemeCMAKE_BUILD_TYPE
- we don't build anything.PR Checklist