[DISCUSSION] Ignite.C++ and CMake

classic Classic list List threaded Threaded
48 messages Options
123
Reply | Threaded
Open this post in threaded view
|

[DISCUSSION] Ignite.C++ and CMake

Ivan Daschinsky
Hello Igniters.

I’d like to discuss porting build process of Ignite.C++. I think that there is time to change it.

*Motivation*
Currently, it is hard to build Ignite.C++. Different build process for windows and linux, lack of building support on Mac OS X (quite popular OS among developers), absolutely not IDE support, except windows and only Visual Studio is supported.

*Suggestion*
I’d suggest to migrate to CMake build system. It is very popular among open source projects, and in Apache Software Foundation too. Notable user: Apache Mesos, Apache Zookeeper (C client offers CMake as an alternative to autoconf and only option on windows), Apache Kafka (librdkafka - C/C++ client), Apache Thrift. Popular column-oriented database ClickHouse also uses CMake.

CMake is widely supported in many IDE’s on various platforms, notably Visual Studio, CLion, Xcode, QtCreator, KDevelop.

*Current status*

Currently, the most of work is done (see [1]) and tested on Mac OS X 10.15 (some C++ porting). All tests are run without any flaws, including odbc (unixodbc), ssl, thin and thick client, installation, IDE integration (CLion). Next steps is to test linux and windows.

But full migration isn’t possible without agreement and help of community. Even if most of all you agree, migration requires additional efforts in TC agents tuning and so on (event though test running fully automated by CMake CTest).

Lets discuss my proposition and idea.

[1] - https://github.com/apache/ignite/pull/7845



Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Zhenya Stanilovsky

Ivan huge +1 with your proposal.
I had some problems with odbc tests building too, looks like cmake will make it more easy.

>Hello Igniters.
>
>I’d like to discuss porting build process of Ignite.C++. I think that there is time to change it.
>
>*Motivation*
>Currently, it is hard to build Ignite.C++. Different build process for windows and linux, lack of building support on Mac OS X (quite popular OS among developers), absolutely not IDE support, except windows and only Visual Studio is supported.
>
>*Suggestion*
>I’d suggest to migrate to CMake build system. It is very popular among open source projects, and in Apache Software Foundation too. Notable user: Apache Mesos, Apache Zookeeper (C client offers CMake as an alternative to autoconf and only option on windows), Apache Kafka (librdkafka - C/C++ client), Apache Thrift. Popular column-oriented database ClickHouse also uses CMake.
>
>CMake is widely supported in many IDE’s on various platforms, notably Visual Studio, CLion, Xcode, QtCreator, KDevelop.
>
>*Current status*
>
>Currently, the most of work is done (see [1]) and tested on Mac OS X 10.15 (some C++ porting). All tests are run without any flaws, including odbc (unixodbc), ssl, thin and thick client, installation, IDE integration (CLion). Next steps is to test linux and windows.
>
>But full migration isn’t possible without agreement and help of community. Even if most of all you agree, migration requires additional efforts in TC agents tuning and so on (event though test running fully automated by CMake CTest).
>
>Lets discuss my proposition and idea.
>
>[1] -  https://github.com/apache/ignite/pull/7845
>
>
 
 
 
 
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Pavel Tupitsyn
+1

On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
<[hidden email]> wrote:

>
> Ivan huge +1 with your proposal.
> I had some problems with odbc tests building too, looks like cmake will
> make it more easy.
> >Hello Igniters.
> >
> >I’d like to discuss porting build process of Ignite.C++. I think that
> there is time to change it.
> >
> >*Motivation*
> >Currently, it is hard to build Ignite.C++. Different build process for
> windows and linux, lack of building support on Mac OS X (quite popular OS
> among developers), absolutely not IDE support, except windows and only
> Visual Studio is supported.
> >
> >*Suggestion*
> >I’d suggest to migrate to CMake build system. It is very popular among
> open source projects, and in Apache Software Foundation too. Notable user:
> Apache Mesos, Apache Zookeeper (C client offers CMake as an alternative to
> autoconf and only option on windows), Apache Kafka (librdkafka - C/C++
> client), Apache Thrift. Popular column-oriented database ClickHouse also
> uses CMake.
> >
> >CMake is widely supported in many IDE’s on various platforms, notably
> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
> >
> >*Current status*
> >
> >Currently, the most of work is done (see [1]) and tested on Mac OS X
> 10.15 (some C++ porting). All tests are run without any flaws, including
> odbc (unixodbc), ssl, thin and thick client, installation, IDE integration
> (CLion). Next steps is to test linux and windows.
> >
> >But full migration isn’t possible without agreement and help of
> community. Even if most of all you agree, migration requires additional
> efforts in TC agents tuning and so on (event though test running fully
> automated by CMake CTest).
> >
> >Lets discuss my proposition and idea.
> >
> >[1] -  https://github.com/apache/ignite/pull/7845
> >
> >
> >
>
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Alexey Kukushkin
+1. I recently completed a cross-IDE (MS Visual Studio & GCC/GDB) Ignite
C++ project and CMake in Ignite C++ would save me a day of effort.

вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <[hidden email]>:

> +1
>
> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
> <[hidden email]> wrote:
>
> >
> > Ivan huge +1 with your proposal.
> > I had some problems with odbc tests building too, looks like cmake will
> > make it more easy.
> > >Hello Igniters.
> > >
> > >I’d like to discuss porting build process of Ignite.C++. I think that
> > there is time to change it.
> > >
> > >*Motivation*
> > >Currently, it is hard to build Ignite.C++. Different build process for
> > windows and linux, lack of building support on Mac OS X (quite popular OS
> > among developers), absolutely not IDE support, except windows and only
> > Visual Studio is supported.
> > >
> > >*Suggestion*
> > >I’d suggest to migrate to CMake build system. It is very popular among
> > open source projects, and in Apache Software Foundation too. Notable
> user:
> > Apache Mesos, Apache Zookeeper (C client offers CMake as an alternative
> to
> > autoconf and only option on windows), Apache Kafka (librdkafka - C/C++
> > client), Apache Thrift. Popular column-oriented database ClickHouse also
> > uses CMake.
> > >
> > >CMake is widely supported in many IDE’s on various platforms, notably
> > Visual Studio, CLion, Xcode, QtCreator, KDevelop.
> > >
> > >*Current status*
> > >
> > >Currently, the most of work is done (see [1]) and tested on Mac OS X
> > 10.15 (some C++ porting). All tests are run without any flaws, including
> > odbc (unixodbc), ssl, thin and thick client, installation, IDE
> integration
> > (CLion). Next steps is to test linux and windows.
> > >
> > >But full migration isn’t possible without agreement and help of
> > community. Even if most of all you agree, migration requires additional
> > efforts in TC agents tuning and so on (event though test running fully
> > automated by CMake CTest).
> > >
> > >Lets discuss my proposition and idea.
> > >
> > >[1] -  https://github.com/apache/ignite/pull/7845
> > >
> > >
> > >
> >
> >
> >
> >
>


--
Best regards,
Alexey
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Igor Sapego-2
Great!

Let's start with creating a TC suite for it.

The only concern I have is that it is one more build system
to support. Should we get rid of autotools in 3.0?

Best Regards,
Igor


On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <[hidden email]>
wrote:

> +1. I recently completed a cross-IDE (MS Visual Studio & GCC/GDB) Ignite
> C++ project and CMake in Ignite C++ would save me a day of effort.
>
> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <[hidden email]>:
>
> > +1
> >
> > On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
> > <[hidden email]> wrote:
> >
> > >
> > > Ivan huge +1 with your proposal.
> > > I had some problems with odbc tests building too, looks like cmake will
> > > make it more easy.
> > > >Hello Igniters.
> > > >
> > > >I’d like to discuss porting build process of Ignite.C++. I think that
> > > there is time to change it.
> > > >
> > > >*Motivation*
> > > >Currently, it is hard to build Ignite.C++. Different build process for
> > > windows and linux, lack of building support on Mac OS X (quite popular
> OS
> > > among developers), absolutely not IDE support, except windows and only
> > > Visual Studio is supported.
> > > >
> > > >*Suggestion*
> > > >I’d suggest to migrate to CMake build system. It is very popular among
> > > open source projects, and in Apache Software Foundation too. Notable
> > user:
> > > Apache Mesos, Apache Zookeeper (C client offers CMake as an alternative
> > to
> > > autoconf and only option on windows), Apache Kafka (librdkafka - C/C++
> > > client), Apache Thrift. Popular column-oriented database ClickHouse
> also
> > > uses CMake.
> > > >
> > > >CMake is widely supported in many IDE’s on various platforms, notably
> > > Visual Studio, CLion, Xcode, QtCreator, KDevelop.
> > > >
> > > >*Current status*
> > > >
> > > >Currently, the most of work is done (see [1]) and tested on Mac OS X
> > > 10.15 (some C++ porting). All tests are run without any flaws,
> including
> > > odbc (unixodbc), ssl, thin and thick client, installation, IDE
> > integration
> > > (CLion). Next steps is to test linux and windows.
> > > >
> > > >But full migration isn’t possible without agreement and help of
> > > community. Even if most of all you agree, migration requires additional
> > > efforts in TC agents tuning and so on (event though test running fully
> > > automated by CMake CTest).
> > > >
> > > >Lets discuss my proposition and idea.
> > > >
> > > >[1] -  https://github.com/apache/ignite/pull/7845
> > > >
> > > >
> > > >
> > >
> > >
> > >
> > >
> >
>
>
> --
> Best regards,
> Alexey
>
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Nikolay Izhikov-2
Hello, Igor.

I’m ++1 for this change.

How build system relates to major version of product?
I think we can change the way we build modules any time we want.


> 26 мая 2020 г., в 16:02, Igor Sapego <[hidden email]> написал(а):
>
> Great!
>
> Let's start with creating a TC suite for it.
>
> The only concern I have is that it is one more build system
> to support. Should we get rid of autotools in 3.0?
>
> Best Regards,
> Igor
>
>
> On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <[hidden email]>
> wrote:
>
>> +1. I recently completed a cross-IDE (MS Visual Studio & GCC/GDB) Ignite
>> C++ project and CMake in Ignite C++ would save me a day of effort.
>>
>> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <[hidden email]>:
>>
>>> +1
>>>
>>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
>>> <[hidden email]> wrote:
>>>
>>>>
>>>> Ivan huge +1 with your proposal.
>>>> I had some problems with odbc tests building too, looks like cmake will
>>>> make it more easy.
>>>>> Hello Igniters.
>>>>>
>>>>> I’d like to discuss porting build process of Ignite.C++. I think that
>>>> there is time to change it.
>>>>>
>>>>> *Motivation*
>>>>> Currently, it is hard to build Ignite.C++. Different build process for
>>>> windows and linux, lack of building support on Mac OS X (quite popular
>> OS
>>>> among developers), absolutely not IDE support, except windows and only
>>>> Visual Studio is supported.
>>>>>
>>>>> *Suggestion*
>>>>> I’d suggest to migrate to CMake build system. It is very popular among
>>>> open source projects, and in Apache Software Foundation too. Notable
>>> user:
>>>> Apache Mesos, Apache Zookeeper (C client offers CMake as an alternative
>>> to
>>>> autoconf and only option on windows), Apache Kafka (librdkafka - C/C++
>>>> client), Apache Thrift. Popular column-oriented database ClickHouse
>> also
>>>> uses CMake.
>>>>>
>>>>> CMake is widely supported in many IDE’s on various platforms, notably
>>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
>>>>>
>>>>> *Current status*
>>>>>
>>>>> Currently, the most of work is done (see [1]) and tested on Mac OS X
>>>> 10.15 (some C++ porting). All tests are run without any flaws,
>> including
>>>> odbc (unixodbc), ssl, thin and thick client, installation, IDE
>>> integration
>>>> (CLion). Next steps is to test linux and windows.
>>>>>
>>>>> But full migration isn’t possible without agreement and help of
>>>> community. Even if most of all you agree, migration requires additional
>>>> efforts in TC agents tuning and so on (event though test running fully
>>>> automated by CMake CTest).
>>>>>
>>>>> Lets discuss my proposition and idea.
>>>>>
>>>>> [1] -  https://github.com/apache/ignite/pull/7845
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>
>>
>> --
>> Best regards,
>> Alexey
>>

Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Igor Sapego-2
In reply to this post by Igor Sapego-2
Nikolay, removing support for a certain build system is a breaking change.

Ivan, in C++ world there are companies that still use VS 2012 or even 2010.

Best Regards,
Igor


On Tue, May 26, 2020 at 4:08 PM Ivan Daschinskiy <[hidden email]>
wrote:

