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