Should drop Support for Make, and just use CMake
- Dominant language
- C++
- Stars
- 32.1k
- Forks
- 6.9k
- Avg merge
- 32m
- Merged PRs (30d)
- 1
Description
Maintaining two build systems (Make and CMake) is getting to be difficult. Files, tests, configurations are added to one and not the other. The "build_platform" script must be maintained and the contents matched for CMake. Support for plugins and third-party code is difficult using Makefiles (variables with well-known names and hope for the best) whereas CMake has better tools for isolating and detecting packages. CMake is a more modern build system and I think it can support everything that Make can do and more.
A quick survey of existing FB open source projects (CacheLib, Folly, Wangle, Velox,) and others (GTEST, GFLAGS) show that they either do not support Make (and use CMake instead) or provide Makefiles that are wrappers around CMake.
The proposal here is to drop support for Makefiles and use only CMake instead. If there is any gap, the CMake code will be expanded to include the Make functionality. The Makefiles will instead become wrappers around CMake scripts (or deleted entirely).
Contributor guide
Assessment
This issue has not been assessed yet.