> Guys, thank you all for support
>
>  >> The only concern I have is that it is one more build system
> to support. Should we get rid of autotools in 3.0?
>
> I'd suggest leave CMake as an only build system. Cmake could generate VS
> projects more than 12 years ago flawlessly, moreover, VS since 2017 has
> native support of CMake, so even this step (generation of project) is no
> more necessary.
>
>
> On 26.05.2020 16:02, Igor Sapego wrote:
> > Great!
> >
> > Let's start with creating a TC suite for it.
> >
> > The only concern I have is that it is one more build system
> > to support. Should we get rid of autotools in 3.0?
> >
> > Best Regards,
> > Igor
> >
> >
> > On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
> [hidden email]>
> > wrote:
> >
> >> +1. I recently completed a cross-IDE (MS Visual Studio & GCC/GDB) Ignite
> >> C++ project and CMake in Ignite C++ would save me a day of effort.
> >>
> >> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <[hidden email]>:
> >>
> >>> +1
> >>>
> >>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
> >>> <[hidden email]> wrote:
> >>>
> >>>> Ivan huge +1 with your proposal.
> >>>> I had some problems with odbc tests building too, looks like cmake
> will
> >>>> make it more easy.
> >>>>> Hello Igniters.
> >>>>>
> >>>>> I’d like to discuss porting build process of Ignite.C++. I think that
> >>>> there is time to change it.
> >>>>> *Motivation*
> >>>>> Currently, it is hard to build Ignite.C++. Different build process
> for
> >>>> windows and linux, lack of building support on Mac OS X (quite popular
> >> OS
> >>>> among developers), absolutely not IDE support, except windows and only
> >>>> Visual Studio is supported.
> >>>>> *Suggestion*
> >>>>> I’d suggest to migrate to CMake build system. It is very popular
> among
> >>>> open source projects, and in Apache Software Foundation too. Notable
> >>> user:
> >>>> Apache Mesos, Apache Zookeeper (C client offers CMake as an
> alternative
> >>> to
> >>>> autoconf and only option on windows), Apache Kafka (librdkafka - C/C++
> >>>> client), Apache Thrift. Popular column-oriented database ClickHouse
> >> also
> >>>> uses CMake.
> >>>>> CMake is widely supported in many IDE’s on various platforms, notably
> >>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
> >>>>> *Current status*
> >>>>>
> >>>>> Currently, the most of work is done (see [1]) and tested on Mac OS X
> >>>> 10.15 (some C++ porting). All tests are run without any flaws,
> >> including
> >>>> odbc (unixodbc), ssl, thin and thick client, installation, IDE
> >>> integration
> >>>> (CLion). Next steps is to test linux and windows.
> >>>>> But full migration isn’t possible without agreement and help of
> >>>> community. Even if most of all you agree, migration requires
> additional
> >>>> efforts in TC agents tuning and so on (event though test running fully
> >>>> automated by CMake CTest).
> >>>>> Lets discuss my proposition and idea.
> >>>>>
> >>>>> [1] -  https://github.com/apache/ignite/pull/7845
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>>
> >>
> >> --
> >> Best regards,
> >> Alexey
> >>
>
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Ivan Daschinsky
Igor, I just said about native support from Visual Studio, not from cmake
itself.

Modern cmake can generate projects even for Visual Studio 2008 [1]

[1] --
https://cmake.org/cmake/help/v3.16/generator/Visual%20Studio%209%202008.html

вт, 26 мая 2020 г. в 16:16, Igor Sapego <[hidden email]>:

> Nikolay, removing support for a certain build system is a breaking change.
>
> Ivan, in C++ world there are companies that still use VS 2012 or even 2010.
>
> Best Regards,
> Igor
>
>
> On Tue, May 26, 2020 at 4:08 PM Ivan Daschinskiy <[hidden email]>
> wrote:
>
> > Guys, thank you all for support
> >
> >  >> The only concern I have is that it is one more build system
> > to support. Should we get rid of autotools in 3.0?
> >
> > I'd suggest leave CMake as an only build system. Cmake could generate VS
> > projects more than 12 years ago flawlessly, moreover, VS since 2017 has
> > native support of CMake, so even this step (generation of project) is no
> > more necessary.
> >
> >
> > On 26.05.2020 16:02, Igor Sapego wrote:
> > > Great!
> > >
> > > Let's start with creating a TC suite for it.
> > >
> > > The only concern I have is that it is one more build system
> > > to support. Should we get rid of autotools in 3.0?
> > >
> > > Best Regards,
> > > Igor
> > >
> > >
> > > On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
> > [hidden email]>
> > > wrote:
> > >
> > >> +1. I recently completed a cross-IDE (MS Visual Studio & GCC/GDB)
> Ignite
> > >> C++ project and CMake in Ignite C++ would save me a day of effort.
> > >>
> > >> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <[hidden email]>:
> > >>
> > >>> +1
> > >>>
> > >>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
> > >>> <[hidden email]> wrote:
> > >>>
> > >>>> Ivan huge +1 with your proposal.
> > >>>> I had some problems with odbc tests building too, looks like cmake
> > will
> > >>>> make it more easy.
> > >>>>> Hello Igniters.
> > >>>>>
> > >>>>> I’d like to discuss porting build process of Ignite.C++. I think
> that
> > >>>> there is time to change it.
> > >>>>> *Motivation*
> > >>>>> Currently, it is hard to build Ignite.C++. Different build process
> > for
> > >>>> windows and linux, lack of building support on Mac OS X (quite
> popular
> > >> OS
> > >>>> among developers), absolutely not IDE support, except windows and
> only
> > >>>> Visual Studio is supported.
> > >>>>> *Suggestion*
> > >>>>> I’d suggest to migrate to CMake build system. It is very popular
> > among
> > >>>> open source projects, and in Apache Software Foundation too. Notable
> > >>> user:
> > >>>> Apache Mesos, Apache Zookeeper (C client offers CMake as an
> > alternative
> > >>> to
> > >>>> autoconf and only option on windows), Apache Kafka (librdkafka -
> C/C++
> > >>>> client), Apache Thrift. Popular column-oriented database ClickHouse
> > >> also
> > >>>> uses CMake.
> > >>>>> CMake is widely supported in many IDE’s on various platforms,
> notably
> > >>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
> > >>>>> *Current status*
> > >>>>>
> > >>>>> Currently, the most of work is done (see [1]) and tested on Mac OS
> X
> > >>>> 10.15 (some C++ porting). All tests are run without any flaws,
> > >> including
> > >>>> odbc (unixodbc), ssl, thin and thick client, installation, IDE
> > >>> integration
> > >>>> (CLion). Next steps is to test linux and windows.
> > >>>>> But full migration isn’t possible without agreement and help of
> > >>>> community. Even if most of all you agree, migration requires
> > additional
> > >>>> efforts in TC agents tuning and so on (event though test running
> fully
> > >>>> automated by CMake CTest).
> > >>>>> Lets discuss my proposition and idea.
> > >>>>>
> > >>>>> [1] -  https://github.com/apache/ignite/pull/7845
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>
> > >>>>
> > >>>>
> > >>
> > >> --
> > >> Best regards,
> > >> Alexey
> > >>
> >
>


--
Sincerely yours, Ivan Daschinskiy
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Ilya Kasnacheev
In reply to this post by Igor Sapego-2
Hello!

I don't see why we can't get rid of autotools in a minor release, provided
that cmake actually works. Removing native VS support may be a different
thing.

Build system and precise set of dependencies is not a part of public API in
my opinion.

Regards,
--
Ilya Kasnacheev


вт, 26 мая 2020 г. в 16:02, Igor Sapego <[hidden email]>:

> Great!
>
> Let's start with creating a TC suite for it.
>
> The only concern I have is that it is one more build system
> to support. Should we get rid of autotools in 3.0?
>
> Best Regards,
> Igor
>
>
> On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
> [hidden email]>
> wrote:
>
> > +1. I recently completed a cross-IDE (MS Visual Studio & GCC/GDB) Ignite
> > C++ project and CMake in Ignite C++ would save me a day of effort.
> >
> > вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <[hidden email]>:
> >
> > > +1
> > >
> > > On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
> > > <[hidden email]> wrote:
> > >
> > > >
> > > > Ivan huge +1 with your proposal.
> > > > I had some problems with odbc tests building too, looks like cmake
> will
> > > > make it more easy.
> > > > >Hello Igniters.
> > > > >
> > > > >I’d like to discuss porting build process of Ignite.C++. I think
> that
> > > > there is time to change it.
> > > > >
> > > > >*Motivation*
> > > > >Currently, it is hard to build Ignite.C++. Different build process
> for
> > > > windows and linux, lack of building support on Mac OS X (quite
> popular
> > OS
> > > > among developers), absolutely not IDE support, except windows and
> only
> > > > Visual Studio is supported.
> > > > >
> > > > >*Suggestion*
> > > > >I’d suggest to migrate to CMake build system. It is very popular
> among
> > > > open source projects, and in Apache Software Foundation too. Notable
> > > user:
> > > > Apache Mesos, Apache Zookeeper (C client offers CMake as an
> alternative
> > > to
> > > > autoconf and only option on windows), Apache Kafka (librdkafka -
> C/C++
> > > > client), Apache Thrift. Popular column-oriented database ClickHouse
> > also
> > > > uses CMake.
> > > > >
> > > > >CMake is widely supported in many IDE’s on various platforms,
> notably
> > > > Visual Studio, CLion, Xcode, QtCreator, KDevelop.
> > > > >
> > > > >*Current status*
> > > > >
> > > > >Currently, the most of work is done (see [1]) and tested on Mac OS X
> > > > 10.15 (some C++ porting). All tests are run without any flaws,
> > including
> > > > odbc (unixodbc), ssl, thin and thick client, installation, IDE
> > > integration
> > > > (CLion). Next steps is to test linux and windows.
> > > > >
> > > > >But full migration isn’t possible without agreement and help of
> > > > community. Even if most of all you agree, migration requires
> additional
> > > > efforts in TC agents tuning and so on (event though test running
> fully
> > > > automated by CMake CTest).
> > > > >
> > > > >Lets discuss my proposition and idea.
> > > > >
> > > > >[1] -  https://github.com/apache/ignite/pull/7845
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > >
> >
> >
> > --
> > Best regards,
> > Alexey
> >
>
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Nikolay Izhikov-2
Hello, Igor.

> Nikolay, removing support for a certain build system is a breaking change.

No, it’s not.
Why do you think so?

Development environment and build system is a subject to change in any project.
We can drop or add support of any build system any time we want.

> 26 мая 2020 г., в 16:35, Ilya Kasnacheev <[hidden email]> написал(а):
>
> Hello!
>
> I don't see why we can't get rid of autotools in a minor release, provided
> that cmake actually works. Removing native VS support may be a different
> thing.
>
> Build system and precise set of dependencies is not a part of public API in
> my opinion.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> вт, 26 мая 2020 г. в 16:02, Igor Sapego <[hidden email]>:
>
>> Great!
>>
>> Let's start with creating a TC suite for it.
>>
>> The only concern I have is that it is one more build system
>> to support. Should we get rid of autotools in 3.0?
>>
>> Best Regards,
>> Igor
>>
>>
>> On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
>> [hidden email]>
>> wrote:
>>
>>> +1. I recently completed a cross-IDE (MS Visual Studio & GCC/GDB) Ignite
>>> C++ project and CMake in Ignite C++ would save me a day of effort.
>>>
>>> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <[hidden email]>:
>>>
>>>> +1
>>>>
>>>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
>>>> <[hidden email]> wrote:
>>>>
>>>>>
>>>>> Ivan huge +1 with your proposal.
>>>>> I had some problems with odbc tests building too, looks like cmake
>> will
>>>>> make it more easy.
>>>>>> Hello Igniters.
>>>>>>
>>>>>> I’d like to discuss porting build process of Ignite.C++. I think
>> that
>>>>> there is time to change it.
>>>>>>
>>>>>> *Motivation*
>>>>>> Currently, it is hard to build Ignite.C++. Different build process
>> for
>>>>> windows and linux, lack of building support on Mac OS X (quite
>> popular
>>> OS
>>>>> among developers), absolutely not IDE support, except windows and
>> only
>>>>> Visual Studio is supported.
>>>>>>
>>>>>> *Suggestion*
>>>>>> I’d suggest to migrate to CMake build system. It is very popular
>> among
>>>>> open source projects, and in Apache Software Foundation too. Notable
>>>> user:
>>>>> Apache Mesos, Apache Zookeeper (C client offers CMake as an
>> alternative
>>>> to
>>>>> autoconf and only option on windows), Apache Kafka (librdkafka -
>> C/C++
>>>>> client), Apache Thrift. Popular column-oriented database ClickHouse
>>> also
>>>>> uses CMake.
>>>>>>
>>>>>> CMake is widely supported in many IDE’s on various platforms,
>> notably
>>>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
>>>>>>
>>>>>> *Current status*
>>>>>>
>>>>>> Currently, the most of work is done (see [1]) and tested on Mac OS X
>>>>> 10.15 (some C++ porting). All tests are run without any flaws,
>>> including
>>>>> odbc (unixodbc), ssl, thin and thick client, installation, IDE
>>>> integration
>>>>> (CLion). Next steps is to test linux and windows.
>>>>>>
>>>>>> But full migration isn’t possible without agreement and help of
>>>>> community. Even if most of all you agree, migration requires
>> additional
>>>>> efforts in TC agents tuning and so on (event though test running
>> fully
>>>>> automated by CMake CTest).
>>>>>>
>>>>>> Lets discuss my proposition and idea.
>>>>>>
>>>>>> [1] -  https://github.com/apache/ignite/pull/7845
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> Best regards,
>>> Alexey
>>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Ivan Daschinsky
Guys, I will certainly thoroughly test my fix not only unices, but on
windows too.
And I will describe it very thoroughly.

When I was C++ developer (more than 10 years ago), I have not any trouble
at all with CMake and Visual Studio 2005.
Everything works and works good. Moreover, you can build with NMake,
msbuild and generate solutions for development.

I suppose, for CI purposes, using NMake is a way better, than use vs
solutions.

вт, 26 мая 2020 г. в 16:42, Nikolay Izhikov <[hidden email]>:

