You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Benjamin Bannier (JIRA)" <ji...@apache.org> on 2018/06/21 21:19:00 UTC

[jira] [Comment Edited] (MESOS-8994) Ensure that the cmake build knows about all source files in the autotools build

    [ https://issues.apache.org/jira/browse/MESOS-8994?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16519785#comment-16519785 ] 

Benjamin Bannier edited comment on MESOS-8994 at 6/21/18 9:18 PM:
------------------------------------------------------------------

I briefly looked into this.

We cannot directly adopt the LLVM functions since they rely on special alternatives to e.g., {{add_executable}} and {{add_library}} which trigger detection of unused files. This passes on a list of used source files to the check which in turn also uses the directory layout to identify locations in the source tree which should be checked for unused files.

Our source tree layout currently does not match as nicely on components. We also conditionally include source files into libraries. This makes using a similar approach harder than it is for LLVM.


was (Author: bbannier):
I briefly looked into this.

We cannot directly adopt the LLVM functions since they rely on special alternatives to e.g., {{add_executable}} and {{add_library}} which call trigger detection of unused files. This passes on a list of used source files to the check which in turn also uses the directory layout to identify locations in the source tree which should be checked for unused files.

Our source tree layout currently does not match as nicely on components. We also conditionally include source files into libraries. This makes using a similar approach harder than it is for LLVM.

> Ensure that the cmake build knows about all source files in the autotools build
> -------------------------------------------------------------------------------
>
>                 Key: MESOS-8994
>                 URL: https://issues.apache.org/jira/browse/MESOS-8994
>             Project: Mesos
>          Issue Type: Improvement
>          Components: build, cmake
>            Reporter: Benjamin Bannier
>            Priority: Critical
>
> We currently maintain two build systems in parallel with autotools still being used by the larger part of contributors and cmake catching up in terms of coverage and features.
>  
> This has lead to situations where certain features were added only to the autotools build while updating the cmake build was either implicitly (without creating a ticket) deferred or forgotten. Identifying such missing coverage makes it harder to gauge where the two build systems stand in terms of feature parity and how much work is left before autotools can be retired.
> We should update the cmake build setup to explicitly check whether any sources files (headers and sources) unknown to it exist in the tree. Until full parity is reached we would likely need to maintain a whitelist of files known to be missing in the cmake build (this whitelist would at the same time serve as a {{TODO}} list). The LLVM project uses the following function to perform closely related work, https://github.com/llvm-mirror/llvm/blob/master/cmake/modules/LLVMProcessSources.cmake#L70-L111.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)