Changes between Initial Version and Version 1 of RFC7


Ignore:
Timestamp:
Oct 1, 2018, 9:32:20 AM (6 years ago)
Author:
dbaston
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • RFC7

    v1 v1  
     1= GEOS RFC 7: Use CMake for build system =
     2
     3||RFC 6:  ||Use CMake for build system||
     4||Author: ||Daniel Baston        ||
     5||Contact:||dbaston@gmail.com    ||
     6||Status: || ||
     7
     8This document proposes to use CMake as the build system for GEOS and discontinue use of autotools and NMake.
     9
     10Since version 3.5, we have officially supported building GEOS with CMake: https://trac.osgeo.org/geos/wiki/BuildingOnUnixWithCMake
     11
     12GEOS is also required to build with autotools and NMake.
     13
     14Supporting three build systems:
     15
     16* Decreases ease of contribution, because any change must be tested against all three build systems. This results in more developer
     17  effort devoted to the build system rather than the library itself (see for example, commit history of this PR: https://github.com/libgeos/geos/pull/125)
     18* Increases the risk that multiple build systems in fact cause the library to be compiled with different behavior, or with different
     19  version information (for example, see https://trac.osgeo.org/geos/ticket/882)
     20* Increases the length of the commit-testing feedback cycle, since multiple build systems must be tested before giving a pull request a
     21  "green light" and insufficient workers are available to test all build systems in parallel.
     22
     23This RFC proposes that CMake be used as the exclusive build system because:
     24
     25* It is used by the majority of active committers
     26* It is the only cross-platform build system