> Hello, Igor.
>
> > Nikolay, removing support for a certain build system is a breaking
> change.
>
> No, it’s not.
> Why do you think so?
>
> Development environment and build system is a subject to change in any
> project.
> We can drop or add support of any build system any time we want.
>
> > 26 мая 2020 г., в 16:35, Ilya Kasnacheev <[hidden email]>
> написал(а):
> >
> > Hello!
> >
> > I don't see why we can't get rid of autotools in a minor release,
> provided
> > that cmake actually works. Removing native VS support may be a different
> > thing.
> >
> > Build system and precise set of dependencies is not a part of public API
> in
> > my opinion.
> >
> > Regards,
> > --
> > Ilya Kasnacheev
> >
> >
> > вт, 26 мая 2020 г. в 16:02, Igor Sapego <[hidden email]>:
> >
> >> Great!
> >>
> >> Let's start with creating a TC suite for it.
> >>
> >> The only concern I have is that it is one more build system
> >> to support. Should we get rid of autotools in 3.0?
> >>
> >> Best Regards,
> >> Igor
> >>
> >>
> >> On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
> >> [hidden email]>
> >> wrote:
> >>
> >>> +1. I recently completed a cross-IDE (MS Visual Studio & GCC/GDB)
> Ignite
> >>> C++ project and CMake in Ignite C++ would save me a day of effort.
> >>>
> >>> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <[hidden email]>:
> >>>
> >>>> +1
> >>>>
> >>>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
> >>>> <[hidden email]> wrote:
> >>>>
> >>>>>
> >>>>> Ivan huge +1 with your proposal.
> >>>>> I had some problems with odbc tests building too, looks like cmake
> >> will
> >>>>> make it more easy.
> >>>>>> Hello Igniters.
> >>>>>>
> >>>>>> I’d like to discuss porting build process of Ignite.C++. I think
> >> that
> >>>>> there is time to change it.
> >>>>>>
> >>>>>> *Motivation*
> >>>>>> Currently, it is hard to build Ignite.C++. Different build process
> >> for
> >>>>> windows and linux, lack of building support on Mac OS X (quite
> >> popular
> >>> OS
> >>>>> among developers), absolutely not IDE support, except windows and
> >> only
> >>>>> Visual Studio is supported.
> >>>>>>
> >>>>>> *Suggestion*
> >>>>>> I’d suggest to migrate to CMake build system. It is very popular
> >> among
> >>>>> open source projects, and in Apache Software Foundation too. Notable
> >>>> user:
> >>>>> Apache Mesos, Apache Zookeeper (C client offers CMake as an
> >> alternative
> >>>> to
> >>>>> autoconf and only option on windows), Apache Kafka (librdkafka -
> >> C/C++
> >>>>> client), Apache Thrift. Popular column-oriented database ClickHouse
> >>> also
> >>>>> uses CMake.
> >>>>>>
> >>>>>> CMake is widely supported in many IDE’s on various platforms,
> >> notably
> >>>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
> >>>>>>
> >>>>>> *Current status*
> >>>>>>
> >>>>>> Currently, the most of work is done (see [1]) and tested on Mac OS X
> >>>>> 10.15 (some C++ porting). All tests are run without any flaws,
> >>> including
> >>>>> odbc (unixodbc), ssl, thin and thick client, installation, IDE
> >>>> integration
> >>>>> (CLion). Next steps is to test linux and windows.
> >>>>>>
> >>>>>> But full migration isn’t possible without agreement and help of
> >>>>> community. Even if most of all you agree, migration requires
> >> additional
> >>>>> efforts in TC agents tuning and so on (event though test running
> >> fully
> >>>>> automated by CMake CTest).
> >>>>>>
> >>>>>> Lets discuss my proposition and idea.
> >>>>>>
> >>>>>> [1] -  https://github.com/apache/ignite/pull/7845
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>>
> >>>
> >>> --
> >>> Best regards,
> >>> Alexey
> >>>
> >>
>
>

--
Sincerely yours, Ivan Daschinskiy
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Ilya Kasnacheev
Hello!

I will assist with checking on Linux if you would contribute a patch.
Please start with a ticket (or even an IEP maybe?)

Regards,
--
Ilya Kasnacheev


вт, 26 мая 2020 г. в 16:47, Ivan Daschinsky <[hidden email]>:

> Guys, I will certainly thoroughly test my fix not only unices, but on
> windows too.
> And I will describe it very thoroughly.
>
> When I was C++ developer (more than 10 years ago), I have not any trouble
> at all with CMake and Visual Studio 2005.
> Everything works and works good. Moreover, you can build with NMake,
> msbuild and generate solutions for development.
>
> I suppose, for CI purposes, using NMake is a way better, than use vs
> solutions.
>
> вт, 26 мая 2020 г. в 16:42, Nikolay Izhikov <[hidden email]>:
>
> > Hello, Igor.
> >
> > > Nikolay, removing support for a certain build system is a breaking
> > change.
> >
> > No, it’s not.
> > Why do you think so?
> >
> > Development environment and build system is a subject to change in any
> > project.
> > We can drop or add support of any build system any time we want.
> >
> > > 26 мая 2020 г., в 16:35, Ilya Kasnacheev <[hidden email]>
> > написал(а):
> > >
> > > Hello!
> > >
> > > I don't see why we can't get rid of autotools in a minor release,
> > provided
> > > that cmake actually works. Removing native VS support may be a
> different
> > > thing.
> > >
> > > Build system and precise set of dependencies is not a part of public
> API
> > in
> > > my opinion.
> > >
> > > Regards,
> > > --
> > > Ilya Kasnacheev
> > >
> > >
> > > вт, 26 мая 2020 г. в 16:02, Igor Sapego <[hidden email]>:
> > >
> > >> Great!
> > >>
> > >> Let's start with creating a TC suite for it.
> > >>
> > >> The only concern I have is that it is one more build system
> > >> to support. Should we get rid of autotools in 3.0?
> > >>
> > >> Best Regards,
> > >> Igor
> > >>
> > >>
> > >> On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
> > >> [hidden email]>
> > >> wrote:
> > >>
> > >>> +1. I recently completed a cross-IDE (MS Visual Studio & GCC/GDB)
> > Ignite
> > >>> C++ project and CMake in Ignite C++ would save me a day of effort.
> > >>>
> > >>> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <[hidden email]>:
> > >>>
> > >>>> +1
> > >>>>
> > >>>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
> > >>>> <[hidden email]> wrote:
> > >>>>
> > >>>>>
> > >>>>> Ivan huge +1 with your proposal.
> > >>>>> I had some problems with odbc tests building too, looks like cmake
> > >> will
> > >>>>> make it more easy.
> > >>>>>> Hello Igniters.
> > >>>>>>
> > >>>>>> I’d like to discuss porting build process of Ignite.C++. I think
> > >> that
> > >>>>> there is time to change it.
> > >>>>>>
> > >>>>>> *Motivation*
> > >>>>>> Currently, it is hard to build Ignite.C++. Different build process
> > >> for
> > >>>>> windows and linux, lack of building support on Mac OS X (quite
> > >> popular
> > >>> OS
> > >>>>> among developers), absolutely not IDE support, except windows and
> > >> only
> > >>>>> Visual Studio is supported.
> > >>>>>>
> > >>>>>> *Suggestion*
> > >>>>>> I’d suggest to migrate to CMake build system. It is very popular
> > >> among
> > >>>>> open source projects, and in Apache Software Foundation too.
> Notable
> > >>>> user:
> > >>>>> Apache Mesos, Apache Zookeeper (C client offers CMake as an
> > >> alternative
> > >>>> to
> > >>>>> autoconf and only option on windows), Apache Kafka (librdkafka -
> > >> C/C++
> > >>>>> client), Apache Thrift. Popular column-oriented database ClickHouse
> > >>> also
> > >>>>> uses CMake.
> > >>>>>>
> > >>>>>> CMake is widely supported in many IDE’s on various platforms,
> > >> notably
> > >>>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
> > >>>>>>
> > >>>>>> *Current status*
> > >>>>>>
> > >>>>>> Currently, the most of work is done (see [1]) and tested on Mac
> OS X
> > >>>>> 10.15 (some C++ porting). All tests are run without any flaws,
> > >>> including
> > >>>>> odbc (unixodbc), ssl, thin and thick client, installation, IDE
> > >>>> integration
> > >>>>> (CLion). Next steps is to test linux and windows.
> > >>>>>>
> > >>>>>> But full migration isn’t possible without agreement and help of
> > >>>>> community. Even if most of all you agree, migration requires
> > >> additional
> > >>>>> efforts in TC agents tuning and so on (event though test running
> > >> fully
> > >>>>> automated by CMake CTest).
> > >>>>>>
> > >>>>>> Lets discuss my proposition and idea.
> > >>>>>>
> > >>>>>> [1] -  https://github.com/apache/ignite/pull/7845
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>>
> > >>>
> > >>>
> > >>> --
> > >>> Best regards,
> > >>> Alexey
> > >>>
> > >>
> >
> >
>
> --
> Sincerely yours, Ivan Daschinskiy
>
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Ivan Daschinsky
I appreciate any help, thank you, Ilya.

Currently I have a small PR without ticket (link in first post),but I
decided not to file a jira issue before discussion.
Now I see, that this feature are of great interest to community. So I file
a ticket, test myself on my home laptop (ubuntu 20.04)
 and add detailed instructions to DEVNOTES.txt in a few days.

I would be happy if my someone can follow the instruction and write
possible issues.

I will notify about status update in this thread in next few days.

Thank you all very much for support!


вт, 26 мая 2020 г. в 17:50, Ilya Kasnacheev <[hidden email]>:

> Hello!
>
> I will assist with checking on Linux if you would contribute a patch.
> Please start with a ticket (or even an IEP maybe?)
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> вт, 26 мая 2020 г. в 16:47, Ivan Daschinsky <[hidden email]>:
>
> > Guys, I will certainly thoroughly test my fix not only unices, but on
> > windows too.
> > And I will describe it very thoroughly.
> >
> > When I was C++ developer (more than 10 years ago), I have not any trouble
> > at all with CMake and Visual Studio 2005.
> > Everything works and works good. Moreover, you can build with NMake,
> > msbuild and generate solutions for development.
> >
> > I suppose, for CI purposes, using NMake is a way better, than use vs
> > solutions.
> >
> > вт, 26 мая 2020 г. в 16:42, Nikolay Izhikov <[hidden email]>:
> >
> > > Hello, Igor.
> > >
> > > > Nikolay, removing support for a certain build system is a breaking
> > > change.
> > >
> > > No, it’s not.
> > > Why do you think so?
> > >
> > > Development environment and build system is a subject to change in any
> > > project.
> > > We can drop or add support of any build system any time we want.
> > >
> > > > 26 мая 2020 г., в 16:35, Ilya Kasnacheev <[hidden email]>
> > > написал(а):
> > > >
> > > > Hello!
> > > >
> > > > I don't see why we can't get rid of autotools in a minor release,
> > > provided
> > > > that cmake actually works. Removing native VS support may be a
> > different
> > > > thing.
> > > >
> > > > Build system and precise set of dependencies is not a part of public
> > API
> > > in
> > > > my opinion.
> > > >
> > > > Regards,
> > > > --
> > > > Ilya Kasnacheev
> > > >
> > > >
> > > > вт, 26 мая 2020 г. в 16:02, Igor Sapego <[hidden email]>:
> > > >
> > > >> Great!
> > > >>
> > > >> Let's start with creating a TC suite for it.
> > > >>
> > > >> The only concern I have is that it is one more build system
> > > >> to support. Should we get rid of autotools in 3.0?
> > > >>
> > > >> Best Regards,
> > > >> Igor
> > > >>
> > > >>
> > > >> On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
> > > >> [hidden email]>
> > > >> wrote:
> > > >>
> > > >>> +1. I recently completed a cross-IDE (MS Visual Studio & GCC/GDB)
> > > Ignite
> > > >>> C++ project and CMake in Ignite C++ would save me a day of effort.
> > > >>>
> > > >>> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <[hidden email]>:
> > > >>>
> > > >>>> +1
> > > >>>>
> > > >>>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
> > > >>>> <[hidden email]> wrote:
> > > >>>>
> > > >>>>>
> > > >>>>> Ivan huge +1 with your proposal.
> > > >>>>> I had some problems with odbc tests building too, looks like
> cmake
> > > >> will
> > > >>>>> make it more easy.
> > > >>>>>> Hello Igniters.
> > > >>>>>>
> > > >>>>>> I’d like to discuss porting build process of Ignite.C++. I think
> > > >> that
> > > >>>>> there is time to change it.
> > > >>>>>>
> > > >>>>>> *Motivation*
> > > >>>>>> Currently, it is hard to build Ignite.C++. Different build
> process
> > > >> for
> > > >>>>> windows and linux, lack of building support on Mac OS X (quite
> > > >> popular
> > > >>> OS
> > > >>>>> among developers), absolutely not IDE support, except windows and
> > > >> only
> > > >>>>> Visual Studio is supported.
> > > >>>>>>
> > > >>>>>> *Suggestion*
> > > >>>>>> I’d suggest to migrate to CMake build system. It is very popular
> > > >> among
> > > >>>>> open source projects, and in Apache Software Foundation too.
> > Notable
> > > >>>> user:
> > > >>>>> Apache Mesos, Apache Zookeeper (C client offers CMake as an
> > > >> alternative
> > > >>>> to
> > > >>>>> autoconf and only option on windows), Apache Kafka (librdkafka -
> > > >> C/C++
> > > >>>>> client), Apache Thrift. Popular column-oriented database
> ClickHouse
> > > >>> also
> > > >>>>> uses CMake.
> > > >>>>>>
> > > >>>>>> CMake is widely supported in many IDE’s on various platforms,
> > > >> notably
> > > >>>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
> > > >>>>>>
> > > >>>>>> *Current status*
> > > >>>>>>
> > > >>>>>> Currently, the most of work is done (see [1]) and tested on Mac
> > OS X
> > > >>>>> 10.15 (some C++ porting). All tests are run without any flaws,
> > > >>> including
> > > >>>>> odbc (unixodbc), ssl, thin and thick client, installation, IDE
> > > >>>> integration
> > > >>>>> (CLion). Next steps is to test linux and windows.
> > > >>>>>>
> > > >>>>>> But full migration isn’t possible without agreement and help of
> > > >>>>> community. Even if most of all you agree, migration requires
> > > >> additional
> > > >>>>> efforts in TC agents tuning and so on (event though test running
> > > >> fully
> > > >>>>> automated by CMake CTest).
> > > >>>>>>
> > > >>>>>> Lets discuss my proposition and idea.
> > > >>>>>>
> > > >>>>>> [1] -  https://github.com/apache/ignite/pull/7845
> > > >>>>>>
> > > >>>>>>
> > > >>>>>>
> > > >>>>>
> > > >>>>>
> > > >>>>>
> > > >>>>>
> > > >>>>
> > > >>>
> > > >>>
> > > >>> --
> > > >>> Best regards,
> > > >>> Alexey
> > > >>>
> > > >>
> > >
> > >
> >
> > --
> > Sincerely yours, Ivan Daschinskiy
> >
>


