[
https://issues.apache.org/jira/browse/MESOS-3139?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14679265#comment-14679265
]
haosdent commented on MESOS-3139:
---------------------------------
Hi, [~hausdorff] I submit draft patches:
[1/3]Remove thread_tests.cpp in stout. https://reviews.apache.org/r/37272
[2/3]Add CMake macro VsBuildCommand in libprocess.
https://reviews.apache.org/r/37273/
[3/3]Generate make batch file to build project in windows.
https://reviews.apache.org/r/37275/
The build steps in windows is
{code}
mkdir build && cd build
cmake ..
make (Because we create a make.bat here so this command could execute)
{code}
For glog/gmock/protobuf, I patch them if necessary and build it with Visual
Studio.
For ry-http-parser/libev, I still not idea which way is better to build them in
windows. So I keep them empty.
But the build would failed finally, and we need continue to solve the os
special code in stout.
{code}
Y:\workspace\cpp\mesos\3rdparty\libprocess\3rdparty\stout\include\stout/svn.hpp(17):
fatal error C1083: Cannot open include file: 'apr_pools.h': No such file or di
rectory
[Y:\workspace\cpp\mesos\build\3rdparty\libprocess\3rdparty\stout\tests\stout_tests.vcxproj]
Y:\workspace\cpp\mesos\3rdparty\libprocess\3rdparty\stout\include\stout/dynamiclibrary.hpp(17):
fatal error C1083: Cannot open include file: 'dlfcn.h': No such fil e or
directory
[Y:\workspace\cpp\mesos\build\3rdparty\libprocess\3rdparty\stout\tests\stout_tests.vcxproj]
Y:\workspace\cpp\mesos\3rdparty\libprocess\3rdparty\stout\include\stout/os.hpp(27):
fatal error C1083: Cannot open include file: 'fts.h': No such file or
directory
[Y:\workspace\cpp\mesos\build\3rdparty\libprocess\3rdparty\stout\tests\stout_tests.vcxproj]
Y:\workspace\cpp\mesos\3rdparty\libprocess\3rdparty\stout\include\stout/windows/gzip.hpp(33):
error C2065: 'Z_DEFAULT_COMPRESSION': undeclared identifier [Y:\works
pace\cpp\mesos\build\3rdparty\libprocess\3rdparty\stout\tests\stout_tests.vcxproj]
Y:\workspace\cpp\mesos\3rdparty\libprocess\3rdparty\stout\include\stout/windows/gzip.hpp(35):
error C2065: 'UNIMPLEMENTED': undeclared identifier [Y:\workspace\cpp
\mesos\build\3rdparty\libprocess\3rdparty\stout\tests\stout_tests.vcxproj]
{code}
> Incorporate CMake into standard documentation
> ---------------------------------------------
>
> Key: MESOS-3139
> URL: https://issues.apache.org/jira/browse/MESOS-3139
> Project: Mesos
> Issue Type: Task
> Components: build
> Reporter: Alex Clemmer
> Assignee: Alex Clemmer
> Labels: build, cmake, mesosphere
>
> Right now it's anyone's guess how to build with CMake. If we want people to
> use it, we should put up documentation. The central challenge is that the
> CMake instructions will be slightly different for different platforms.
> For example, on Linux, the gist of the build is basically the same as
> autotools; you pull down the system dependencies (like APR, _etc_.), and then:
> ```
> ./bootstrap
> mkdir build-cmake && cd build-cmake
> cmake ..
> make
> ```
> But, on Windows, it will be somewhat more complicated. There is no bootstrap
> step, for example, because Windows doesn't have bash natively. And even when
> we put that in, you'll still have to build the glog stuff out-of-band because
> CMake has no way of booting up Visual Studio and calling "build."
> So practically, we need to figure out:
> * What our build story is for different platforms
> * Write specific instructions for our "core" target platforms.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)