Date   

Re: Operation: Windows Love

Tom Doust
 

Yeah we have figured out the source code issues and I’ve drawn attention to it on the cmake thread – Its Monday morning J

 

When you have something you want me to try I’m happy to clone it and do a build and go through all the warning and other noise with you. You make have found the macros that get rid of all the warnings about “secure” versions of functions – they make a huge difference.  There are also some dependencies on comiper version.

 

When you get used to it you will find that VS is an OK working environment !

 

Tom

 

From: Frank Quinn [mailto:fquinn@...]
Sent: 24 October 2016 09:23
To: Tom Doust <tom.doust@...>; openmama-dev@...
Subject: RE: Operation: Windows Love

 

Thanks Tom,

 

You can actually build a bridge fine without having to rebuild OpenMAMA, but you do need to point your project to the source of OpenMAMA for a few internal header files which aren’t included in the distribution, but which bridge folks need (adding a project reference probably fixed this for you). You can check out OpenMAMA-zmq for an example of how to do it (if you’re interested).

 

Appreciate the offer of assistance – I would welcome any warning reduction changes you could contribute, or failing that, just verifying the changes that I’ll be putting in over the coming months to make sure I don’t break your stuff would be hugely helpful. With the new instructions it should be much easier to set up a build environment now than it was before.

 

Cheers,

Frank

 

From: Tom Doust [mailto:tom.doust@...]
Sent: 24 October 2016 09:09
To: Frank Quinn <fquinn@...>; openmama-dev@...
Subject: RE: Operation: Windows Love

 

Hi Frank

 

I’ve not found it possible to do bridge development (on windows anyway) without building OpenMAMA J It may be possible though. I have just taken a path of least resistance.

 

Let us know if we can be any help

 

Tom

 

 

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Frank Quinn
Sent: 19 October 2016 13:49
To: openmama-dev@...
Subject: [Openmama-dev] Operation: Windows Love

 

Hi Folks,

 

I have said many times that we need to focus more on our Windows environment and bring it up to speed with the linux development experience. With that in mind, I have decided to bite the bullet and stop using Fedora as my primary workstation and go cold-turkey with windows (gasp).

 

One of the first stumbling blocks that I hit was dependency generation and the series of in-source builds and hacking of third party files which are needed to let windows builds work. As a result of this, I have just submitted changes into next which re-organizes the directory structure the build systems expect from the OpenMAMA dependencies on windows to be more sane, but note that it will break existing build environments, so if you compile your own OpenMAMA, you’ll need to shuffle around your dependencies a little to work with the latest code from ‘next’.

 

Note: Build environment is only broken for people who are compiling their own OpenMAMA libraries (i.e. OpenMAMA contributors). Users and even bridge developers don’t need to take action

 

The directory structure aligns with cmake install targets (which all our dependencies now seem to use) and its standard distribution methods. Details on how to set up the new expected directory structure and build OpenMAMA can be found here: https://github.com/OpenMAMA/OpenMAMA/wiki/Build-Instructions. I have also added specialist instructions for RedHat based systems as well as Debian based systems.

 

The nice thing about this set of changes is that if you follow those instructions, it’ll “just work” (I tried on a clean workstation to verify). Solution files and scons builds alike will build out of the box without requiring enormous command lines to point to non-standard directory structures because the third party library doesn’t have standard solution files which support (for example) 64-bit builds. If anyone hits any problems, please raise an issue because I want those instructions to be rock solid.

 

This follows other changes which have landed on OpenMAMA’s next branch within the last few weeks which are working towards the common goal of making Windows development convenient including:

 

·         Changes to allow Unit tests to compile and run on Windows

·         Fix submitted to prevent Unit Tests crashing on windows in mamaDateTime code

·         Added ability to generate installers as part of the release process

 

So just to keep everyone updated, “Operation: Windows Love” is well underway. There is still a number of related tasks which I want to get completed before the next OpenMAMA release (expected early 2017) which will likely be speckled among the other roadmap items we are aiming to get completed before the next release:

 

·         Elimination of build warnings on windows

·         Unit tests all running and passing on windows

·         Unit tests integrated with CI on windows

 

Cheers,

Frank


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


Re: Should we make the jump to cmake?

Tom Doust
 

As Reed mentioned we currently use CMake. I think the OpenMAMA devs were considering going there at one point but mysteriously lurched in the direction of Scons within days of Tick42 deciding to use CMake J

 

I am very happy to stick with CMake. I just about understand it and our devs seem to be happy with it.

 

While we are talking about builds, from a bridge development perspective, the output from the current open mama build (headers and libs sdk) is not usable for bridge development. You need some of the headers that are embedded in amongst the C source files (rather than in the various include directories). Its not such a big deal for internal development but when you are contributing bridge code into open source it makes documenting the build process more work.

 

On windows my preference is for one or more sln files and just firing up Visual Studio and hitting “Rebuild All” My experience with msbuild and scripting it is mostly negative both from the point of view of developing scripts and using them. It’s not as good as nmake J

 

Tom

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Damian Maguire
Sent: 18 October 2016 16:28
To: Glenn McClements <gmcclements@...>; Dmitri Fedorov <Dmitri.Fedorov@...>; Alpert, Reed <reed.alpert@...>; openmama-dev <openmama-dev@...>
Subject: Re: [Openmama-dev] Should we make the jump to cmake?

 

- Somehow I managed to drop the mailing list responding to this earlier. Sorry about that. 

 

In an effort to avoid bike-shedding this one, I'll say nothing more than I think using CMake is a great idea. 

 