--
Sincerely yours, Ivan Daschinskiy
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

sdarlington
Not sure if it’ll help, but I made some changes to get it working on a Mac with the current built system. There may be some code worth taking.

https://github.com/apache/ignite/pull/4872 <https://github.com/apache/ignite/pull/4872>

Regards,
Stephen

> On 26 May 2020, at 16:02, Ivan Daschinsky <[hidden email]> wrote:
>
> I appreciate any help, thank you, Ilya.
>
> Currently I have a small PR without ticket (link in first post),but I
> decided not to file a jira issue before discussion.
> Now I see, that this feature are of great interest to community. So I file
> a ticket, test myself on my home laptop (ubuntu 20.04)
> and add detailed instructions to DEVNOTES.txt in a few days.
>
> I would be happy if my someone can follow the instruction and write
> possible issues.
>
> I will notify about status update in this thread in next few days.
>
> Thank you all very much for support!
>
>
> вт, 26 мая 2020 г. в 17:50, Ilya Kasnacheev <[hidden email]>:
>
>> Hello!
>>
>> I will assist with checking on Linux if you would contribute a patch.
>> Please start with a ticket (or even an IEP maybe?)
>>
>> Regards,
>> --
>> Ilya Kasnacheev
>>
>>
>> вт, 26 мая 2020 г. в 16:47, Ivan Daschinsky <[hidden email]>:
>>
>>> Guys, I will certainly thoroughly test my fix not only unices, but on
>>> windows too.
>>> And I will describe it very thoroughly.
>>>
>>> When I was C++ developer (more than 10 years ago), I have not any trouble
>>> at all with CMake and Visual Studio 2005.
>>> Everything works and works good. Moreover, you can build with NMake,
>>> msbuild and generate solutions for development.
>>>
>>> I suppose, for CI purposes, using NMake is a way better, than use vs
>>> solutions.
>>>
>>> вт, 26 мая 2020 г. в 16:42, Nikolay Izhikov <[hidden email]>:
>>>
>>>> Hello, Igor.
>>>>
>>>>> Nikolay, removing support for a certain build system is a breaking
>>>> change.
>>>>
>>>> No, it’s not.
>>>> Why do you think so?
>>>>
>>>> Development environment and build system is a subject to change in any
>>>> project.
>>>> We can drop or add support of any build system any time we want.
>>>>
>>>>> 26 мая 2020 г., в 16:35, Ilya Kasnacheev <[hidden email]>
>>>> написал(а):
>>>>>
>>>>> Hello!
>>>>>
>>>>> I don't see why we can't get rid of autotools in a minor release,
>>>> provided
>>>>> that cmake actually works. Removing native VS support may be a
>>> different
>>>>> thing.
>>>>>
>>>>> Build system and precise set of dependencies is not a part of public
>>> API
>>>> in
>>>>> my opinion.
>>>>>
>>>>> Regards,
>>>>> --
>>>>> Ilya Kasnacheev
>>>>>
>>>>>
>>>>> вт, 26 мая 2020 г. в 16:02, Igor Sapego <[hidden email]>:
>>>>>
>>>>>> Great!
>>>>>>
>>>>>> Let's start with creating a TC suite for it.
>>>>>>
>>>>>> The only concern I have is that it is one more build system
>>>>>> to support. Should we get rid of autotools in 3.0?
>>>>>>
>>>>>> Best Regards,
>>>>>> Igor
>>>>>>
>>>>>>
>>>>>> On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
>>>>>> [hidden email]>
>>>>>> wrote:
>>>>>>
>>>>>>> +1. I recently completed a cross-IDE (MS Visual Studio & GCC/GDB)
>>>> Ignite
>>>>>>> C++ project and CMake in Ignite C++ would save me a day of effort.
>>>>>>>
>>>>>>> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <[hidden email]>:
>>>>>>>
>>>>>>>> +1
>>>>>>>>
>>>>>>>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
>>>>>>>> <[hidden email]> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Ivan huge +1 with your proposal.
>>>>>>>>> I had some problems with odbc tests building too, looks like
>> cmake
>>>>>> will
>>>>>>>>> make it more easy.
>>>>>>>>>> Hello Igniters.
>>>>>>>>>>
>>>>>>>>>> I’d like to discuss porting build process of Ignite.C++. I think
>>>>>> that
>>>>>>>>> there is time to change it.
>>>>>>>>>>
>>>>>>>>>> *Motivation*
>>>>>>>>>> Currently, it is hard to build Ignite.C++. Different build
>> process
>>>>>> for
>>>>>>>>> windows and linux, lack of building support on Mac OS X (quite
>>>>>> popular
>>>>>>> OS
>>>>>>>>> among developers), absolutely not IDE support, except windows and
>>>>>> only
>>>>>>>>> Visual Studio is supported.
>>>>>>>>>>
>>>>>>>>>> *Suggestion*
>>>>>>>>>> I’d suggest to migrate to CMake build system. It is very popular
>>>>>> among
>>>>>>>>> open source projects, and in Apache Software Foundation too.
>>> Notable
>>>>>>>> user:
>>>>>>>>> Apache Mesos, Apache Zookeeper (C client offers CMake as an
>>>>>> alternative
>>>>>>>> to
>>>>>>>>> autoconf and only option on windows), Apache Kafka (librdkafka -
>>>>>> C/C++
>>>>>>>>> client), Apache Thrift. Popular column-oriented database
>> ClickHouse
>>>>>>> also
>>>>>>>>> uses CMake.
>>>>>>>>>>
>>>>>>>>>> CMake is widely supported in many IDE’s on various platforms,
>>>>>> notably
>>>>>>>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
>>>>>>>>>>
>>>>>>>>>> *Current status*
>>>>>>>>>>
>>>>>>>>>> Currently, the most of work is done (see [1]) and tested on Mac
>>> OS X
>>>>>>>>> 10.15 (some C++ porting). All tests are run without any flaws,
>>>>>>> including
>>>>>>>>> odbc (unixodbc), ssl, thin and thick client, installation, IDE
>>>>>>>> integration
>>>>>>>>> (CLion). Next steps is to test linux and windows.
>>>>>>>>>>
>>>>>>>>>> But full migration isn’t possible without agreement and help of
>>>>>>>>> community. Even if most of all you agree, migration requires
>>>>>> additional
>>>>>>>>> efforts in TC agents tuning and so on (event though test running
>>>>>> fully
>>>>>>>>> automated by CMake CTest).
>>>>>>>>>>
>>>>>>>>>> Lets discuss my proposition and idea.
>>>>>>>>>>
>>>>>>>>>> [1] -  https://github.com/apache/ignite/pull/7845
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Best regards,
>>>>>>> Alexey
>>>>>>>
>>>>>>
>>>>
>>>>
>>>
>>> --
>>> Sincerely yours, Ivan Daschinskiy
>>>
>>
>
>
> --
> Sincerely yours, Ivan Daschinskiy


Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Ivan Daschinsky
Stephen, looks great! I do mostly the same things in C++ code. Thank you!

вт, 26 мая 2020 г. в 18:33, Stephen Darlington <
[hidden email]>:

> Not sure if it’ll help, but I made some changes to get it working on a Mac
> with the current built system. There may be some code worth taking.
>
> https://github.com/apache/ignite/pull/4872 <
> https://github.com/apache/ignite/pull/4872>
>
> Regards,
> Stephen
>
> > On 26 May 2020, at 16:02, Ivan Daschinsky <[hidden email]> wrote:
> >
> > I appreciate any help, thank you, Ilya.
> >
> > Currently I have a small PR without ticket (link in first post),but I
> > decided not to file a jira issue before discussion.
> > Now I see, that this feature are of great interest to community. So I
> file
> > a ticket, test myself on my home laptop (ubuntu 20.04)
> > and add detailed instructions to DEVNOTES.txt in a few days.
> >
> > I would be happy if my someone can follow the instruction and write
> > possible issues.
> >
> > I will notify about status update in this thread in next few days.
> >
> > Thank you all very much for support!
> >
> >
> > вт, 26 мая 2020 г. в 17:50, Ilya Kasnacheev <[hidden email]>:
> >
> >> Hello!
> >>
> >> I will assist with checking on Linux if you would contribute a patch.
> >> Please start with a ticket (or even an IEP maybe?)
> >>
> >> Regards,
> >> --
> >> Ilya Kasnacheev
> >>
> >>
> >> вт, 26 мая 2020 г. в 16:47, Ivan Daschinsky <[hidden email]>:
> >>
> >>> Guys, I will certainly thoroughly test my fix not only unices, but on
> >>> windows too.
> >>> And I will describe it very thoroughly.
> >>>
> >>> When I was C++ developer (more than 10 years ago), I have not any
> trouble
> >>> at all with CMake and Visual Studio 2005.
> >>> Everything works and works good. Moreover, you can build with NMake,
> >>> msbuild and generate solutions for development.
> >>>
> >>> I suppose, for CI purposes, using NMake is a way better, than use vs
> >>> solutions.
> >>>
> >>> вт, 26 мая 2020 г. в 16:42, Nikolay Izhikov <[hidden email]>:
> >>>
> >>>> Hello, Igor.
> >>>>
> >>>>> Nikolay, removing support for a certain build system is a breaking
> >>>> change.
> >>>>
> >>>> No, it’s not.
> >>>> Why do you think so?
> >>>>
> >>>> Development environment and build system is a subject to change in any
> >>>> project.
> >>>> We can drop or add support of any build system any time we want.
> >>>>
> >>>>> 26 мая 2020 г., в 16:35, Ilya Kasnacheev <[hidden email]>
> >>>> написал(а):
> >>>>>
> >>>>> Hello!
> >>>>>
> >>>>> I don't see why we can't get rid of autotools in a minor release,
> >>>> provided
> >>>>> that cmake actually works. Removing native VS support may be a
> >>> different
> >>>>> thing.
> >>>>>
> >>>>> Build system and precise set of dependencies is not a part of public
> >>> API
> >>>> in
> >>>>> my opinion.
> >>>>>
> >>>>> Regards,
> >>>>> --
> >>>>> Ilya Kasnacheev
> >>>>>
> >>>>>
> >>>>> вт, 26 мая 2020 г. в 16:02, Igor Sapego <[hidden email]>:
> >>>>>
> >>>>>> Great!
> >>>>>>
> >>>>>> Let's start with creating a TC suite for it.
> >>>>>>
> >>>>>> The only concern I have is that it is one more build system
> >>>>>> to support. Should we get rid of autotools in 3.0?
> >>>>>>
> >>>>>> Best Regards,
> >>>>>> Igor
> >>>>>>
> >>>>>>
> >>>>>> On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
> >>>>>> [hidden email]>
> >>>>>> wrote:
> >>>>>>
> >>>>>>> +1. I recently completed a cross-IDE (MS Visual Studio & GCC/GDB)
> >>>> Ignite
> >>>>>>> C++ project and CMake in Ignite C++ would save me a day of effort.
> >>>>>>>
> >>>>>>> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <[hidden email]>:
> >>>>>>>
> >>>>>>>> +1
> >>>>>>>>
> >>>>>>>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
> >>>>>>>> <[hidden email]> wrote:
> >>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Ivan huge +1 with your proposal.
> >>>>>>>>> I had some problems with odbc tests building too, looks like
> >> cmake
> >>>>>> will
> >>>>>>>>> make it more easy.
> >>>>>>>>>> Hello Igniters.
> >>>>>>>>>>
> >>>>>>>>>> I’d like to discuss porting build process of Ignite.C++. I think
> >>>>>> that
> >>>>>>>>> there is time to change it.
> >>>>>>>>>>
> >>>>>>>>>> *Motivation*
> >>>>>>>>>> Currently, it is hard to build Ignite.C++. Different build
> >> process
> >>>>>> for
> >>>>>>>>> windows and linux, lack of building support on Mac OS X (quite
> >>>>>> popular
> >>>>>>> OS
> >>>>>>>>> among developers), absolutely not IDE support, except windows and
> >>>>>> only
> >>>>>>>>> Visual Studio is supported.
> >>>>>>>>>>
> >>>>>>>>>> *Suggestion*
> >>>>>>>>>> I’d suggest to migrate to CMake build system. It is very popular
> >>>>>> among
> >>>>>>>>> open source projects, and in Apache Software Foundation too.
> >>> Notable
> >>>>>>>> user:
> >>>>>>>>> Apache Mesos, Apache Zookeeper (C client offers CMake as an
> >>>>>> alternative
> >>>>>>>> to
> >>>>>>>>> autoconf and only option on windows), Apache Kafka (librdkafka -
> >>>>>> C/C++
> >>>>>>>>> client), Apache Thrift. Popular column-oriented database
> >> ClickHouse
> >>>>>>> also
> >>>>>>>>> uses CMake.
> >>>>>>>>>>
> >>>>>>>>>> CMake is widely supported in many IDE’s on various platforms,
> >>>>>> notably
> >>>>>>>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
> >>>>>>>>>>
> >>>>>>>>>> *Current status*
> >>>>>>>>>>
> >>>>>>>>>> Currently, the most of work is done (see [1]) and tested on Mac
> >>> OS X
> >>>>>>>>> 10.15 (some C++ porting). All tests are run without any flaws,
> >>>>>>> including
> >>>>>>>>> odbc (unixodbc), ssl, thin and thick client, installation, IDE
> >>>>>>>> integration
> >>>>>>>>> (CLion). Next steps is to test linux and windows.
> >>>>>>>>>>
> >>>>>>>>>> But full migration isn’t possible without agreement and help of
> >>>>>>>>> community. Even if most of all you agree, migration requires
> >>>>>> additional
> >>>>>>>>> efforts in TC agents tuning and so on (event though test running
> >>>>>> fully
> >>>>>>>>> automated by CMake CTest).
> >>>>>>>>>>
> >>>>>>>>>> Lets discuss my proposition and idea.
> >>>>>>>>>>
> >>>>>>>>>> [1] -  https://github.com/apache/ignite/pull/7845
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>> Best regards,
> >>>>>>> Alexey
> >>>>>>>
> >>>>>>
> >>>>
> >>>>
> >>>
> >>> --
> >>> Sincerely yours, Ivan Daschinskiy
> >>>
> >>
> >
> >
> > --
> > Sincerely yours, Ivan Daschinskiy
>
>
>

