Andrew Schwartzmeyer created ZOOKEEPER-2756:
-----------------------------------------------
Summary: Add CMake build system for better cross-platform support
Key: ZOOKEEPER-2756
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2756
Project: ZooKeeper
Issue Type: Improvement
Components: build, c client
Affects Versions: 3.5.2
Environment: Windows and Linux
Reporter: Andrew Schwartzmeyer
The C bindings primary build system is Autotools. This obviously does not work
for Windows, and so the original port to Windows simply added a Visual Studio
solution to the project, splitting the build system. As new versions of Visual
Studio have come along, new (probably auto-converted) solutions have come along
(see zookeeper.sln vs zookeeper-vs2013.sln). When Mesos started being ported to
Windows, a Visual Studio 2015 solution was needed, and the previous developer
created yet another solution, and setup Mesos' build to patch ZooKeeper and add
the 2015 solution. Now Visual Studio 2017 was released, and in the process of
moving Mesos ahead, I realized that I would either have to make *yet another*
converted solution for ZooKeeper. So instead I tackled the root problem, and
ported the Autotools build to CMake, which is a meta-build system which
generates files for the in-use platform (whether it be Linux or Solaris or
MacOS or Windows).
NOTE: I already have this patch, and will submit it. It has a couple TODOs, and
some other things in it that were necessary for Mesos that may need to be
pulled into separate patches.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)