Open dnakamura opened 6 years ago
Thoughts? @rwy0717 @mgaudet @charliegracie
I mean, the 'new method' example seems pretty compelling to me. The ordering dependence doesn't seem particularly convincing argument against, so... LGTM?
This looks good to me, it makes OMR's build system less complicated/"frameworky", by pushing more code out to the consumers.
@dnakamura is this something we still want to do or something that has been completed?
Yes I would still like to do this. However we probably need the openJ9 cmake stuff to go live so we can see if it actually makes sense / works the way I think it should
Problem:
Currently the way we handle the glue (having the consumer define an interface library and passing us its name), has some issues
No way to declare PUBLIC/PRIVATE on include directories, or linked libraries. (We assume include dirs are public and linked libraries are private).
We have to do some ugliness on the omr side to prevent the glue source propagating as interface sources, but still publicly propagate the include directories.
Can only inject glue into a fixed set of libraries (although im not sure why you would want to inject glue elsewhere)
Proposal:
Eliminate
OMR_X_GLUE_TARGET
variables, have consumers manually inject glue code into libraries.Example:
(only the gc glue is shown for brevity):
Current method :
New method:
Pros:
PUBLIC
/PRIVATE
/INTERFACE
on elementsCons:
add_subdirectory(omr)
.