--
Sincerely yours, Ivan Daschinskiy
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Ivan Daschinsky
Ok, PR is ready
https://issues.apache.org/jira/browse/IGNITE-13078

Build tested on Mac OS X 10.15 and Ubuntu 20.04 with CMake 3.17.2 and 3.6.1
Unfortunately, I was not able to test on Windows, but principally it should
works, but minor issues are probable.

Instruction is attached in PR.
Any use reports are welcomed!

вт, 26 мая 2020 г. в 18:51, Ivan Daschinsky <[hidden email]>:

> Stephen, looks great! I do mostly the same things in C++ code. Thank you!
>
> вт, 26 мая 2020 г. в 18:33, Stephen Darlington <
> [hidden email]>:
>
>> Not sure if it’ll help, but I made some changes to get it working on a
>> Mac with the current built system. There may be some code worth taking.
>>
>> https://github.com/apache/ignite/pull/4872 <
>> https://github.com/apache/ignite/pull/4872>
>>
>> Regards,
>> Stephen
>>
>> > On 26 May 2020, at 16:02, Ivan Daschinsky <[hidden email]> wrote:
>> >
>> > I appreciate any help, thank you, Ilya.
>> >
>> > Currently I have a small PR without ticket (link in first post),but I
>> > decided not to file a jira issue before discussion.
>> > Now I see, that this feature are of great interest to community. So I
>> file
>> > a ticket, test myself on my home laptop (ubuntu 20.04)
>> > and add detailed instructions to DEVNOTES.txt in a few days.
>> >
>> > I would be happy if my someone can follow the instruction and write
>> > possible issues.
>> >
>> > I will notify about status update in this thread in next few days.
>> >
>> > Thank you all very much for support!
>> >
>> >
>> > вт, 26 мая 2020 г. в 17:50, Ilya Kasnacheev <[hidden email]
>> >:
>> >
>> >> Hello!
>> >>
>> >> I will assist with checking on Linux if you would contribute a patch.
>> >> Please start with a ticket (or even an IEP maybe?)
>> >>
>> >> Regards,
>> >> --
>> >> Ilya Kasnacheev
>> >>
>> >>
>> >> вт, 26 мая 2020 г. в 16:47, Ivan Daschinsky <[hidden email]>:
>> >>
>> >>> Guys, I will certainly thoroughly test my fix not only unices, but on
>> >>> windows too.
>> >>> And I will describe it very thoroughly.
>> >>>
>> >>> When I was C++ developer (more than 10 years ago), I have not any
>> trouble
>> >>> at all with CMake and Visual Studio 2005.
>> >>> Everything works and works good. Moreover, you can build with NMake,
>> >>> msbuild and generate solutions for development.
>> >>>
>> >>> I suppose, for CI purposes, using NMake is a way better, than use vs
>> >>> solutions.
>> >>>
>> >>> вт, 26 мая 2020 г. в 16:42, Nikolay Izhikov <[hidden email]>:
>> >>>
>> >>>> Hello, Igor.
>> >>>>
>> >>>>> Nikolay, removing support for a certain build system is a breaking
>> >>>> change.
>> >>>>
>> >>>> No, it’s not.
>> >>>> Why do you think so?
>> >>>>
>> >>>> Development environment and build system is a subject to change in
>> any
>> >>>> project.
>> >>>> We can drop or add support of any build system any time we want.
>> >>>>
>> >>>>> 26 мая 2020 г., в 16:35, Ilya Kasnacheev <[hidden email]
>> >
>> >>>> написал(а):
>> >>>>>
>> >>>>> Hello!
>> >>>>>
>> >>>>> I don't see why we can't get rid of autotools in a minor release,
>> >>>> provided
>> >>>>> that cmake actually works. Removing native VS support may be a
>> >>> different
>> >>>>> thing.
>> >>>>>
>> >>>>> Build system and precise set of dependencies is not a part of public
>> >>> API
>> >>>> in
>> >>>>> my opinion.
>> >>>>>
>> >>>>> Regards,
>> >>>>> --
>> >>>>> Ilya Kasnacheev
>> >>>>>
>> >>>>>
>> >>>>> вт, 26 мая 2020 г. в 16:02, Igor Sapego <[hidden email]>:
>> >>>>>
>> >>>>>> Great!
>> >>>>>>
>> >>>>>> Let's start with creating a TC suite for it.
>> >>>>>>
>> >>>>>> The only concern I have is that it is one more build system
>> >>>>>> to support. Should we get rid of autotools in 3.0?
>> >>>>>>
>> >>>>>> Best Regards,
>> >>>>>> Igor
>> >>>>>>
>> >>>>>>
>> >>>>>> On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
>> >>>>>> [hidden email]>
>> >>>>>> wrote:
>> >>>>>>
>> >>>>>>> +1. I recently completed a cross-IDE (MS Visual Studio & GCC/GDB)
>> >>>> Ignite
>> >>>>>>> C++ project and CMake in Ignite C++ would save me a day of effort.
>> >>>>>>>
>> >>>>>>> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <[hidden email]
>> >:
>> >>>>>>>
>> >>>>>>>> +1
>> >>>>>>>>
>> >>>>>>>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
>> >>>>>>>> <[hidden email]> wrote:
>> >>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>> Ivan huge +1 with your proposal.
>> >>>>>>>>> I had some problems with odbc tests building too, looks like
>> >> cmake
>> >>>>>> will
>> >>>>>>>>> make it more easy.
>> >>>>>>>>>> Hello Igniters.
>> >>>>>>>>>>
>> >>>>>>>>>> I’d like to discuss porting build process of Ignite.C++. I
>> think
>> >>>>>> that
>> >>>>>>>>> there is time to change it.
>> >>>>>>>>>>
>> >>>>>>>>>> *Motivation*
>> >>>>>>>>>> Currently, it is hard to build Ignite.C++. Different build
>> >> process
>> >>>>>> for
>> >>>>>>>>> windows and linux, lack of building support on Mac OS X (quite
>> >>>>>> popular
>> >>>>>>> OS
>> >>>>>>>>> among developers), absolutely not IDE support, except windows
>> and
>> >>>>>> only
>> >>>>>>>>> Visual Studio is supported.
>> >>>>>>>>>>
>> >>>>>>>>>> *Suggestion*
>> >>>>>>>>>> I’d suggest to migrate to CMake build system. It is very
>> popular
>> >>>>>> among
>> >>>>>>>>> open source projects, and in Apache Software Foundation too.
>> >>> Notable
>> >>>>>>>> user:
>> >>>>>>>>> Apache Mesos, Apache Zookeeper (C client offers CMake as an
>> >>>>>> alternative
>> >>>>>>>> to
>> >>>>>>>>> autoconf and only option on windows), Apache Kafka (librdkafka -
>> >>>>>> C/C++
>> >>>>>>>>> client), Apache Thrift. Popular column-oriented database
>> >> ClickHouse
>> >>>>>>> also
>> >>>>>>>>> uses CMake.
>> >>>>>>>>>>
>> >>>>>>>>>> CMake is widely supported in many IDE’s on various platforms,
>> >>>>>> notably
>> >>>>>>>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
>> >>>>>>>>>>
>> >>>>>>>>>> *Current status*
>> >>>>>>>>>>
>> >>>>>>>>>> Currently, the most of work is done (see [1]) and tested on Mac
>> >>> OS X
>> >>>>>>>>> 10.15 (some C++ porting). All tests are run without any flaws,
>> >>>>>>> including
>> >>>>>>>>> odbc (unixodbc), ssl, thin and thick client, installation, IDE
>> >>>>>>>> integration
>> >>>>>>>>> (CLion). Next steps is to test linux and windows.
>> >>>>>>>>>>
>> >>>>>>>>>> But full migration isn’t possible without agreement and help of
>> >>>>>>>>> community. Even if most of all you agree, migration requires
>> >>>>>> additional
>> >>>>>>>>> efforts in TC agents tuning and so on (event though test running
>> >>>>>> fully
>> >>>>>>>>> automated by CMake CTest).
>> >>>>>>>>>>
>> >>>>>>>>>> Lets discuss my proposition and idea.
>> >>>>>>>>>>
>> >>>>>>>>>> [1] -  https://github.com/apache/ignite/pull/7845
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> --
>> >>>>>>> Best regards,
>> >>>>>>> Alexey
>> >>>>>>>
>> >>>>>>
>> >>>>
>> >>>>
>> >>>
>> >>> --
>> >>> Sincerely yours, Ivan Daschinskiy
>> >>>
>> >>
>> >
>> >
>> > --
>> > Sincerely yours, Ivan Daschinskiy
>>
>>
>>
>
> --
> Sincerely yours, Ivan Daschinskiy
>


--
Sincerely yours, Ivan Daschinskiy
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Ilya Kasnacheev
Hello!

Looks good to me! But we probably also ask Igor to take a look.

Compiled debug and release, without and with odbc, checked running thick
node and ODBC connection on Linux.

Regards,
--
Ilya Kasnacheev


чт, 28 мая 2020 г. в 17:31, Ivan Daschinsky <[hidden email]>:

