zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ZOOKEEPER-2756) Add CMake build system for better cross-platform support
Date Tue, 16 May 2017 18:42:04 GMT

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

ASF GitHub Bot commented on ZOOKEEPER-2756:
-------------------------------------------

Github user andschwa commented on the issue:

    https://github.com/apache/zookeeper/pull/255
  
    @hanm I was proposing we replace the existing sln/vcproj/vcxproj entirely, as they can
be built for any version of VS using CMake. I could record their deletion in this PR even.
We _could_ keep them and retain compatibility with them, but it'd be ugly, as they rely on
the manually generated portion of `winconfig.h` which I replaced with the auto-generated `config.h`.
What do you think?
    
    Also, I'm not super comfortable including the changes in 065056b0b240b7bdff2eebe41db86a9a3ea6ecfc
, your thoughts? 


> 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
>            Assignee: Andrew Schwartzmeyer
>              Labels: build, windows
>         Attachments: ZOOKEEPER-2756.patch
>
>
> 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)

Mime
View raw message