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

Liu Jiayu commented on THRIFT-4037:
-----------------------------------

fwiw, i have been moving CI to GitHub Actions and while doing this moving away 
from using autotools. I did setup a CMake job there.

> [CMake] Use a single build system for thrift to make development easier
> -----------------------------------------------------------------------
>
>                 Key: THRIFT-4037
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4037
>             Project: Thrift
>          Issue Type: Wish
>          Components: Build Process
>    Affects Versions: 0.10.0
>         Environment: All
>            Reporter: James E. King III
>            Assignee: James E. King III
>            Priority: Critical
>              Labels: cmake
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> h1. Background
> The thrift project currently carries two build systems.  The original build 
> system is based on autoconf and is used to build a complete deliverable 
> including extensive cross-language testing.
> The other build system was introduced a few years ago, with roots tracing 
> back to THRIFT-797.  CMake allows thrift to build natively on multiple 
> platforms - unix and windows.  Autoconf is no longer under active development 
> with the last release in 2012, and it does not allow for native windows 
> builds using native tools that are used by a majority of consumers.
> Maintaining two build systems for a project incurs a lot of overhead.  Every 
> change that touches the build system needs to be done twice, in two 
> completely different ways.  We need twice as many CI jobs to verify that all 
> of the builds are working, whereas with a single cmake build environment we 
> could likely use a single CI build job per platform that does everything 
> using the docker image on linux and appveyor on windows.
> h1. Proposal
> We should officially deprecate autoconf in favor of cmake, and continue (more 
> aggressively) the effort to make the cmake build environment as functional as 
> the autoconf build environment.  During this transition, folks will be 
> required to make changes to both build systems (which are proven out mostly 
> through the Travis CI build jobs; only CMake is used on AppVeyor).
> h1. Acceptance Criteria
> # All existing platforms, targets, and tests are converted to use cmake
> ## Including cross-compilation
> # All CI builds are converted to use cmake
> # autoconf build environment is removed



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to