> Ok, PR is ready
> https://issues.apache.org/jira/browse/IGNITE-13078
>
> Build tested on Mac OS X 10.15 and Ubuntu 20.04 with CMake 3.17.2 and 3.6.1
> Unfortunately, I was not able to test on Windows, but principally it should
> works, but minor issues are probable.
>
> Instruction is attached in PR.
> Any use reports are welcomed!
>
> вт, 26 мая 2020 г. в 18:51, Ivan Daschinsky <[hidden email]>:
>
> > Stephen, looks great! I do mostly the same things in C++ code. Thank you!
> >
> > вт, 26 мая 2020 г. в 18:33, Stephen Darlington <
> > [hidden email]>:
> >
> >> Not sure if it’ll help, but I made some changes to get it working on a
> >> Mac with the current built system. There may be some code worth taking.
> >>
> >> https://github.com/apache/ignite/pull/4872 <
> >> https://github.com/apache/ignite/pull/4872>
> >>
> >> Regards,
> >> Stephen
> >>
> >> > On 26 May 2020, at 16:02, Ivan Daschinsky <[hidden email]>
> wrote:
> >> >
> >> > I appreciate any help, thank you, Ilya.
> >> >
> >> > Currently I have a small PR without ticket (link in first post),but I
> >> > decided not to file a jira issue before discussion.
> >> > Now I see, that this feature are of great interest to community. So I
> >> file
> >> > a ticket, test myself on my home laptop (ubuntu 20.04)
> >> > and add detailed instructions to DEVNOTES.txt in a few days.
> >> >
> >> > I would be happy if my someone can follow the instruction and write
> >> > possible issues.
> >> >
> >> > I will notify about status update in this thread in next few days.
> >> >
> >> > Thank you all very much for support!
> >> >
> >> >
> >> > вт, 26 мая 2020 г. в 17:50, Ilya Kasnacheev <
> [hidden email]
> >> >:
> >> >
> >> >> Hello!
> >> >>
> >> >> I will assist with checking on Linux if you would contribute a patch.
> >> >> Please start with a ticket (or even an IEP maybe?)
> >> >>
> >> >> Regards,
> >> >> --
> >> >> Ilya Kasnacheev
> >> >>
> >> >>
> >> >> вт, 26 мая 2020 г. в 16:47, Ivan Daschinsky <[hidden email]>:
> >> >>
> >> >>> Guys, I will certainly thoroughly test my fix not only unices, but
> on
> >> >>> windows too.
> >> >>> And I will describe it very thoroughly.
> >> >>>
> >> >>> When I was C++ developer (more than 10 years ago), I have not any
> >> trouble
> >> >>> at all with CMake and Visual Studio 2005.
> >> >>> Everything works and works good. Moreover, you can build with NMake,
> >> >>> msbuild and generate solutions for development.
> >> >>>
> >> >>> I suppose, for CI purposes, using NMake is a way better, than use vs
> >> >>> solutions.
> >> >>>
> >> >>> вт, 26 мая 2020 г. в 16:42, Nikolay Izhikov <[hidden email]>:
> >> >>>
> >> >>>> Hello, Igor.
> >> >>>>
> >> >>>>> Nikolay, removing support for a certain build system is a breaking
> >> >>>> change.
> >> >>>>
> >> >>>> No, it’s not.
> >> >>>> Why do you think so?
> >> >>>>
> >> >>>> Development environment and build system is a subject to change in
> >> any
> >> >>>> project.
> >> >>>> We can drop or add support of any build system any time we want.
> >> >>>>
> >> >>>>> 26 мая 2020 г., в 16:35, Ilya Kasnacheev <
> [hidden email]
> >> >
> >> >>>> написал(а):
> >> >>>>>
> >> >>>>> Hello!
> >> >>>>>
> >> >>>>> I don't see why we can't get rid of autotools in a minor release,
> >> >>>> provided
> >> >>>>> that cmake actually works. Removing native VS support may be a
> >> >>> different
> >> >>>>> thing.
> >> >>>>>
> >> >>>>> Build system and precise set of dependencies is not a part of
> public
> >> >>> API
> >> >>>> in
> >> >>>>> my opinion.
> >> >>>>>
> >> >>>>> Regards,
> >> >>>>> --
> >> >>>>> Ilya Kasnacheev
> >> >>>>>
> >> >>>>>
> >> >>>>> вт, 26 мая 2020 г. в 16:02, Igor Sapego <[hidden email]>:
> >> >>>>>
> >> >>>>>> Great!
> >> >>>>>>
> >> >>>>>> Let's start with creating a TC suite for it.
> >> >>>>>>
> >> >>>>>> The only concern I have is that it is one more build system
> >> >>>>>> to support. Should we get rid of autotools in 3.0?
> >> >>>>>>
> >> >>>>>> Best Regards,
> >> >>>>>> Igor
> >> >>>>>>
> >> >>>>>>
> >> >>>>>> On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
> >> >>>>>> [hidden email]>
> >> >>>>>> wrote:
> >> >>>>>>
> >> >>>>>>> +1. I recently completed a cross-IDE (MS Visual Studio &
> GCC/GDB)
> >> >>>> Ignite
> >> >>>>>>> C++ project and CMake in Ignite C++ would save me a day of
> effort.
> >> >>>>>>>
> >> >>>>>>> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <
> [hidden email]
> >> >:
> >> >>>>>>>
> >> >>>>>>>> +1
> >> >>>>>>>>
> >> >>>>>>>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
> >> >>>>>>>> <[hidden email]> wrote:
> >> >>>>>>>>
> >> >>>>>>>>>
> >> >>>>>>>>> Ivan huge +1 with your proposal.
> >> >>>>>>>>> I had some problems with odbc tests building too, looks like
> >> >> cmake
> >> >>>>>> will
> >> >>>>>>>>> make it more easy.
> >> >>>>>>>>>> Hello Igniters.
> >> >>>>>>>>>>
> >> >>>>>>>>>> I’d like to discuss porting build process of Ignite.C++. I
> >> think
> >> >>>>>> that
> >> >>>>>>>>> there is time to change it.
> >> >>>>>>>>>>
> >> >>>>>>>>>> *Motivation*
> >> >>>>>>>>>> Currently, it is hard to build Ignite.C++. Different build
> >> >> process
> >> >>>>>> for
> >> >>>>>>>>> windows and linux, lack of building support on Mac OS X (quite
> >> >>>>>> popular
> >> >>>>>>> OS
> >> >>>>>>>>> among developers), absolutely not IDE support, except windows
> >> and
> >> >>>>>> only
> >> >>>>>>>>> Visual Studio is supported.
> >> >>>>>>>>>>
> >> >>>>>>>>>> *Suggestion*
> >> >>>>>>>>>> I’d suggest to migrate to CMake build system. It is very
> >> popular
> >> >>>>>> among
> >> >>>>>>>>> open source projects, and in Apache Software Foundation too.
> >> >>> Notable
> >> >>>>>>>> user:
> >> >>>>>>>>> Apache Mesos, Apache Zookeeper (C client offers CMake as an
> >> >>>>>> alternative
> >> >>>>>>>> to
> >> >>>>>>>>> autoconf and only option on windows), Apache Kafka
> (librdkafka -
> >> >>>>>> C/C++
> >> >>>>>>>>> client), Apache Thrift. Popular column-oriented database
> >> >> ClickHouse
> >> >>>>>>> also
> >> >>>>>>>>> uses CMake.
> >> >>>>>>>>>>
> >> >>>>>>>>>> CMake is widely supported in many IDE’s on various platforms,
> >> >>>>>> notably
> >> >>>>>>>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
> >> >>>>>>>>>>
> >> >>>>>>>>>> *Current status*
> >> >>>>>>>>>>
> >> >>>>>>>>>> Currently, the most of work is done (see [1]) and tested on
> Mac
> >> >>> OS X
> >> >>>>>>>>> 10.15 (some C++ porting). All tests are run without any flaws,
> >> >>>>>>> including
> >> >>>>>>>>> odbc (unixodbc), ssl, thin and thick client, installation, IDE
> >> >>>>>>>> integration
> >> >>>>>>>>> (CLion). Next steps is to test linux and windows.
> >> >>>>>>>>>>
> >> >>>>>>>>>> But full migration isn’t possible without agreement and help
> of
> >> >>>>>>>>> community. Even if most of all you agree, migration requires
> >> >>>>>> additional
> >> >>>>>>>>> efforts in TC agents tuning and so on (event though test
> running
> >> >>>>>> fully
> >> >>>>>>>>> automated by CMake CTest).
> >> >>>>>>>>>>
> >> >>>>>>>>>> Lets discuss my proposition and idea.
> >> >>>>>>>>>>
> >> >>>>>>>>>> [1] -  https://github.com/apache/ignite/pull/7845
> >> >>>>>>>>>>
> >> >>>>>>>>>>
> >> >>>>>>>>>>
> >> >>>>>>>>>
> >> >>>>>>>>>
> >> >>>>>>>>>
> >> >>>>>>>>>
> >> >>>>>>>>
> >> >>>>>>>
> >> >>>>>>>
> >> >>>>>>> --
> >> >>>>>>> Best regards,
> >> >>>>>>> Alexey
> >> >>>>>>>
> >> >>>>>>
> >> >>>>
> >> >>>>
> >> >>>
> >> >>> --
> >> >>> Sincerely yours, Ivan Daschinskiy
> >> >>>
> >> >>
> >> >
> >> >
> >> > --
> >> > Sincerely yours, Ivan Daschinskiy
> >>
> >>
> >>
> >
> > --
> > Sincerely yours, Ivan Daschinskiy
> >
>
>
> --
> Sincerely yours, Ivan Daschinskiy
>
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Ivan Daschinsky
Ilya, thanks a lot! What about tests? I found one flag that must be
supplied to boost.tests.
This flag should fix JVM crash of C++ suites on Linux.

Zhenya Stanilovsky and me have checked, that without this flag tests failed
with SIGSEGV early (boost catch this signal from jvm, but it is ok for jvm).
Flag is -catch_system_errors=no. I added it to CTest runner. You can
invoke it manually and using make test ARGS="-V"



пт, 29 мая 2020 г. в 11:54, Ilya Kasnacheev <[hidden email]>:

> Hello!
>
> Looks good to me! But we probably also ask Igor to take a look.
>
> Compiled debug and release, without and with odbc, checked running thick
> node and ODBC connection on Linux.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> чт, 28 мая 2020 г. в 17:31, Ivan Daschinsky <[hidden email]>:
>
> > Ok, PR is ready
> > https://issues.apache.org/jira/browse/IGNITE-13078
> >
> > Build tested on Mac OS X 10.15 and Ubuntu 20.04 with CMake 3.17.2 and
> 3.6.1
> > Unfortunately, I was not able to test on Windows, but principally it
> should
> > works, but minor issues are probable.
> >
> > Instruction is attached in PR.
> > Any use reports are welcomed!
> >
> > вт, 26 мая 2020 г. в 18:51, Ivan Daschinsky <[hidden email]>:
> >
> > > Stephen, looks great! I do mostly the same things in C++ code. Thank
> you!
> > >
> > > вт, 26 мая 2020 г. в 18:33, Stephen Darlington <
> > > [hidden email]>:
> > >
> > >> Not sure if it’ll help, but I made some changes to get it working on a
> > >> Mac with the current built system. There may be some code worth
> taking.
> > >>
> > >> https://github.com/apache/ignite/pull/4872 <
> > >> https://github.com/apache/ignite/pull/4872>
> > >>
> > >> Regards,
> > >> Stephen
> > >>
> > >> > On 26 May 2020, at 16:02, Ivan Daschinsky <[hidden email]>
> > wrote:
> > >> >
> > >> > I appreciate any help, thank you, Ilya.
> > >> >
> > >> > Currently I have a small PR without ticket (link in first post),but
> I
> > >> > decided not to file a jira issue before discussion.
> > >> > Now I see, that this feature are of great interest to community. So
> I
> > >> file
> > >> > a ticket, test myself on my home laptop (ubuntu 20.04)
> > >> > and add detailed instructions to DEVNOTES.txt in a few days.
> > >> >
> > >> > I would be happy if my someone can follow the instruction and write
> > >> > possible issues.
> > >> >
> > >> > I will notify about status update in this thread in next few days.
> > >> >
> > >> > Thank you all very much for support!
> > >> >
> > >> >
> > >> > вт, 26 мая 2020 г. в 17:50, Ilya Kasnacheev <
> > [hidden email]
> > >> >:
> > >> >
> > >> >> Hello!
> > >> >>
> > >> >> I will assist with checking on Linux if you would contribute a
> patch.
> > >> >> Please start with a ticket (or even an IEP maybe?)
> > >> >>
> > >> >> Regards,
> > >> >> --
> > >> >> Ilya Kasnacheev
> > >> >>
> > >> >>
> > >> >> вт, 26 мая 2020 г. в 16:47, Ivan Daschinsky <[hidden email]>:
> > >> >>
> > >> >>> Guys, I will certainly thoroughly test my fix not only unices, but
> > on
> > >> >>> windows too.
> > >> >>> And I will describe it very thoroughly.
> > >> >>>
> > >> >>> When I was C++ developer (more than 10 years ago), I have not any
> > >> trouble
> > >> >>> at all with CMake and Visual Studio 2005.
> > >> >>> Everything works and works good. Moreover, you can build with
> NMake,
> > >> >>> msbuild and generate solutions for development.
> > >> >>>
> > >> >>> I suppose, for CI purposes, using NMake is a way better, than use
> vs
> > >> >>> solutions.
> > >> >>>
> > >> >>> вт, 26 мая 2020 г. в 16:42, Nikolay Izhikov <[hidden email]
> >:
> > >> >>>
> > >> >>>> Hello, Igor.
> > >> >>>>
> > >> >>>>> Nikolay, removing support for a certain build system is a
> breaking
> > >> >>>> change.
> > >> >>>>
> > >> >>>> No, it’s not.
> > >> >>>> Why do you think so?
> > >> >>>>
> > >> >>>> Development environment and build system is a subject to change
> in
> > >> any
> > >> >>>> project.
> > >> >>>> We can drop or add support of any build system any time we want.
> > >> >>>>
> > >> >>>>> 26 мая 2020 г., в 16:35, Ilya Kasnacheev <
> > [hidden email]
> > >> >
> > >> >>>> написал(а):
> > >> >>>>>
> > >> >>>>> Hello!
> > >> >>>>>
> > >> >>>>> I don't see why we can't get rid of autotools in a minor
> release,
> > >> >>>> provided
> > >> >>>>> that cmake actually works. Removing native VS support may be a
> > >> >>> different
> > >> >>>>> thing.
> > >> >>>>>
> > >> >>>>> Build system and precise set of dependencies is not a part of
> > public
> > >> >>> API
> > >> >>>> in
> > >> >>>>> my opinion.
> > >> >>>>>
> > >> >>>>> Regards,
> > >> >>>>> --
> > >> >>>>> Ilya Kasnacheev
> > >> >>>>>
> > >> >>>>>
> > >> >>>>> вт, 26 мая 2020 г. в 16:02, Igor Sapego <[hidden email]>:
> > >> >>>>>
> > >> >>>>>> Great!
> > >> >>>>>>
> > >> >>>>>> Let's start with creating a TC suite for it.
> > >> >>>>>>
> > >> >>>>>> The only concern I have is that it is one more build system
> > >> >>>>>> to support. Should we get rid of autotools in 3.0?
> > >> >>>>>>
> > >> >>>>>> Best Regards,
> > >> >>>>>> Igor
> > >> >>>>>>
> > >> >>>>>>
> > >> >>>>>> On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
> > >> >>>>>> [hidden email]>
> > >> >>>>>> wrote:
> > >> >>>>>>
> > >> >>>>>>> +1. I recently completed a cross-IDE (MS Visual Studio &
> > GCC/GDB)
> > >> >>>> Ignite
> > >> >>>>>>> C++ project and CMake in Ignite C++ would save me a day of
> > effort.
> > >> >>>>>>>
> > >> >>>>>>> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <
> > [hidden email]
> > >> >:
> > >> >>>>>>>
> > >> >>>>>>>> +1
> > >> >>>>>>>>
> > >> >>>>>>>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
> > >> >>>>>>>> <[hidden email]> wrote:
> > >> >>>>>>>>
> > >> >>>>>>>>>
> > >> >>>>>>>>> Ivan huge +1 with your proposal.
> > >> >>>>>>>>> I had some problems with odbc tests building too, looks like
> > >> >> cmake
> > >> >>>>>> will
> > >> >>>>>>>>> make it more easy.
> > >> >>>>>>>>>> Hello Igniters.
> > >> >>>>>>>>>>
> > >> >>>>>>>>>> I’d like to discuss porting build process of Ignite.C++. I
> > >> think
> > >> >>>>>> that
> > >> >>>>>>>>> there is time to change it.
> > >> >>>>>>>>>>
> > >> >>>>>>>>>> *Motivation*
> > >> >>>>>>>>>> Currently, it is hard to build Ignite.C++. Different build
> > >> >> process
> > >> >>>>>> for
> > >> >>>>>>>>> windows and linux, lack of building support on Mac OS X
> (quite
> > >> >>>>>> popular
> > >> >>>>>>> OS
> > >> >>>>>>>>> among developers), absolutely not IDE support, except
> windows
> > >> and
> > >> >>>>>> only
> > >> >>>>>>>>> Visual Studio is supported.
> > >> >>>>>>>>>>
> > >> >>>>>>>>>> *Suggestion*
> > >> >>>>>>>>>> I’d suggest to migrate to CMake build system. It is very
> > >> popular
> > >> >>>>>> among
> > >> >>>>>>>>> open source projects, and in Apache Software Foundation too.
> > >> >>> Notable
> > >> >>>>>>>> user:
> > >> >>>>>>>>> Apache Mesos, Apache Zookeeper (C client offers CMake as an
> > >> >>>>>> alternative
> > >> >>>>>>>> to
> > >> >>>>>>>>> autoconf and only option on windows), Apache Kafka
> > (librdkafka -
> > >> >>>>>> C/C++
> > >> >>>>>>>>> client), Apache Thrift. Popular column-oriented database
> > >> >> ClickHouse
> > >> >>>>>>> also
> > >> >>>>>>>>> uses CMake.
> > >> >>>>>>>>>>
> > >> >>>>>>>>>> CMake is widely supported in many IDE’s on various
> platforms,
> > >> >>>>>> notably
> > >> >>>>>>>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
> > >> >>>>>>>>>>
> > >> >>>>>>>>>> *Current status*
> > >> >>>>>>>>>>
> > >> >>>>>>>>>> Currently, the most of work is done (see [1]) and tested on
> > Mac
> > >> >>> OS X
> > >> >>>>>>>>> 10.15 (some C++ porting). All tests are run without any
> flaws,
> > >> >>>>>>> including
> > >> >>>>>>>>> odbc (unixodbc), ssl, thin and thick client, installation,
> IDE
> > >> >>>>>>>> integration
> > >> >>>>>>>>> (CLion). Next steps is to test linux and windows.
> > >> >>>>>>>>>>
> > >> >>>>>>>>>> But full migration isn’t possible without agreement and
> help
> > of
> > >> >>>>>>>>> community. Even if most of all you agree, migration requires
> > >> >>>>>> additional
> > >> >>>>>>>>> efforts in TC agents tuning and so on (event though test
> > running
> > >> >>>>>> fully
> > >> >>>>>>>>> automated by CMake CTest).
> > >> >>>>>>>>>>
> > >> >>>>>>>>>> Lets discuss my proposition and idea.
> > >> >>>>>>>>>>
> > >> >>>>>>>>>> [1] -  https://github.com/apache/ignite/pull/7845
> > >> >>>>>>>>>>
> > >> >>>>>>>>>>
> > >> >>>>>>>>>>
> > >> >>>>>>>>>
> > >> >>>>>>>>>
> > >> >>>>>>>>>
> > >> >>>>>>>>>
> > >> >>>>>>>>
> > >> >>>>>>>
> > >> >>>>>>>
> > >> >>>>>>> --
> > >> >>>>>>> Best regards,
> > >> >>>>>>> Alexey
> > >> >>>>>>>
> > >> >>>>>>
> > >> >>>>
> > >> >>>>
> > >> >>>
> > >> >>> --
> > >> >>> Sincerely yours, Ivan Daschinskiy
> > >> >>>
> > >> >>
> > >> >
> > >> >
> > >> > --
> > >> > Sincerely yours, Ivan Daschinskiy
> > >>
> > >>
> > >>
> > >
> > > --
> > > Sincerely yours, Ivan Daschinskiy
> > >
> >
> >
> > --
> > Sincerely yours, Ivan Daschinskiy
> >
>


