[ 
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)

Reply via email to