(Side Note: Reed, you're correct that OpenMAMA currently supports OSX as well. CMake integration should make this simpler as well, eliminating the need for the 'Darwin' specific Scons files.)

 

Cheers, 

 

D

 

DAMIAN MAGUIRE 

Senior Sales Engineer 

 

O. +44 289 568 0298  

M. +44 783 584 4770 

 

Adelaide Exchange Building, 2nd Floor, 24-26 Adelaide Street, Belfast, BT2 8GD  

velatradingtech.com | @vela_tt

 

1467620971571_PastedImage


From: openmama-dev-bounces@... <openmama-dev-bounces@...> on behalf of Alpert, Reed via Openmama-dev <openmama-dev@...>
Sent: 17 October 2016 22:44:47
To: Glenn McClements; Dmitri Fedorov
Cc: openmama-dev@...
Subject: Re: [Openmama-dev] Should we make the jump to cmake?

 

Hi,

 

CMake is fine for us, Tick42 uses it now so we have it integrated into our build systems.

Most important is making it easy to change a build feature and do it on one place.

 

Are there other O/S for OpenMAMA – Apple?

 

Thanks,

 

Reed.

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Dmitri Fedorov
Sent: Monday, October 17, 2016 12:00 PM
To: Glenn McClements
Cc: openmama-dev@...
Subject: Re: [Openmama-dev] Should we make the jump to cmake?

 

Hi Glenn


My choice is autotools for Linux and MSBuild (VS-project files) on Windows.

I don't see any advantage of using cmake over autotools and I don't understand why need a cross-platform builds when there are only two of them - Linux and Windows.


Regards,

Dmitri Fedorov

Software Architect

Solace
Ottawa, ON Canada

 

Solace accepts no liability for the content of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Solace Systems.

 

On Mon, Oct 17, 2016 at 11:14 AM, Glenn McClements <gmcclements@...> wrote:

Sending on behalf of Frank (mail issues):

 

 

Hi Folks,

 

I have been giving quite a bit of consideration recently to making life easier for setting up new development environments for 3 developer types across all languages (particularly targeting windows as a development platform):

 

·         Users of OpenMAMA

·         Developers of OpenMAMA bridges

·         OpenMAMA contributors

 

I found myself getting repeatedly frustrated with the build system. It’s inflexibility makes many things awkward, and I found my options limited because of having to support all of the build systems we have available (particularly handling build directory structures of third party libraries on windows). Today we have scons for linux, scons for windows (yes – they are fairly separate for some reason), and Visual Studio project files for Windows IDE developers so any time you make a change, you really need to consider all 3.

 

Today in our build infrastructure, we use Scons which is grand, but we already have a lot of things that you have to hack together for scons, but which you actually get out of the box with Cmake like toolchain discovery.

 

I have started playing with it on a small scale and I think it is a really good fit for OpenMAMA because it:

 

·         Generates project files for you so you don’t need to check them into source control – they’ll all get generated from the same definition files

·         They have some library discovery mechanisms built in

·         They have install rules that make sense on both linux and windows

·         It can be used to generate .msi installer executables in conjunction with Wix (!)

·         Allows easy integration with external project types (I’m thinking specifically for C# for this one – mono and visual studio both use msbuild)

·         Takes care of DESTDIR and SONAME functionality which has been requested by package-creators in the past (i.e. for rpm / dpkg)

·         Single build system would simplify CI by not requiring changes in both scons and visual studio on windows

·         It has native IDE integration with many platforms and looks like it might even be on its way for Visual Studio

 

Interestingly, both libevent and qpid proton use cmake, as does almost every other cross-platform C/C++ project that I have stumbled across in the last number of months. With that in mind, I propose that we move our build system to Cmake and end this fun of having to update 3 different built system files every time a new source code file is added.

 

Any opinions either pro or against are welcome. Also if anyone is key to pitch in with the implementation, please chime in!

 

Cheers,

Frank

 

 

 

GLENN MCCLEMENTS

SVP Engineering, Europe

gmcclements@...

 

Adelaide Exchange Building, 2nd Floor, 24-26 Adelaide Street, Belfast, BT2 8GD

velatradingtech.com | @vela_tt

 

 

 


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


_______________________________________________
Openmama-dev mailing list
Openmama-dev@...
https://lists.openmama.org/mailman/listinfo/openmama-dev

 

This communication is for informational purposes only. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of JPMorgan Chase & Co., its subsidiaries and affiliates (collectively, "JPMC"). This transmission may contain information that is proprietary, privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Although this transmission and any attachments are believed to be free of any virus or other defect that might affect any computer system into which it is received and opened, it is the responsibility of the recipient to ensure that it is virus free and no responsibility is accepted by JPMC for any loss or damage arising in any way from its use. Please note that any electronic communication that is conducted within or through JPMC's systems is subject to interception, monitoring, review, retention and external production in accordance with JPMC's policy and local laws, rules and regulations; may be stored or otherwise processed in countries other than the country in which you are located; and will be treated in accordance with JPMC policies and applicable laws and regulations. Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures relating to European legal entities.


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


Re: Operation: Windows Love

Frank Quinn <fquinn@...>
 

Thanks Tom,

 

You can actually build a bridge fine without having to rebuild OpenMAMA, but you do need to point your project to the source of OpenMAMA for a few internal header files which aren’t included in the distribution, but which bridge folks need (adding a project reference probably fixed this for you). You can check out OpenMAMA-zmq for an example of how to do it (if you’re interested).

 

Appreciate the offer of assistance – I would welcome any warning reduction changes you could contribute, or failing that, just verifying the changes that I’ll be putting in over the coming months to make sure I don’t break your stuff would be hugely helpful. With the new instructions it should be much easier to set up a build environment now than it was before.

 

Cheers,

Frank

 

From: Tom Doust [mailto:tom.doust@...]
Sent: 24 October 2016 09:09
To: Frank Quinn <fquinn@...>; openmama-dev@...
Subject: RE: Operation: Windows Love

 

Hi Frank

 

I’ve not found it possible to do bridge development (on windows anyway) without building OpenMAMA J It may be possible though. I have just taken a path of least resistance.

 

Let us know if we can be any help

 

Tom

 

 

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Frank Quinn
Sent: 19 October 2016 13:49
To: openmama-dev@...
Subject: [Openmama-dev] Operation: Windows Love

 

Hi Folks,

 

I have said many times that we need to focus more on our Windows environment and bring it up to speed with the linux development experience. With that in mind, I have decided to bite the bullet and stop using Fedora as my primary workstation and go cold-turkey with windows (gasp).

 

One of the first stumbling blocks that I hit was dependency generation and the series of in-source builds and hacking of third party files which are needed to let windows builds work. As a result of this, I have just submitted changes into next which re-organizes the directory structure the build systems expect from the OpenMAMA dependencies on windows to be more sane, but note that it will break existing build environments, so if you compile your own OpenMAMA, you’ll need to shuffle around your dependencies a little to work with the latest code from ‘next’.

 

Note: Build environment is only broken for people who are compiling their own OpenMAMA libraries (i.e. OpenMAMA contributors). Users and even bridge developers don’t need to take action

 

The directory structure aligns with cmake install targets (which all our dependencies now seem to use) and its standard distribution methods. Details on how to set up the new expected directory structure and build OpenMAMA can be found here: https://github.com/OpenMAMA/OpenMAMA/wiki/Build-Instructions. I have also added specialist instructions for RedHat based systems as well as Debian based systems.

 

The nice thing about this set of changes is that if you follow those instructions, it’ll “just work” (I tried on a clean workstation to verify). Solution files and scons builds alike will build out of the box without requiring enormous command lines to point to non-standard directory structures because the third party library doesn’t have standard solution files which support (for example) 64-bit builds. If anyone hits any problems, please raise an issue because I want those instructions to be rock solid.

 

This follows other changes which have landed on OpenMAMA’s next branch within the last few weeks which are working towards the common goal of making Windows development convenient including:

 

·         Changes to allow Unit tests to compile and run on Windows

·         Fix submitted to prevent Unit Tests crashing on windows in mamaDateTime code

·         Added ability to generate installers as part of the release process

 

So just to keep everyone updated, “Operation: Windows Love” is well underway. There is still a number of related tasks which I want to get completed before the next OpenMAMA release (expected early 2017) which will likely be speckled among the other roadmap items we are aiming to get completed before the next release:

 

·         Elimination of build warnings on windows

·         Unit tests all running and passing on windows

·         Unit tests integrated with CI on windows

 

Cheers,

Frank


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


Re: Operation: Windows Love

Tom Doust
 

Hi Frank

 

I’ve not found it possible to do bridge development (on windows anyway) without building OpenMAMA J It may be possible though. I have just taken a path of least resistance.

 

Let us know if we can be any help

 

Tom

 

 

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Frank Quinn
Sent: 19 October 2016 13:49
To: openmama-dev@...
Subject: [Openmama-dev] Operation: Windows Love

 

Hi Folks,

 

I have said many times that we need to focus more on our Windows environment and bring it up to speed with the linux development experience. With that in mind, I have decided to bite the bullet and stop using Fedora as my primary workstation and go cold-turkey with windows (gasp).

 

One of the first stumbling blocks that I hit was dependency generation and the series of in-source builds and hacking of third party files which are needed to let windows builds work. As a result of this, I have just submitted changes into next which re-organizes the directory structure the build systems expect from the OpenMAMA dependencies on windows to be more sane, but note that it will break existing build environments, so if you compile your own OpenMAMA, you’ll need to shuffle around your dependencies a little to work with the latest code from ‘next’.

 

Note: Build environment is only broken for people who are compiling their own OpenMAMA libraries (i.e. OpenMAMA contributors). Users and even bridge developers don’t need to take action

 

The directory structure aligns with cmake install targets (which all our dependencies now seem to use) and its standard distribution methods. Details on how to set up the new expected directory structure and build OpenMAMA can be found here: https://github.com/OpenMAMA/OpenMAMA/wiki/Build-Instructions. I have also added specialist instructions for RedHat based systems as well as Debian based systems.

 

The nice thing about this set of changes is that if you follow those instructions, it’ll “just work” (I tried on a clean workstation to verify). Solution files and scons builds alike will build out of the box without requiring enormous command lines to point to non-standard directory structures because the third party library doesn’t have standard solution files which support (for example) 64-bit builds. If anyone hits any problems, please raise an issue because I want those instructions to be rock solid.

 

This follows other changes which have landed on OpenMAMA’s next branch within the last few weeks which are working towards the common goal of making Windows development convenient including:

 

·         Changes to allow Unit tests to compile and run on Windows

·         Fix submitted to prevent Unit Tests crashing on windows in mamaDateTime code

·         Added ability to generate installers as part of the release process

 

So just to keep everyone updated, “Operation: Windows Love” is well underway. There is still a number of related tasks which I want to get completed before the next OpenMAMA release (expected early 2017) which will likely be speckled among the other roadmap items we are aiming to get completed before the next release:

 

·         Elimination of build warnings on windows

·         Unit tests all running and passing on windows

·         Unit tests integrated with CI on windows

 

Cheers,

Frank


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


Code change(s) just landed on origin/next (Fixed)

jenkins@...
 

Some changes have just been added to the origin/next branch!

[noreply] Updated dependency directory structure expected (#232)
	mama/c_cpp/src/gunittest/c/UnitTestMamaPayloadC.vcxproj
	mama/c_cpp/src/c/payload/qpidmsg/SConscript.win
	msvc/PropertySheetGtestWin32Debug.props
	mama/c_cpp/src/gunittest/c/UnitTestMamaC.vcxproj
	msvc/PropertySheetGtestWin64Debug.props
	mama/c_cpp/src/gunittest/c/UnitTestMamaDateTimeC.vcxproj
	mama/jni/src/c/mamajni.vcxproj
	msvc/PropertySheetGtestWin32Release.props
	mama/c_cpp/src/gunittest/cpp/UnitTestMamaCPP.vcxproj
	msvc/PropertySheetLibeventWin64Release.props
	site_scons/community/command_line.py
	mama/c_cpp/src/c/bridge/qpid/io.c
	msvc/PropertySheetGtestWin64Release.props
	msvc/PropertySheetLibeventWin32Release.props
	msvc/PropertySheetProtonWin32Release.props
	msvc/PropertySheetProtonWin64Debug.props
	mama/c_cpp/src/gunittest/c/UnitTestMamaPriceC.vcxproj
	mama/c_cpp/src/c/bridge/qpid/SConscript.win
	mama/dotnet/SConscript.win
	mama/c_cpp/src/c/payload/qpidmsg/qpidmsg.vcxproj
	mama/c_cpp/src/gunittest/SConscript
	mama/c_cpp/src/gunittest/c/UnitTestMamaMiddlewareC.vcxproj
	mama/dotnet/src/nunittest/SConscript.win
	mamda/dotnet/SConscript.win
	msvc/PropertySheetLibeventWin64Debug.props
	common/c_cpp/src/c/SConscript.win
	mama/c_cpp/src/c/bridge/qpid/qpid.vcxproj
	common/c_cpp/src/gunittest/c/UnitTestCommonC.vcxproj
	msvc/PropertySheetLibeventWin32Debug.props
	msvc/PropertySheetProtonWin64Release.props
	common/c_cpp/src/gunittest/SConscript
	mama/c_cpp/src/gunittest/c/UnitTestMamaMsgC.vcxproj
	msvc/PropertySheetProtonWin32Debug.props
	site_scons/community/windows.py
	release_scripts/ci-run.py


Results for OpenMAMA_Next_Branch_VS_2015 CI run with latest changes:

  • CI Project Name: OpenMAMA_Next_Branch_VS_2015
  • Build Number: #108
  • Build Status: Fixed
  • Build Warnings: 158
  • Total Amount of Tests:
  • Passed:
  • Failed:
  • Skipped / Disabled:

You may also check CI console output to view the full results.


Code change(s) just landed on origin/next (Fixed)

jenkins@...
 

Some changes have just been added to the origin/next branch!

[noreply] Updated dependency directory structure expected (#232)
	mama/c_cpp/src/gunittest/c/UnitTestMamaPayloadC.vcxproj
	mama/c_cpp/src/c/payload/qpidmsg/SConscript.win
	msvc/PropertySheetGtestWin32Debug.props
	mama/c_cpp/src/gunittest/c/UnitTestMamaC.vcxproj
	msvc/PropertySheetGtestWin64Debug.props
	mama/c_cpp/src/gunittest/c/UnitTestMamaDateTimeC.vcxproj
	mama/jni/src/c/mamajni.vcxproj
	msvc/PropertySheetGtestWin32Release.props
	mama/c_cpp/src/gunittest/cpp/UnitTestMamaCPP.vcxproj
	msvc/PropertySheetLibeventWin64Release.props
	site_scons/community/command_line.py
	mama/c_cpp/src/c/bridge/qpid/io.c
	msvc/PropertySheetGtestWin64Release.props
	msvc/PropertySheetLibeventWin32Release.props
	msvc/PropertySheetProtonWin32Release.props
	msvc/PropertySheetProtonWin64Debug.props
	mama/c_cpp/src/gunittest/c/UnitTestMamaPriceC.vcxproj
	mama/c_cpp/src/c/bridge/qpid/SConscript.win
	mama/dotnet/SConscript.win
	mama/c_cpp/src/c/payload/qpidmsg/qpidmsg.vcxproj
	mama/c_cpp/src/gunittest/SConscript
	mama/c_cpp/src/gunittest/c/UnitTestMamaMiddlewareC.vcxproj
	mama/dotnet/src/nunittest/SConscript.win
	mamda/dotnet/SConscript.win
	msvc/PropertySheetLibeventWin64Debug.props
	common/c_cpp/src/c/SConscript.win
	mama/c_cpp/src/c/bridge/qpid/qpid.vcxproj
	common/c_cpp/src/gunittest/c/UnitTestCommonC.vcxproj
	msvc/PropertySheetLibeventWin32Debug.props
	msvc/PropertySheetProtonWin64Release.props
	common/c_cpp/src/gunittest/SConscript
	mama/c_cpp/src/gunittest/c/UnitTestMamaMsgC.vcxproj
	msvc/PropertySheetProtonWin32Debug.props
	site_scons/community/windows.py
	release_scripts/ci-run.py


Results for OpenMAMA_Next_Branch_VS_2015 CI run with latest changes:

  • CI Project Name: OpenMAMA_Next_Branch_VS_2015
  • Build Number: #108
  • Build Status: Fixed
  • Build Warnings: 158
  • Total Amount of Tests:
  • Passed:
  • Failed:
  • Skipped / Disabled:

You may also check CI console output to view the full results.


Code change(s) just landed on origin/next (Unstable)

jenkins@...
 

Some changes have just been added to the origin/next branch!

[noreply] Updated dependency directory structure expected (#232)
	msvc/PropertySheetGtestWin64Debug.props
	common/c_cpp/src/gunittest/c/UnitTestCommonC.vcxproj
	mama/c_cpp/src/c/payload/qpidmsg/qpidmsg.vcxproj
	msvc/PropertySheetGtestWin64Release.props
	msvc/PropertySheetLibeventWin32Release.props
	release_scripts/ci-run.py
	mama/c_cpp/src/gunittest/c/UnitTestMamaC.vcxproj
	msvc/PropertySheetLibeventWin64Debug.props
	mama/c_cpp/src/gunittest/c/UnitTestMamaPriceC.vcxproj
	mama/dotnet/SConscript.win
	msvc/PropertySheetProtonWin32Debug.props
	mama/c_cpp/src/gunittest/c/UnitTestMamaDateTimeC.vcxproj
	msvc/PropertySheetProtonWin64Debug.props
	site_scons/community/command_line.py
	mama/c_cpp/src/gunittest/c/UnitTestMamaPayloadC.vcxproj
	common/c_cpp/src/c/SConscript.win
	mamda/dotnet/SConscript.win
	msvc/PropertySheetProtonWin64Release.props
	site_scons/community/windows.py
	mama/c_cpp/src/c/bridge/qpid/qpid.vcxproj
	mama/dotnet/src/nunittest/SConscript.win
	msvc/PropertySheetLibeventWin64Release.props
	msvc/PropertySheetGtestWin32Release.props
	mama/c_cpp/src/c/bridge/qpid/SConscript.win
	mama/c_cpp/src/gunittest/SConscript
	msvc/PropertySheetGtestWin32Debug.props
	common/c_cpp/src/gunittest/SConscript
	mama/c_cpp/src/gunittest/c/UnitTestMamaMsgC.vcxproj
	msvc/PropertySheetProtonWin32Release.props
	mama/c_cpp/src/gunittest/cpp/UnitTestMamaCPP.vcxproj
	msvc/PropertySheetLibeventWin32Debug.props
	mama/c_cpp/src/c/bridge/qpid/io.c
	mama/c_cpp/src/c/payload/qpidmsg/SConscript.win
	mama/jni/src/c/mamajni.vcxproj
	mama/c_cpp/src/gunittest/c/UnitTestMamaMiddlewareC.vcxproj


Results for OpenMAMA Next Branch with Qpid Proton CI run with latest changes:

  • CI Project Name: OpenMAMA Next Branch with Qpid Proton
  • Build Number: #114
  • Build Status: Unstable
  • Build Warnings: 2
  • Total Amount of Tests: 1769
  • Passed: 1768
  • Failed: 1
  • Skipped / Disabled: 0

You may also check CI console output to view the full results.


Code change(s) just landed on origin/next (Unstable)

jenkins@...
 

Some changes have just been added to the origin/next branch!

[noreply] Updated dependency directory structure expected (#232)
	msvc/PropertySheetGtestWin64Debug.props
	common/c_cpp/src/gunittest/c/UnitTestCommonC.vcxproj
	mama/c_cpp/src/c/payload/qpidmsg/qpidmsg.vcxproj
	msvc/PropertySheetGtestWin64Release.props
	msvc/PropertySheetLibeventWin32Release.props
	release_scripts/ci-run.py
	mama/c_cpp/src/gunittest/c/UnitTestMamaC.vcxproj
	msvc/PropertySheetLibeventWin64Debug.props
	mama/c_cpp/src/gunittest/c/UnitTestMamaPriceC.vcxproj
	mama/dotnet/SConscript.win
	msvc/PropertySheetProtonWin32Debug.props
	mama/c_cpp/src/gunittest/c/UnitTestMamaDateTimeC.vcxproj
	msvc/PropertySheetProtonWin64Debug.props
	site_scons/community/command_line.py
	mama/c_cpp/src/gunittest/c/UnitTestMamaPayloadC.vcxproj
	common/c_cpp/src/c/SConscript.win
	mamda/dotnet/SConscript.win
	msvc/PropertySheetProtonWin64Release.props
	site_scons/community/windows.py
	mama/c_cpp/src/c/bridge/qpid/qpid.vcxproj
	mama/dotnet/src/nunittest/SConscript.win
	msvc/PropertySheetLibeventWin64Release.props
	msvc/PropertySheetGtestWin32Release.props
	mama/c_cpp/src/c/bridge/qpid/SConscript.win
	mama/c_cpp/src/gunittest/SConscript
	msvc/PropertySheetGtestWin32Debug.props
	common/c_cpp/src/gunittest/SConscript
	mama/c_cpp/src/gunittest/c/UnitTestMamaMsgC.vcxproj
	msvc/PropertySheetProtonWin32Release.props
	mama/c_cpp/src/gunittest/cpp/UnitTestMamaCPP.vcxproj
	msvc/PropertySheetLibeventWin32Debug.props
	mama/c_cpp/src/c/bridge/qpid/io.c
	mama/c_cpp/src/c/payload/qpidmsg/SConscript.win
	mama/jni/src/c/mamajni.vcxproj
	mama/c_cpp/src/gunittest/c/UnitTestMamaMiddlewareC.vcxproj


Results for OpenMAMA Next Branch with Qpid Proton CI run with latest changes:

  • CI Project Name: OpenMAMA Next Branch with Qpid Proton
  • Build Number: #114
  • Build Status: Unstable
  • Build Warnings: 2
  • Total Amount of Tests: 1769
  • Passed: 1768
  • Failed: 1
  • Skipped / Disabled: 0

You may also check CI console output to view the full results.


Operation: Windows Love

Frank Quinn <fquinn@...>
 

Hi Folks,

 

I have said many times that we need to focus more on our Windows environment and bring it up to speed with the linux development experience. With that in mind, I have decided to bite the bullet and stop using Fedora as my primary workstation and go cold-turkey with windows (gasp).

 

One of the first stumbling blocks that I hit was dependency generation and the series of in-source builds and hacking of third party files which are needed to let windows builds work. As a result of this, I have just submitted changes into next which re-organizes the directory structure the build systems expect from the OpenMAMA dependencies on windows to be more sane, but note that it will break existing build environments, so if you compile your own OpenMAMA, you’ll need to shuffle around your dependencies a little to work with the latest code from ‘next’.

 

Note: Build environment is only broken for people who are compiling their own OpenMAMA libraries (i.e. OpenMAMA contributors). Users and even bridge developers don’t need to take action

 

The directory structure aligns with cmake install targets (which all our dependencies now seem to use) and its standard distribution methods. Details on how to set up the new expected directory structure and build OpenMAMA can be found here: https://github.com/OpenMAMA/OpenMAMA/wiki/Build-Instructions. I have also added specialist instructions for RedHat based systems as well as Debian based systems.

 

The nice thing about this set of changes is that if you follow those instructions, it’ll “just work” (I tried on a clean workstation to verify). Solution files and scons builds alike will build out of the box without requiring enormous command lines to point to non-standard directory structures because the third party library doesn’t have standard solution files which support (for example) 64-bit builds. If anyone hits any problems, please raise an issue because I want those instructions to be rock solid.

 

This follows other changes which have landed on OpenMAMA’s next branch within the last few weeks which are working towards the common goal of making Windows development convenient including:

 

·         Changes to allow Unit tests to compile and run on Windows

·         Fix submitted to prevent Unit Tests crashing on windows in mamaDateTime code

·         Added ability to generate installers as part of the release process

 

So just to keep everyone updated, “Operation: Windows Love” is well underway. There is still a number of related tasks which I want to get completed before the next OpenMAMA release (expected early 2017) which will likely be speckled among the other roadmap items we are aiming to get completed before the next release:

 

·         Elimination of build warnings on windows

·         Unit tests all running and passing on windows

·         Unit tests integrated with CI on windows

 

Cheers,

Frank


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


Re: New feature: Extending timestamp format

Dmitri Fedorov <dfedorov.solace@...>
 

Sorry for the late reply, for Solace Frank's option 1 is acceptable.

Regards,
Dmitri Fedorov
Software Architect
Solace, Inc.
Ottawa, ON Canada

Solace accepts no liability for the content of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Solace Systems.

On Wed, Oct 5, 2016 at 1:16 PM, Tom Doust <tom.doust@...> wrote:

In the TREP bridge we have a wrapper around the mamaDateTime type and only use the accessor functions. There is a certain amount of messing around converting between mamaDateTime and rssl date and time representations, but so long as the set of accessor functions doesn’t change it should “just work”

 

One to bear in mind with “breaking changes” like this is that you may also introduce a dependency between the bridge version and the mama runtime version. This was (is) an issue with the change to bridge loading. If I simply install a bridge built with OpenMAMA  > 2.4 into a deployment that includes  components built with OpenMama <2.4

 

But, in principle, I agree with Frank’s #1

 

Tom

 

 

From: <openmama-dev-bounces@lists.openmama.org> on behalf of Glenn McClements <gmcclements@...>
Date: Tuesday, 4 October 2016 at 13:39
To: Nigel Phelan <nigel.phelan@...>, Frank Quinn <fquinn@...>, Stuart Beattie <sbeattie@...>, "Openmama-dev@....org" <openmama-dev@....org>


Subject: Re: [Openmama-dev] New feature: Extending timestamp format

 

For Vela we have a couple of payloads:

- V5/Wirecache has its own internal format and calls mamaDateTime setters, so this is fine.

- WombatMsg actually uses the same encoding as OpenMAMA does internally, so this will need to be changed but I’m fine with this as it was somewhat breaking encapsulation. The wire format will remain the same, we’ll just need to call a setting rather than doing a direct assignment.  

 

 

Also, from another offline thread, we should take time to consider if the new implementation will be flexible/extendable. Time zone hint and nanosecond support are two feature that spring to mind that we may like to add later.

 

These are outside of scope for the current piece of work but they have been asked about before and we’d want to make sure that any implementation could be extended to support these if needed.

 

 

GLENN MCCLEMENTS

SVP Engineering, Europe

 

 

Adelaide Exchange Building, 2nd Floor, 24-26 Adelaide Street, Belfast, BT2 8GD

velatradingtech.com | @vela_tt

 

 

 

From: <openmama-dev-bounces@lists.openmama.org> on behalf of "Phelan, Nigel via Openmama-dev" <openmama-dev@....org>
Reply-To: "Phelan, Nigel" <nigel.phelan@...>
Date: Tuesday, 4 October 2016 at 09:38
To: Frank Quinn <fquinn@...>, Stuart Beattie <sbeattie@...>, "openmama-dev@....org" <openmama-dev@....org>
Subject: Re: [Openmama-dev] New feature: Extending timestamp format

 

I think that, at the moment, the most important payload bridges come from Vela, Solace and Tick 42.  Would anyone from Solace and Tick 42 care to comment on the behaviour of their payload bridges and whether they took this shortcut in the implementation (I’m assuming Frank can speak authoritatively for Vela)?  Also good to know the QPID open source reference implementation gets this right.  Out of curiosity, Frank, does your ZeroMQ bridge handle this, or does it just re-use the proton payload (which would presumably automatically make it compatible)?

 

Thanks

 

Nigel

 


Nigel Phelan | Corporate & Investment Bank | Market Data Services | J.P. Morgan

 

From: Frank Quinn [mailto:fquinn@...]
Sent: Tuesday, October 04, 2016 9:13 AM
To: Stuart Beattie; Phelan, Nigel; openmama-dev@....org
Subject: RE: New feature: Extending timestamp format

 

Hi Folks,

 

The biggest concern here is around interface compatibility with the mamaDateTime type. In our types.h it’s defined as a u64* rather than a void*. Unfortunately, I expect this has given payload bridges a mechanism too tempting to ignore when it comes to simply using the underlying U64 for serialization and deserialization.

 

If payload bridge developers have treated the mamaDateTime as an encapsulated object, changing mamaDateTime to an opaque struct would be reasonably safe. Qpid proton, for example, would be unaffected by the struct change as it uses mamaDateTime_get/set.

 

However, any payload bridges which access the native U64 would need to change. Options would be either:

 

1.       Just break the bridge and move on to 6.2

2.       Make the first member of the struct the “legacy” U64 member and have a payload bridge flag to enable “backwards compatible” mode and speckle a bunch of backwards compatible code throughout the MAMA Date Time code

3.       Assume that no bridges actually use this U64 directly and risk breaking the bridge

 

Personally my vote would be for #1 - this sort of thing is the reason why we put that version handshaking code in.

 

Note I just looked through the OpenMAMA wiki for a link explaining the versioning and didn’t find one, so I just created https://github.com/OpenMAMA/OpenMAMA/wiki/OpenMAMA-Versioning for reference.

 

Cheers,

Frank

 

From: openmama-dev-bounces@lists.openmama.org [mailto:openmama-dev-bounces@lists.openmama.org] On Behalf Of Stuart Beattie
Sent: Wednesday, September 28, 2016 5:39 PM
To: Phelan, Nigel <nigel.phelan@...>; openmama-dev@....org
Subject: Re: [Openmama-dev] New feature: Extending timestamp format

 

Hi Nigel,

 

Apologies, yes I meant to mention timezones in the original email as something to consider

 

-          Does anyone have any other suggestions for the new format?  For example, nanosecond precision, addition of a timestamp, or any other useful features?

 

“addition of a timestamp” was meant to be “timezone”, my mistake.

 

STUART BEATTIE

Senior Software Engineer

 

O. +44 28909 93365

M.

sbeattie@...

 

Adelaide Exchange Building, 2nd Floor, 24-26 Adelaide Street, Belfast, BT2 8GD

velatradingtech.com | @vela_tt

 

 

From: Phelan, Nigel [mailto:nigel.phelan@jpmorgan.com]
Sent: 28 September 2016 17:36
To: Stuart Beattie <sbeattie@...>; openmama-dev@....org
Subject: RE: New feature: Extending timestamp format

 

If contemplating a new type, is it worth considering the question of time zones?  The current model doesn’t really address this, although the java constructors have some implicit assumptions that DateTime objects are stored in UTC

 

Nigel

 


Nigel Phelan | Corporate & Investment Bank | Market Data Services | J.P. Morgan

 

From: openmama-dev-bounces@lists.openmama.org [mailto:openmama-dev-bounces@lists.openmama.org] On Behalf Of Stuart Beattie
Sent: Wednesday, September 28, 2016 5:23 PM
To: openmama-dev@....org
Subject: [Openmama-dev] New feature: Extending timestamp format

 

Hi everyone,

 

We are currently investigating an approach to improve and extend the handling of date/times in OpenMAMA.

 

The current mamaDateTime type, essentially being a 64-bit bitmask, is inflexible and has some built in limitations – such as the 4-byte second field limiting the maximum stored date to the year 2106, as well as being limited to time since the epoch.  The current datetime format is this:

 

Data Content

Size

Comments

Seconds

32 bits

Needs to be bigger to support times beyond 2106 and also has no ability to represent times before 1970.

Microseconds

20 bits

Maximum value is 1,048,575 - if nanosecond support is ever required, this would be too small (you'd need another 10 bits)

Precision

4 bits

Used to store decimal precision.

Hints

4 bits

Used to store information on whether or not to display as date / time (one of these bits going spare too, could expand to 2 with changes)

Spare (idle)

4 bits

Could be 6 if you count the values spare in hints

 

So while there are currently some bytes available to extend this somewhat, if these are used there will be no more room for expansion or new features in the existing format so we are thinking of a more long-term solution.

 

Instead we are proposing to introduce a new datetime format using a new type which is an actual struct with separate fields for the different elements (seconds, date, time etc.)  While this may be larger (in terms of storage size – eg some bits may go unused), it would have the advantages of:

a)      Being more extensible – fields could be added or changed as necessary without being bound by the current 64 bits

b)      Being more intuitive to work with

 

Format could be something like:

 

Data Content

Data Type

Comments

Seconds

int64 (yes - signed)

Not every bit will be used, but easy to work with and will support times prior to 1970.

Nanoseconds?

long int

(Current format has only microseconds)

Precision

uint8

Again, some bits going spare, but easy to work with.

Hints

uint8

Again, some bits going spare, but easy to work with.

 

 

This is in the early stages so we are asking for input as well as having a few specific questions for developers – with backwards compatibility being a major concern:

-          It is currently possible to serialise a mamaDateTime by using the native bitmask format directly – is anyone out there currently doing this and relying on this being possible?

-          For bridge developers, how do you currently encode timestamps?

-          Does anyone have any other suggestions for the new format?  For example, nanosecond precision, addition of a timestamp, or any other useful features?

 

Thanks

Stuart

 

 

STUART BEATTIE

Senior Software Engineer

 

O. +44 28909 93365

M.

sbeattie@...

 

Adelaide Exchange Building, 2nd Floor, 24-26 Adelaide Street, Belfast, BT2 8GD

velatradingtech.com | @vela_tt

 

 

 


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC

This email is confidential and subject to important disclaimers and conditions including on offers for the purchase or sale of securities, accuracy and completeness of information, viruses, confidentiality, legal privilege, and legal entity disclaimers, available at http://www.jpmorgan.com/pages/disclosures/email


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC

This email is confidential and subject to important disclaimers and conditions including on offers for the purchase or sale of securities, accuracy and completeness of information, viruses, confidentiality, legal privilege, and legal entity disclaimers, available at http://www.jpmorgan.com/pages/disclosures/email


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


_______________________________________________
Openmama-dev mailing list
Openmama-dev@....org
https://lists.openmama.org/mailman/listinfo/openmama-dev



Code change(s) just landed on origin/next (Successful)

jenkins@...
 

Some changes have just been added to the origin/next branch!

[noreply] MAMA: Added utility functions to read symbol file (#219)
	mama/c_cpp/src/c/SConscript
	mama/c_cpp/src/c/mama/mamautils.h
	mama/c_cpp/src/c/mamautils.c
	mama/c_cpp/src/c/SConscript.win
	mama/c_cpp/src/c/mamac.vcxproj
	mama/c_cpp/src/testtools/capturereplay/c/captureconvert.c
	mama/c_cpp/src/c/mama/mama.h


Results for OpenMAMA Next Branch with Qpid Proton CI run with latest changes:

  • CI Project Name: OpenMAMA Next Branch with Qpid Proton
  • Build Number: #113
  • Build Status: Successful
  • Build Warnings: 2
  • Total Amount of Tests: 1769
  • Passed: 1769
  • Failed: 0
  • Skipped / Disabled: 0

You may also check CI console output to view the full results.


Code change(s) just landed on origin/next (Failure)

jenkins@...
 

Some changes have just been added to the origin/next branch!

[noreply] MAMA: Added utility functions to read symbol file (#219)
	mama/c_cpp/src/c/SConscript.win
	mama/c_cpp/src/c/SConscript
	mama/c_cpp/src/testtools/capturereplay/c/captureconvert.c
	mama/c_cpp/src/c/mamac.vcxproj
	mama/c_cpp/src/c/mama/mama.h
	mama/c_cpp/src/c/mama/mamautils.h
	mama/c_cpp/src/c/mamautils.c


Results for OpenMAMA_Next_Branch_VS_2015 CI run with latest changes:

  • CI Project Name: OpenMAMA_Next_Branch_VS_2015
  • Build Number: #107
  • Build Status: Failure
  • Build Warnings:
  • Total Amount of Tests:
  • Passed:
  • Failed:
  • Skipped / Disabled:

You may also check CI console output to view the full results.


Code change(s) just landed on origin/next (Failure)

jenkins@...
 

Some changes have just been added to the origin/next branch!

[noreply] MAMA: Added utility functions to read symbol file (#219)
	mama/c_cpp/src/c/SConscript.win
	mama/c_cpp/src/c/SConscript
	mama/c_cpp/src/testtools/capturereplay/c/captureconvert.c
	mama/c_cpp/src/c/mamac.vcxproj
	mama/c_cpp/src/c/mama/mama.h
	mama/c_cpp/src/c/mama/mamautils.h
	mama/c_cpp/src/c/mamautils.c


Results for OpenMAMA_Next_Branch_VS_2015 CI run with latest changes:

  • CI Project Name: OpenMAMA_Next_Branch_VS_2015
  • Build Number: #107
  • Build Status: Failure
  • Build Warnings:
  • Total Amount of Tests:
  • Passed:
  • Failed:
  • Skipped / Disabled:

You may also check CI console output to view the full results.


Code change(s) just landed on origin/next (Successful)

jenkins@...
 

Some changes have just been added to the origin/next branch!

[noreply] Added Inno Setup installer script and LICENSE file (#231)
	release_scripts/setup_info_before.txt
	release_scripts/openmama.ico
	release_scripts/setup_info_after.txt
	LICENSE.md
	release_scripts/setup.iss


Results for OpenMAMA Next Branch with Qpid Proton CI run with latest changes:

  • CI Project Name: OpenMAMA Next Branch with Qpid Proton
  • Build Number: #112
  • Build Status: Successful
  • Build Warnings: 2
  • Total Amount of Tests: 1769
  • Passed: 1769
  • Failed: 0
  • Skipped / Disabled: 0

You may also check CI console output to view the full results.


Code change(s) just landed on origin/next (Successful)

jenkins@...
 

Some changes have just been added to the origin/next branch!

[noreply] Added Inno Setup installer script and LICENSE file (#231)
	release_scripts/setup.iss
	LICENSE.md
	release_scripts/setup_info_before.txt
	release_scripts/openmama.ico
	release_scripts/setup_info_after.txt


Results for OpenMAMA_Next_Branch_VS_2015 CI run with latest changes:

  • CI Project Name: OpenMAMA_Next_Branch_VS_2015
  • Build Number: #106
  • Build Status: Successful
  • Build Warnings: 2385
  • Total Amount of Tests:
  • Passed:
  • Failed:
  • Skipped / Disabled:

You may also check CI console output to view the full results.


Re: Should we make the jump to cmake?

Damian Maguire <dmaguire@...>
 

- Somehow I managed to drop the mailing list responding to this earlier. Sorry about that. 


In an effort to avoid bike-shedding this one, I'll say nothing more than I think using CMake is a great idea. 
 
(Side Note: Reed, you're correct that OpenMAMA currently supports OSX as well. CMake integration should make this simpler as well, eliminating the need for the 'Darwin' specific Scons files.)
 
Cheers, 
 
D


DAMIAN MAGUIRE 

Senior Sales Engineer 

 

O. +44 289 568 0298  

M. +44 783 584 4770 

dmaguire@... 

 

Adelaide Exchange Building2nd Floor, 24-26 Adelaide StreetBelfast, BT2 8GD  

velatradingtech.com | @vela_tt


1467620971571_PastedImage


From: openmama-dev-bounces@... <openmama-dev-bounces@...> on behalf of Alpert, Reed via Openmama-dev <openmama-dev@...>
Sent: 17 October 2016 22:44:47
To: Glenn McClements; Dmitri Fedorov
Cc: openmama-dev@...
Subject: Re: [Openmama-dev] Should we make the jump to cmake?
 

Hi,

 

CMake is fine for us, Tick42 uses it now so we have it integrated into our build systems.

Most important is making it easy to change a build feature and do it on one place.

 

Are there other O/S for OpenMAMA – Apple?

 

Thanks,

 

Reed.

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Dmitri Fedorov
Sent: Monday, October 17, 2016 12:00 PM
To: Glenn McClements
Cc: openmama-dev@...
Subject: Re: [Openmama-dev] Should we make the jump to cmake?

 

Hi Glenn


My choice is autotools for Linux and MSBuild (VS-project files) on Windows.

I don't see any advantage of using cmake over autotools and I don't understand why need a cross-platform builds when there are only two of them - Linux and Windows.


Regards,

Dmitri Fedorov

Software Architect

Solace
Ottawa, ON Canada

 

Solace accepts no liability for the content of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Solace Systems.

 

On Mon, Oct 17, 2016 at 11:14 AM, Glenn McClements <gmcclements@...> wrote:

Sending on behalf of Frank (mail issues):

 

 

Hi Folks,

 

I have been giving quite a bit of consideration recently to making life easier for setting up new development environments for 3 developer types across all languages (particularly targeting windows as a development platform):

 

·         Users of OpenMAMA

·         Developers of OpenMAMA bridges

·         OpenMAMA contributors

 

I found myself getting repeatedly frustrated with the build system. It’s inflexibility makes many things awkward, and I found my options limited because of having to support all of the build systems we have available (particularly handling build directory structures of third party libraries on windows). Today we have scons for linux, scons for windows (yes – they are fairly separate for some reason), and Visual Studio project files for Windows IDE developers so any time you make a change, you really need to consider all 3.

 

Today in our build infrastructure, we use Scons which is grand, but we already have a lot of things that you have to hack together for scons, but which you actually get out of the box with Cmake like toolchain discovery.

 

I have started playing with it on a small scale and I think it is a really good fit for OpenMAMA because it:

 

·         Generates project files for you so you don’t need to check them into source control – they’ll all get generated from the same definition files

·         They have some library discovery mechanisms built in

·         They have install rules that make sense on both linux and windows

·         It can be used to generate .msi installer executables in conjunction with Wix (!)

·         Allows easy integration with external project types (I’m thinking specifically for C# for this one – mono and visual studio both use msbuild)

·         Takes care of DESTDIR and SONAME functionality which has been requested by package-creators in the past (i.e. for rpm / dpkg)

·         Single build system would simplify CI by not requiring changes in both scons and visual studio on windows

·         It has native IDE integration with many platforms and looks like it might even be on its way for Visual Studio

 

Interestingly, both libevent and qpid proton use cmake, as does almost every other cross-platform C/C++ project that I have stumbled across in the last number of months. With that in mind, I propose that we move our build system to Cmake and end this fun of having to update 3 different built system files every time a new source code file is added.

 

Any opinions either pro or against are welcome. Also if anyone is key to pitch in with the implementation, please chime in!

 

Cheers,

Frank

 

 

 

GLENN MCCLEMENTS

SVP Engineering, Europe

gmcclements@...

 

Adelaide Exchange Building, 2nd Floor, 24-26 Adelaide Street, Belfast, BT2 8GD

velatradingtech.com | @vela_tt

 

 


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


_______________________________________________
Openmama-dev mailing list
Openmama-dev@...
https://lists.openmama.org/mailman/listinfo/openmama-dev

 

This communication is for informational purposes only. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of JPMorgan Chase & Co., its subsidiaries and affiliates (collectively, "JPMC"). This transmission may contain information that is proprietary, privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Although this transmission and any attachments are believed to be free of any virus or other defect that might affect any computer system into which it is received and opened, it is the responsibility of the recipient to ensure that it is virus free and no responsibility is accepted by JPMC for any loss or damage arising in any way from its use. Please note that any electronic communication that is conducted within or through JPMC's systems is subject to interception, monitoring, review, retention and external production in accordance with JPMC's policy and local laws, rules and regulations; may be stored or otherwise processed in countries other than the country in which you are located; and will be treated in accordance with JPMC policies and applicable laws and regulations. Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures relating to European legal entities.


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


Re: Should we make the jump to cmake?

Alpert, Reed <reed.alpert@...>
 

Hi,

 

CMake is fine for us, Tick42 uses it now so we have it integrated into our build systems.

Most important is making it easy to change a build feature and do it on one place.

 

Are there other O/S for OpenMAMA – Apple?

 

Thanks,

 

Reed.

 

From: openmama-dev-bounces@... [mailto:openmama-dev-bounces@...] On Behalf Of Dmitri Fedorov
Sent: Monday, October 17, 2016 12:00 PM
To: Glenn McClements
Cc: openmama-dev@...
Subject: Re: [Openmama-dev] Should we make the jump to cmake?

 

Hi Glenn


My choice is autotools for Linux and MSBuild (VS-project files) on Windows.

I don't see any advantage of using cmake over autotools and I don't understand why need a cross-platform builds when there are only two of them - Linux and Windows.


Regards,

Dmitri Fedorov

Software Architect

Solace
Ottawa, ON Canada

 

Solace accepts no liability for the content of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Solace Systems.

 

On Mon, Oct 17, 2016 at 11:14 AM, Glenn McClements <gmcclements@...> wrote:

Sending on behalf of Frank (mail issues):

 

 

Hi Folks,

 

I have been giving quite a bit of consideration recently to making life easier for setting up new development environments for 3 developer types across all languages (particularly targeting windows as a development platform):

 

·         Users of OpenMAMA

·         Developers of OpenMAMA bridges

·         OpenMAMA contributors

 

I found myself getting repeatedly frustrated with the build system. It’s inflexibility makes many things awkward, and I found my options limited because of having to support all of the build systems we have available (particularly handling build directory structures of third party libraries on windows). Today we have scons for linux, scons for windows (yes – they are fairly separate for some reason), and Visual Studio project files for Windows IDE developers so any time you make a change, you really need to consider all 3.

 

Today in our build infrastructure, we use Scons which is grand, but we already have a lot of things that you have to hack together for scons, but which you actually get out of the box with Cmake like toolchain discovery.

 

I have started playing with it on a small scale and I think it is a really good fit for OpenMAMA because it:

 

·         Generates project files for you so you don’t need to check them into source control – they’ll all get generated from the same definition files

·         They have some library discovery mechanisms built in

·         They have install rules that make sense on both linux and windows

·         It can be used to generate .msi installer executables in conjunction with Wix (!)

·         Allows easy integration with external project types (I’m thinking specifically for C# for this one – mono and visual studio both use msbuild)

·         Takes care of DESTDIR and SONAME functionality which has been requested by package-creators in the past (i.e. for rpm / dpkg)

·         Single build system would simplify CI by not requiring changes in both scons and visual studio on windows

·         It has native IDE integration with many platforms and looks like it might even be on its way for Visual Studio

 

Interestingly, both libevent and qpid proton use cmake, as does almost every other cross-platform C/C++ project that I have stumbled across in the last number of months. With that in mind, I propose that we move our build system to Cmake and end this fun of having to update 3 different built system files every time a new source code file is added.

 

Any opinions either pro or against are welcome. Also if anyone is key to pitch in with the implementation, please chime in!

 

Cheers,

Frank

 

 

 

GLENN MCCLEMENTS

SVP Engineering, Europe

gmcclements@...

 

Adelaide Exchange Building, 2nd Floor, 24-26 Adelaide Street, Belfast, BT2 8GD

velatradingtech.com | @vela_tt

 

 


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


_______________________________________________
Openmama-dev mailing list
Openmama-dev@...
https://lists.openmama.org/mailman/listinfo/openmama-dev

 

This communication is for informational purposes only. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of JPMorgan Chase & Co., its subsidiaries and affiliates (collectively, "JPMC"). This transmission may contain information that is proprietary, privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Although this transmission and any attachments are believed to be free of any virus or other defect that might affect any computer system into which it is received and opened, it is the responsibility of the recipient to ensure that it is virus free and no responsibility is accepted by JPMC for any loss or damage arising in any way from its use. Please note that any electronic communication that is conducted within or through JPMC's systems is subject to interception, monitoring, review, retention and external production in accordance with JPMC's policy and local laws, rules and regulations; may be stored or otherwise processed in countries other than the country in which you are located; and will be treated in accordance with JPMC policies and applicable laws and regulations. Please refer to http://www.jpmorgan.com/pages/disclosures for disclosures relating to European legal entities.


Re: Should we make the jump to cmake?

Dmitri Fedorov <dfedorov.solace@...>
 

Hi Glenn

My choice is autotools for Linux and MSBuild (VS-project files) on Windows.

I don't see any advantage of using cmake over autotools and I don't understand why need a cross-platform builds when there are only two of them - Linux and Windows.

Regards,
Dmitri Fedorov
Software Architect
Solace
Ottawa, ON Canada

Solace accepts no liability for the content of this email, or for the consequences of any actions taken on the basis of the information provided, unless that information is subsequently confirmed in writing. Any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Solace Systems.

On Mon, Oct 17, 2016 at 11:14 AM, Glenn McClements <gmcclements@...> wrote:

Sending on behalf of Frank (mail issues):

 

 

Hi Folks,

 

I have been giving quite a bit of consideration recently to making life easier for setting up new development environments for 3 developer types across all languages (particularly targeting windows as a development platform):

 

·         Users of OpenMAMA

·         Developers of OpenMAMA bridges

·         OpenMAMA contributors

 

I found myself getting repeatedly frustrated with the build system. It’s inflexibility makes many things awkward, and I found my options limited because of having to support all of the build systems we have available (particularly handling build directory structures of third party libraries on windows). Today we have scons for linux, scons for windows (yes – they are fairly separate for some reason), and Visual Studio project files for Windows IDE developers so any time you make a change, you really need to consider all 3.

 

Today in our build infrastructure, we use Scons which is grand, but we already have a lot of things that you have to hack together for scons, but which you actually get out of the box with Cmake like toolchain discovery.

 

I have started playing with it on a small scale and I think it is a really good fit for OpenMAMA because it:

 

·         Generates project files for you so you don’t need to check them into source control – they’ll all get generated from the same definition files

·         They have some library discovery mechanisms built in

·         They have install rules that make sense on both linux and windows

·         It can be used to generate .msi installer executables in conjunction with Wix (!)

·         Allows easy integration with external project types (I’m thinking specifically for C# for this one – mono and visual studio both use msbuild)

·         Takes care of DESTDIR and SONAME functionality which has been requested by package-creators in the past (i.e. for rpm / dpkg)

·         Single build system would simplify CI by not requiring changes in both scons and visual studio on windows

·         It has native IDE integration with many platforms and looks like it might even be on its way for Visual Studio

 

Interestingly, both libevent and qpid proton use cmake, as does almost every other cross-platform C/C++ project that I have stumbled across in the last number of months. With that in mind, I propose that we move our build system to Cmake and end this fun of having to update 3 different built system files every time a new source code file is added.

 

Any opinions either pro or against are welcome. Also if anyone is key to pitch in with the implementation, please chime in!

 

Cheers,

Frank

 

 

 

GLENN MCCLEMENTS

SVP Engineering, Europe

gmcclements@...

 

Adelaide Exchange Building, 2nd Floor, 24-26 Adelaide Street, Belfast, BT2 8GD

velatradingtech.com | @vela_tt

 

 


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC

_______________________________________________
Openmama-dev mailing list
Openmama-dev@....org
https://lists.openmama.org/mailman/listinfo/openmama-dev



Re: Should we make the jump to cmake?

Frank Quinn <fquinn@...>
 

Apologies that was supposed to have been sent last Friday (and hopefully you can all see this now).

 

From: Glenn McClements
Sent: 17 October 2016 16:14
To: openmama-dev@...
Cc: Frank Quinn <fquinn@...>
Subject: Should we make the jump to cmake?

 

Sending on behalf of Frank (mail issues):

 

 

Hi Folks,

 

I have been giving quite a bit of consideration recently to making life easier for setting up new development environments for 3 developer types across all languages (particularly targeting windows as a development platform):

 

·         Users of OpenMAMA

·         Developers of OpenMAMA bridges

·         OpenMAMA contributors

 

I found myself getting repeatedly frustrated with the build system. It’s inflexibility makes many things awkward, and I found my options limited because of having to support all of the build systems we have available (particularly handling build directory structures of third party libraries on windows). Today we have scons for linux, scons for windows (yes – they are fairly separate for some reason), and Visual Studio project files for Windows IDE developers so any time you make a change, you really need to consider all 3.

 

Today in our build infrastructure, we use Scons which is grand, but we already have a lot of things that you have to hack together for scons, but which you actually get out of the box with Cmake like toolchain discovery.

 

I have started playing with it on a small scale and I think it is a really good fit for OpenMAMA because it:

 

·         Generates project files for you so you don’t need to check them into source control – they’ll all get generated from the same definition files

·         They have some library discovery mechanisms built in

·         They have install rules that make sense on both linux and windows

·         It can be used to generate .msi installer executables in conjunction with Wix (!)

·         Allows easy integration with external project types (I’m thinking specifically for C# for this one – mono and visual studio both use msbuild)

·         Takes care of DESTDIR and SONAME functionality which has been requested by package-creators in the past (i.e. for rpm / dpkg)

·         Single build system would simplify CI by not requiring changes in both scons and visual studio on windows

·         It has native IDE integration with many platforms and looks like it might even be on its way for Visual Studio

 

Interestingly, both libevent and qpid proton use cmake, as does almost every other cross-platform C/C++ project that I have stumbled across in the last number of months. With that in mind, I propose that we move our build system to Cmake and end this fun of having to update 3 different built system files every time a new source code file is added.

 

Any opinions either pro or against are welcome. Also if anyone is key to pitch in with the implementation, please chime in!

 

Cheers,

Frank

 

 

 

GLENN MCCLEMENTS

SVP Engineering, Europe

gmcclements@...

 

Adelaide Exchange Building, 2nd Floor, 24-26 Adelaide Street, Belfast, BT2 8GD

velatradingtech.com | @vela_tt

 

 


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC


Should we make the jump to cmake?

Glenn McClements <gmcclements@...>
 

Sending on behalf of Frank (mail issues):

 

 

Hi Folks,

 

I have been giving quite a bit of consideration recently to making life easier for setting up new development environments for 3 developer types across all languages (particularly targeting windows as a development platform):

 

·         Users of OpenMAMA

·         Developers of OpenMAMA bridges

·         OpenMAMA contributors

 

I found myself getting repeatedly frustrated with the build system. It’s inflexibility makes many things awkward, and I found my options limited because of having to support all of the build systems we have available (particularly handling build directory structures of third party libraries on windows). Today we have scons for linux, scons for windows (yes – they are fairly separate for some reason), and Visual Studio project files for Windows IDE developers so any time you make a change, you really need to consider all 3.

 

Today in our build infrastructure, we use Scons which is grand, but we already have a lot of things that you have to hack together for scons, but which you actually get out of the box with Cmake like toolchain discovery.

 

I have started playing with it on a small scale and I think it is a really good fit for OpenMAMA because it:

 

·         Generates project files for you so you don’t need to check them into source control – they’ll all get generated from the same definition files

·         They have some library discovery mechanisms built in

·         They have install rules that make sense on both linux and windows

·         It can be used to generate .msi installer executables in conjunction with Wix (!)

·         Allows easy integration with external project types (I’m thinking specifically for C# for this one – mono and visual studio both use msbuild)

·         Takes care of DESTDIR and SONAME functionality which has been requested by package-creators in the past (i.e. for rpm / dpkg)

·         Single build system would simplify CI by not requiring changes in both scons and visual studio on windows

·         It has native IDE integration with many platforms and looks like it might even be on its way for Visual Studio

 

Interestingly, both libevent and qpid proton use cmake, as does almost every other cross-platform C/C++ project that I have stumbled across in the last number of months. With that in mind, I propose that we move our build system to Cmake and end this fun of having to update 3 different built system files every time a new source code file is added.

 

Any opinions either pro or against are welcome. Also if anyone is key to pitch in with the implementation, please chime in!

 

Cheers,

Frank

 

 

 

GLENN MCCLEMENTS

SVP Engineering, Europe

gmcclements@...

 

Adelaide Exchange Building, 2nd Floor, 24-26 Adelaide Street, Belfast, BT2 8GD

velatradingtech.com | @vela_tt

 

 


The information contained in this message may be privileged and confidential and protected from disclosure. If the reader of this message is not the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to this message and deleting it from your computer. Thank you. Vela Trading Technologies LLC

401 - 420 of 2305