--
Sincerely yours, Ivan Daschinskiy
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Ivan Daschinsky
Also without with flag we can observe many failures of suites on TC

https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_PlatformCLinux?branch=%3Cdefault%3E&mode=builds#all-projects


пт, 29 мая 2020 г. в 12:20, Ivan Daschinsky <[hidden email]>:

> Ilya, thanks a lot! What about tests? I found one flag that must be
> supplied to boost.tests.
> This flag should fix JVM crash of C++ suites on Linux.
>
> Zhenya Stanilovsky and me have checked, that without this flag tests
> failed with SIGSEGV early (boost catch this signal from jvm, but it is ok
> for jvm).
> Flag is -catch_system_errors=no. I added it to CTest runner. You can
> invoke it manually and using make test ARGS="-V"
>
>
>
> пт, 29 мая 2020 г. в 11:54, Ilya Kasnacheev <[hidden email]>:
>
>> Hello!
>>
>> Looks good to me! But we probably also ask Igor to take a look.
>>
>> Compiled debug and release, without and with odbc, checked running thick
>> node and ODBC connection on Linux.
>>
>> Regards,
>> --
>> Ilya Kasnacheev
>>
>>
>> чт, 28 мая 2020 г. в 17:31, Ivan Daschinsky <[hidden email]>:
>>
>> > Ok, PR is ready
>> > https://issues.apache.org/jira/browse/IGNITE-13078
>> >
>> > Build tested on Mac OS X 10.15 and Ubuntu 20.04 with CMake 3.17.2 and
>> 3.6.1
>> > Unfortunately, I was not able to test on Windows, but principally it
>> should
>> > works, but minor issues are probable.
>> >
>> > Instruction is attached in PR.
>> > Any use reports are welcomed!
>> >
>> > вт, 26 мая 2020 г. в 18:51, Ivan Daschinsky <[hidden email]>:
>> >
>> > > Stephen, looks great! I do mostly the same things in C++ code. Thank
>> you!
>> > >
>> > > вт, 26 мая 2020 г. в 18:33, Stephen Darlington <
>> > > [hidden email]>:
>> > >
>> > >> Not sure if it’ll help, but I made some changes to get it working on
>> a
>> > >> Mac with the current built system. There may be some code worth
>> taking.
>> > >>
>> > >> https://github.com/apache/ignite/pull/4872 <
>> > >> https://github.com/apache/ignite/pull/4872>
>> > >>
>> > >> Regards,
>> > >> Stephen
>> > >>
>> > >> > On 26 May 2020, at 16:02, Ivan Daschinsky <[hidden email]>
>> > wrote:
>> > >> >
>> > >> > I appreciate any help, thank you, Ilya.
>> > >> >
>> > >> > Currently I have a small PR without ticket (link in first
>> post),but I
>> > >> > decided not to file a jira issue before discussion.
>> > >> > Now I see, that this feature are of great interest to community.
>> So I
>> > >> file
>> > >> > a ticket, test myself on my home laptop (ubuntu 20.04)
>> > >> > and add detailed instructions to DEVNOTES.txt in a few days.
>> > >> >
>> > >> > I would be happy if my someone can follow the instruction and write
>> > >> > possible issues.
>> > >> >
>> > >> > I will notify about status update in this thread in next few days.
>> > >> >
>> > >> > Thank you all very much for support!
>> > >> >
>> > >> >
>> > >> > вт, 26 мая 2020 г. в 17:50, Ilya Kasnacheev <
>> > [hidden email]
>> > >> >:
>> > >> >
>> > >> >> Hello!
>> > >> >>
>> > >> >> I will assist with checking on Linux if you would contribute a
>> patch.
>> > >> >> Please start with a ticket (or even an IEP maybe?)
>> > >> >>
>> > >> >> Regards,
>> > >> >> --
>> > >> >> Ilya Kasnacheev
>> > >> >>
>> > >> >>
>> > >> >> вт, 26 мая 2020 г. в 16:47, Ivan Daschinsky <[hidden email]
>> >:
>> > >> >>
>> > >> >>> Guys, I will certainly thoroughly test my fix not only unices,
>> but
>> > on
>> > >> >>> windows too.
>> > >> >>> And I will describe it very thoroughly.
>> > >> >>>
>> > >> >>> When I was C++ developer (more than 10 years ago), I have not any
>> > >> trouble
>> > >> >>> at all with CMake and Visual Studio 2005.
>> > >> >>> Everything works and works good. Moreover, you can build with
>> NMake,
>> > >> >>> msbuild and generate solutions for development.
>> > >> >>>
>> > >> >>> I suppose, for CI purposes, using NMake is a way better, than
>> use vs
>> > >> >>> solutions.
>> > >> >>>
>> > >> >>> вт, 26 мая 2020 г. в 16:42, Nikolay Izhikov <[hidden email]
>> >:
>> > >> >>>
>> > >> >>>> Hello, Igor.
>> > >> >>>>
>> > >> >>>>> Nikolay, removing support for a certain build system is a
>> breaking
>> > >> >>>> change.
>> > >> >>>>
>> > >> >>>> No, it’s not.
>> > >> >>>> Why do you think so?
>> > >> >>>>
>> > >> >>>> Development environment and build system is a subject to change
>> in
>> > >> any
>> > >> >>>> project.
>> > >> >>>> We can drop or add support of any build system any time we want.
>> > >> >>>>
>> > >> >>>>> 26 мая 2020 г., в 16:35, Ilya Kasnacheev <
>> > [hidden email]
>> > >> >
>> > >> >>>> написал(а):
>> > >> >>>>>
>> > >> >>>>> Hello!
>> > >> >>>>>
>> > >> >>>>> I don't see why we can't get rid of autotools in a minor
>> release,
>> > >> >>>> provided
>> > >> >>>>> that cmake actually works. Removing native VS support may be a
>> > >> >>> different
>> > >> >>>>> thing.
>> > >> >>>>>
>> > >> >>>>> Build system and precise set of dependencies is not a part of
>> > public
>> > >> >>> API
>> > >> >>>> in
>> > >> >>>>> my opinion.
>> > >> >>>>>
>> > >> >>>>> Regards,
>> > >> >>>>> --
>> > >> >>>>> Ilya Kasnacheev
>> > >> >>>>>
>> > >> >>>>>
>> > >> >>>>> вт, 26 мая 2020 г. в 16:02, Igor Sapego <[hidden email]>:
>> > >> >>>>>
>> > >> >>>>>> Great!
>> > >> >>>>>>
>> > >> >>>>>> Let's start with creating a TC suite for it.
>> > >> >>>>>>
>> > >> >>>>>> The only concern I have is that it is one more build system
>> > >> >>>>>> to support. Should we get rid of autotools in 3.0?
>> > >> >>>>>>
>> > >> >>>>>> Best Regards,
>> > >> >>>>>> Igor
>> > >> >>>>>>
>> > >> >>>>>>
>> > >> >>>>>> On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
>> > >> >>>>>> [hidden email]>
>> > >> >>>>>> wrote:
>> > >> >>>>>>
>> > >> >>>>>>> +1. I recently completed a cross-IDE (MS Visual Studio &
>> > GCC/GDB)
>> > >> >>>> Ignite
>> > >> >>>>>>> C++ project and CMake in Ignite C++ would save me a day of
>> > effort.
>> > >> >>>>>>>
>> > >> >>>>>>> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <
>> > [hidden email]
>> > >> >:
>> > >> >>>>>>>
>> > >> >>>>>>>> +1
>> > >> >>>>>>>>
>> > >> >>>>>>>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
>> > >> >>>>>>>> <[hidden email]> wrote:
>> > >> >>>>>>>>
>> > >> >>>>>>>>>
>> > >> >>>>>>>>> Ivan huge +1 with your proposal.
>> > >> >>>>>>>>> I had some problems with odbc tests building too, looks
>> like
>> > >> >> cmake
>> > >> >>>>>> will
>> > >> >>>>>>>>> make it more easy.
>> > >> >>>>>>>>>> Hello Igniters.
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>> I’d like to discuss porting build process of Ignite.C++. I
>> > >> think
>> > >> >>>>>> that
>> > >> >>>>>>>>> there is time to change it.
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>> *Motivation*
>> > >> >>>>>>>>>> Currently, it is hard to build Ignite.C++. Different build
>> > >> >> process
>> > >> >>>>>> for
>> > >> >>>>>>>>> windows and linux, lack of building support on Mac OS X
>> (quite
>> > >> >>>>>> popular
>> > >> >>>>>>> OS
>> > >> >>>>>>>>> among developers), absolutely not IDE support, except
>> windows
>> > >> and
>> > >> >>>>>> only
>> > >> >>>>>>>>> Visual Studio is supported.
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>> *Suggestion*
>> > >> >>>>>>>>>> I’d suggest to migrate to CMake build system. It is very
>> > >> popular
>> > >> >>>>>> among
>> > >> >>>>>>>>> open source projects, and in Apache Software Foundation
>> too.
>> > >> >>> Notable
>> > >> >>>>>>>> user:
>> > >> >>>>>>>>> Apache Mesos, Apache Zookeeper (C client offers CMake as an
>> > >> >>>>>> alternative
>> > >> >>>>>>>> to
>> > >> >>>>>>>>> autoconf and only option on windows), Apache Kafka
>> > (librdkafka -
>> > >> >>>>>> C/C++
>> > >> >>>>>>>>> client), Apache Thrift. Popular column-oriented database
>> > >> >> ClickHouse
>> > >> >>>>>>> also
>> > >> >>>>>>>>> uses CMake.
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>> CMake is widely supported in many IDE’s on various
>> platforms,
>> > >> >>>>>> notably
>> > >> >>>>>>>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>> *Current status*
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>> Currently, the most of work is done (see [1]) and tested
>> on
>> > Mac
>> > >> >>> OS X
>> > >> >>>>>>>>> 10.15 (some C++ porting). All tests are run without any
>> flaws,
>> > >> >>>>>>> including
>> > >> >>>>>>>>> odbc (unixodbc), ssl, thin and thick client, installation,
>> IDE
>> > >> >>>>>>>> integration
>> > >> >>>>>>>>> (CLion). Next steps is to test linux and windows.
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>> But full migration isn’t possible without agreement and
>> help
>> > of
>> > >> >>>>>>>>> community. Even if most of all you agree, migration
>> requires
>> > >> >>>>>> additional
>> > >> >>>>>>>>> efforts in TC agents tuning and so on (event though test
>> > running
>> > >> >>>>>> fully
>> > >> >>>>>>>>> automated by CMake CTest).
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>> Lets discuss my proposition and idea.
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>> [1] -  https://github.com/apache/ignite/pull/7845
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>>
>> > >> >>>>>>>>>
>> > >> >>>>>>>>>
>> > >> >>>>>>>>>
>> > >> >>>>>>>>>
>> > >> >>>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>> --
>> > >> >>>>>>> Best regards,
>> > >> >>>>>>> Alexey
>> > >> >>>>>>>
>> > >> >>>>>>
>> > >> >>>>
>> > >> >>>>
>> > >> >>>
>> > >> >>> --
>> > >> >>> Sincerely yours, Ivan Daschinskiy
>> > >> >>>
>> > >> >>
>> > >> >
>> > >> >
>> > >> > --
>> > >> > Sincerely yours, Ivan Daschinskiy
>> > >>
>> > >>
>> > >>
>> > >
>> > > --
>> > > Sincerely yours, Ivan Daschinskiy
>> > >
>> >
>> >
>> > --
>> > Sincerely yours, Ivan Daschinskiy
>> >
>>
>
>
> --
> Sincerely yours, Ivan Daschinskiy
>


