[
https://issues.apache.org/jira/browse/MESOS-3396?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alex Clemmer updated MESOS-3396:
--------------------------------
Description:
The official goal is to be able to put libprocess and stout into a call to
`ExternalProject_Add`, rather than having them built in-tree as they are now.
Since Libprocess and Stout depend on a few variables being defined by the
project that is building against it (such as, e.g., the `LINUX` variable) this
will involve, at minimum, figuring out which `-D` flags have to be passed
through the `ExternalProject_Add` call.
NOTE: This goal may not be feasible. We will need to trigger a rebuild of many
source files if we change a header in Libprocess or Stout, and a relink if we
change a .cpp file in the source files of Libprocess. This might require a fair
bit of effort.
Another complication is that `StoutConfigure` manages the dependencies of
Stout, and Stout is built through `ExternalProject_Add`, we will need to make
sure this is managed in roughly the same way it is now.
was:
This may or may not be elegant or helpful, as it means copying a lot of
variables out and around. A good example is that the `LINUX` flag is defined in
MesosConfigure right now, but it's used throughout the project. So, if you
wanted to separate that out you'd have to define it independently for both
codebases.
The same goes for the third-party directory structure.
> Fully separate out libprocess and Stout CMake build system from the Mesos
> build system
> --------------------------------------------------------------------------------------
>
> Key: MESOS-3396
> URL: https://issues.apache.org/jira/browse/MESOS-3396
> Project: Mesos
> Issue Type: Task
> Components: cmake
> Reporter: Alex Clemmer
> Assignee: Alex Clemmer
> Labels: cmake, mesosphere, microsoft, windows-mvp
>
> The official goal is to be able to put libprocess and stout into a call to
> `ExternalProject_Add`, rather than having them built in-tree as they are now.
> Since Libprocess and Stout depend on a few variables being defined by the
> project that is building against it (such as, e.g., the `LINUX` variable)
> this will involve, at minimum, figuring out which `-D` flags have to be
> passed through the `ExternalProject_Add` call.
> NOTE: This goal may not be feasible. We will need to trigger a rebuild of
> many source files if we change a header in Libprocess or Stout, and a relink
> if we change a .cpp file in the source files of Libprocess. This might
> require a fair bit of effort.
> Another complication is that `StoutConfigure` manages the dependencies of
> Stout, and Stout is built through `ExternalProject_Add`, we will need to make
> sure this is managed in roughly the same way it is now.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)