I think Cmake is worth to add as a additional option beside of autotools.
It will simplify developers and users life in many cases.

I see no problem to have CMake beside of autotools as long as we integrate
it properly(e.g. read Version from configure.ac, etc.).
=> both need to be integrated into tests (.travis.yml and Jenkins)
we will see if there are some contribution on CMake and how popular it is

We already had the CMake discussion a while ago:
https://issues.apache.org/jira/browse/THRIFT-797
Today more and more projects switched to CMake, it's just easier to handle
for cross platform projects.

-roger

Quoting Henrique Mendonça <henri...@apache.org>:

Hi Jake,

I don't think it'd be even possible to switch. But for building the
compiler on windows this is way easier than the current approach. I think
it also does very well substitute the current cross compilation script.

If people want to really port the whole process to this platform, it's a
lot of work but I think is a valid try/experiment and we shouldn't
discourage it. In the worst case we could leave it on the contrib folder as
it can definitely help others building the system cross platforms. What do
you guys think?

Best,
Henrique

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

Jake Farrell commented on THRIFT-2571:
--------------------------------------

i'm a -1 to switching to cmake, if this is to be considered it should be
brought up as a discussion thread on the dev@ list

Simplify cross compilation using CMake
--------------------------------------

                Key: THRIFT-2571
                URL: https://issues.apache.org/jira/browse/THRIFT-2571
            Project: Thrift
         Issue Type: Improvement
         Components: Compiler (General)
   Affects Versions: 1.0
           Reporter: Pascal Bach
           Assignee: Henrique Mendonça
           Priority: Minor

Using CMake would simplify cross compilation.
The for example the same build script can be used to build:
- Native for Linux using GCC
- Native for Windows using Visual Studio
- Cross compile for ARM on Linux
- Cross compile for Windows form Linux using mingw32
It also makes it easy to generate project files for Eclipse or Visual
Studio.
h2. Some examples:
{code:title=Create an eclipse project|borderStyle=solid}
mkdir build_ec && cd build_ec
cmake -G "Eclipse CDT4 - Unix Makefiles" ../compiler/cpp
make
{code}
Now open the folder build_ec using eclipse.
{code:title=Create a Visual Studio project (Windows
only)|borderStyle=solid}
mkdir build_vs && cd build_vs
cmake -G "Visual Studio 12" ../compiler/cpp
{code}
Now open the folder build_vs using Visual Studio.
{code:title=Cross compile using mingw32|borderStyle=solid}
mkdir build_mingw32 && cd build_mingw32
cmake -DCMAKE_TOOLCHAIN_FILE=../contrib/mingw32-toolchain.cmake
../compiler/cpp
make
{code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


Reply via email to