--
Sincerely yours, Ivan Daschinskiy
Reply | Threaded
Open this post in threaded view
|

Re: [DISCUSSION] Ignite.C++ and CMake

Ilya Kasnacheev
In reply to this post by Ivan Daschinsky
Hello!

I didn't check tests since I don't develop AI C++, merely use it as user.
That's where we should wait for Igor Sapego to check.

Regards,
--
Ilya Kasnacheev


пт, 29 мая 2020 г. в 12:20, Ivan Daschinsky <[hidden email]>:

> Ilya, thanks a lot! What about tests? I found one flag that must be
> supplied to boost.tests.
> This flag should fix JVM crash of C++ suites on Linux.
>
> Zhenya Stanilovsky and me have checked, that without this flag tests failed
> with SIGSEGV early (boost catch this signal from jvm, but it is ok for
> jvm).
> Flag is -catch_system_errors=no. I added it to CTest runner. You can
> invoke it manually and using make test ARGS="-V"
>
>
>
> пт, 29 мая 2020 г. в 11:54, Ilya Kasnacheev <[hidden email]>:
>
> > Hello!
> >
> > Looks good to me! But we probably also ask Igor to take a look.
> >
> > Compiled debug and release, without and with odbc, checked running thick
> > node and ODBC connection on Linux.
> >
> > Regards,
> > --
> > Ilya Kasnacheev
> >
> >
> > чт, 28 мая 2020 г. в 17:31, Ivan Daschinsky <[hidden email]>:
> >
> > > Ok, PR is ready
> > > https://issues.apache.org/jira/browse/IGNITE-13078
> > >
> > > Build tested on Mac OS X 10.15 and Ubuntu 20.04 with CMake 3.17.2 and
> > 3.6.1
> > > Unfortunately, I was not able to test on Windows, but principally it
> > should
> > > works, but minor issues are probable.
> > >
> > > Instruction is attached in PR.
> > > Any use reports are welcomed!
> > >
> > > вт, 26 мая 2020 г. в 18:51, Ivan Daschinsky <[hidden email]>:
> > >
> > > > Stephen, looks great! I do mostly the same things in C++ code. Thank
> > you!
> > > >
> > > > вт, 26 мая 2020 г. в 18:33, Stephen Darlington <
> > > > [hidden email]>:
> > > >
> > > >> Not sure if it’ll help, but I made some changes to get it working
> on a
> > > >> Mac with the current built system. There may be some code worth
> > taking.
> > > >>
> > > >> https://github.com/apache/ignite/pull/4872 <
> > > >> https://github.com/apache/ignite/pull/4872>
> > > >>
> > > >> Regards,
> > > >> Stephen
> > > >>
> > > >> > On 26 May 2020, at 16:02, Ivan Daschinsky <[hidden email]>
> > > wrote:
> > > >> >
> > > >> > I appreciate any help, thank you, Ilya.
> > > >> >
> > > >> > Currently I have a small PR without ticket (link in first
> post),but
> > I
> > > >> > decided not to file a jira issue before discussion.
> > > >> > Now I see, that this feature are of great interest to community.
> So
> > I
> > > >> file
> > > >> > a ticket, test myself on my home laptop (ubuntu 20.04)
> > > >> > and add detailed instructions to DEVNOTES.txt in a few days.
> > > >> >
> > > >> > I would be happy if my someone can follow the instruction and
> write
> > > >> > possible issues.
> > > >> >
> > > >> > I will notify about status update in this thread in next few days.
> > > >> >
> > > >> > Thank you all very much for support!
> > > >> >
> > > >> >
> > > >> > вт, 26 мая 2020 г. в 17:50, Ilya Kasnacheev <
> > > [hidden email]
> > > >> >:
> > > >> >
> > > >> >> Hello!
> > > >> >>
> > > >> >> I will assist with checking on Linux if you would contribute a
> > patch.
> > > >> >> Please start with a ticket (or even an IEP maybe?)
> > > >> >>
> > > >> >> Regards,
> > > >> >> --
> > > >> >> Ilya Kasnacheev
> > > >> >>
> > > >> >>
> > > >> >> вт, 26 мая 2020 г. в 16:47, Ivan Daschinsky <[hidden email]
> >:
> > > >> >>
> > > >> >>> Guys, I will certainly thoroughly test my fix not only unices,
> but
> > > on
> > > >> >>> windows too.
> > > >> >>> And I will describe it very thoroughly.
> > > >> >>>
> > > >> >>> When I was C++ developer (more than 10 years ago), I have not
> any
> > > >> trouble
> > > >> >>> at all with CMake and Visual Studio 2005.
> > > >> >>> Everything works and works good. Moreover, you can build with
> > NMake,
> > > >> >>> msbuild and generate solutions for development.
> > > >> >>>
> > > >> >>> I suppose, for CI purposes, using NMake is a way better, than
> use
> > vs
> > > >> >>> solutions.
> > > >> >>>
> > > >> >>> вт, 26 мая 2020 г. в 16:42, Nikolay Izhikov <
> [hidden email]
> > >:
> > > >> >>>
> > > >> >>>> Hello, Igor.
> > > >> >>>>
> > > >> >>>>> Nikolay, removing support for a certain build system is a
> > breaking
> > > >> >>>> change.
> > > >> >>>>
> > > >> >>>> No, it’s not.
> > > >> >>>> Why do you think so?
> > > >> >>>>
> > > >> >>>> Development environment and build system is a subject to change
> > in
> > > >> any
> > > >> >>>> project.
> > > >> >>>> We can drop or add support of any build system any time we
> want.
> > > >> >>>>
> > > >> >>>>> 26 мая 2020 г., в 16:35, Ilya Kasnacheev <
> > > [hidden email]
> > > >> >
> > > >> >>>> написал(а):
> > > >> >>>>>
> > > >> >>>>> Hello!
> > > >> >>>>>
> > > >> >>>>> I don't see why we can't get rid of autotools in a minor
> > release,
> > > >> >>>> provided
> > > >> >>>>> that cmake actually works. Removing native VS support may be a
> > > >> >>> different
> > > >> >>>>> thing.
> > > >> >>>>>
> > > >> >>>>> Build system and precise set of dependencies is not a part of
> > > public
> > > >> >>> API
> > > >> >>>> in
> > > >> >>>>> my opinion.
> > > >> >>>>>
> > > >> >>>>> Regards,
> > > >> >>>>> --
> > > >> >>>>> Ilya Kasnacheev
> > > >> >>>>>
> > > >> >>>>>
> > > >> >>>>> вт, 26 мая 2020 г. в 16:02, Igor Sapego <[hidden email]>:
> > > >> >>>>>
> > > >> >>>>>> Great!
> > > >> >>>>>>
> > > >> >>>>>> Let's start with creating a TC suite for it.
> > > >> >>>>>>
> > > >> >>>>>> The only concern I have is that it is one more build system
> > > >> >>>>>> to support. Should we get rid of autotools in 3.0?
> > > >> >>>>>>
> > > >> >>>>>> Best Regards,
> > > >> >>>>>> Igor
> > > >> >>>>>>
> > > >> >>>>>>
> > > >> >>>>>> On Tue, May 26, 2020 at 2:44 PM Alexey Kukushkin <
> > > >> >>>>>> [hidden email]>
> > > >> >>>>>> wrote:
> > > >> >>>>>>
> > > >> >>>>>>> +1. I recently completed a cross-IDE (MS Visual Studio &
> > > GCC/GDB)
> > > >> >>>> Ignite
> > > >> >>>>>>> C++ project and CMake in Ignite C++ would save me a day of
> > > effort.
> > > >> >>>>>>>
> > > >> >>>>>>> вт, 26 мая 2020 г. в 12:09, Pavel Tupitsyn <
> > > [hidden email]
> > > >> >:
> > > >> >>>>>>>
> > > >> >>>>>>>> +1
> > > >> >>>>>>>>
> > > >> >>>>>>>> On Tue, May 26, 2020 at 12:02 PM Zhenya Stanilovsky
> > > >> >>>>>>>> <[hidden email]> wrote:
> > > >> >>>>>>>>
> > > >> >>>>>>>>>
> > > >> >>>>>>>>> Ivan huge +1 with your proposal.
> > > >> >>>>>>>>> I had some problems with odbc tests building too, looks
> like
> > > >> >> cmake
> > > >> >>>>>> will
> > > >> >>>>>>>>> make it more easy.
> > > >> >>>>>>>>>> Hello Igniters.
> > > >> >>>>>>>>>>
> > > >> >>>>>>>>>> I’d like to discuss porting build process of Ignite.C++.
> I
> > > >> think
> > > >> >>>>>> that
> > > >> >>>>>>>>> there is time to change it.
> > > >> >>>>>>>>>>
> > > >> >>>>>>>>>> *Motivation*
> > > >> >>>>>>>>>> Currently, it is hard to build Ignite.C++. Different
> build
> > > >> >> process
> > > >> >>>>>> for
> > > >> >>>>>>>>> windows and linux, lack of building support on Mac OS X
> > (quite
> > > >> >>>>>> popular
> > > >> >>>>>>> OS
> > > >> >>>>>>>>> among developers), absolutely not IDE support, except
> > windows
> > > >> and
> > > >> >>>>>> only
> > > >> >>>>>>>>> Visual Studio is supported.
> > > >> >>>>>>>>>>
> > > >> >>>>>>>>>> *Suggestion*
> > > >> >>>>>>>>>> I’d suggest to migrate to CMake build system. It is very
> > > >> popular
> > > >> >>>>>> among
> > > >> >>>>>>>>> open source projects, and in Apache Software Foundation
> too.
> > > >> >>> Notable
> > > >> >>>>>>>> user:
> > > >> >>>>>>>>> Apache Mesos, Apache Zookeeper (C client offers CMake as
> an
> > > >> >>>>>> alternative
> > > >> >>>>>>>> to
> > > >> >>>>>>>>> autoconf and only option on windows), Apache Kafka
> > > (librdkafka -
> > > >> >>>>>> C/C++
> > > >> >>>>>>>>> client), Apache Thrift. Popular column-oriented database
> > > >> >> ClickHouse
> > > >> >>>>>>> also
> > > >> >>>>>>>>> uses CMake.
> > > >> >>>>>>>>>>
> > > >> >>>>>>>>>> CMake is widely supported in many IDE’s on various
> > platforms,
> > > >> >>>>>> notably
> > > >> >>>>>>>>> Visual Studio, CLion, Xcode, QtCreator, KDevelop.
> > > >> >>>>>>>>>>
> > > >> >>>>>>>>>> *Current status*
> > > >> >>>>>>>>>>
> > > >> >>>>>>>>>> Currently, the most of work is done (see [1]) and tested
> on
> > > Mac
> > > >> >>> OS X
> > > >> >>>>>>>>> 10.15 (some C++ porting). All tests are run without any
> > flaws,
> > > >> >>>>>>> including
> > > >> >>>>>>>>> odbc (unixodbc), ssl, thin and thick client, installation,
> > IDE
> > > >> >>>>>>>> integration
> > > >> >>>>>>>>> (CLion). Next steps is to test linux and windows.
> > > >> >>>>>>>>>>
> > > >> >>>>>>>>>> But full migration isn’t possible without agreement and
> > help
> > > of
> > > >> >>>>>>>>> community. Even if most of all you agree, migration
> requires
> > > >> >>>>>> additional
> > > >> >>>>>>>>> efforts in TC agents tuning and so on (event though test
> > > running
> > > >> >>>>>> fully
> > > >> >>>>>>>>> automated by CMake CTest).
> > > >> >>>>>>>>>>
> > > >> >>>>>>>>>> Lets discuss my proposition and idea.
> > > >> >>>>>>>>>>
> > > >> >>>>>>>>>> [1] -  https://github.com/apache/ignite/pull/7845
> > > >> >>>>>>>>>>
> > > >> >>>>>>>>>>
> > > >> >>>>>>>>>>
> > > >> >>>>>>>>>
> > > >> >>>>>>>>>
> > > >> >>>>>>>>>
> > > >> >>>>>>>>>
> > > >> >>>>>>>>
> > > >> >>>>>>>
> > > >> >>>>>>>
> > > >> >>>>>>> --
> > > >> >>>>>>> Best regards,
> > > >> >>>>>>> Alexey
> > > >> >>>>>>>
> > > >> >>>>>>
> > > >> >>>>
> > > >> >>>>
> > > >> >>>
> > > >> >>> --
> > > >> >>> Sincerely yours, Ivan Daschinskiy
> > > >> >>>
> > > >> >>
> > > >> >
> > > >> >
> > > >> > --
> > > >> > Sincerely yours, Ivan Daschinskiy
> > > >>
> > > >>
> > > >>
> > > >
> > > > --
> > > > Sincerely yours, Ivan Daschinskiy
> > > >
> > >
> > >
> > > --
> > > Sincerely yours, Ivan Daschinskiy
> > >
> >
>
>
> --
> Sincerely yours, Ivan Daschinskiy
>
123