[ 
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)

Reply via email to