FWIW, a lot of the patches that have been made to the build system so far
were taken from the cpp broker's build and to be honest when you push for
the reason they were done that way there is sometimes a good reason and
sometimes no good reason, and sometimes a reason that doesn't apply to
proton. Growing the build system by patching in a bunch of stuff copied
over from another build system without sufficient thought is IMHO a bad
idea. Even with only a handful of these patches the build system was
actually in a pretty sorry state prior to the first 0.1 RC. I spent the
better part of a day just cleaning up and fixing various issues that crept
in with different kinds of install scenarios. I think in general given the
portability goals of the project the build system needs to stay small,
simple, easily understood, and fairly self contained. In other words it
should accurately reflect the minimal settings and configuration necessary
to build *proton* source code, *not* the cpp broker's source code.

--Rafael

On Thu, Nov 1, 2012 at 10:49 AM, Ken Giusti <kgiu...@redhat.com> wrote:

> Hi Cliff,
>
> I agree, but where are those flags in the qpid source tree?
>
> Aside from the warning exclusion flags, that is (/wdXXXX).
>
> I've grepped about until blue in the fingers - about all I have found was:
>
> ./src/CMakeLists.txt:721:    set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "/MD /O2
> /Ob2 /D NDEBUG")
>
> Nothing specific (that I can easily find) for Release or Debug targets.
>
> All -
>
> There is a ton of MSVC stuff spread throughout the myriad of CMake
> configuration files in the QPID source base.  I was assuming we could start
> with a bare bones cmake just for the proton libraries, and add to it as
> needed.  Would it be a better approach to try to port the existing qpid
> cmake files over to proton?  That would probably involve more time than I
> can devote right now.
>
> Opinions?
>
> -K
>
> ----- Original Message -----
> > I would personally just use the settings Steve came up with for the
> > main qpid cpp build.  Those should serve us well.  The only obvious
> > addition is the flag that forces C++ compilation from files named
> > foo.c.
> >
> > Cliff
> >
> > On Wed, Oct 31, 2012 at 12:05 PM, Ken Giusti <kgiu...@redhat.com>
> > wrote:
> > > Ah, almost forgot:
> > >
> > > The patch modifies the CMakeLists.txt file by adding compiler flags
> > > for the VC++ compiler.   The flags differ based on each type of
> > > target build (Debug/Release/etc).
> > >
> > > Now, IANAVCP (I Am Not a VC Programmer), so I have no idea what the
> > > appropriate flags should be for the windows build.  I've taken a
> > > guess at them, based on my limited understanding of the compiler.
> > >
> > > If anyone can provide better settings - please let me know.  Here's
> > > the current settings:
> > >
> > >
> > >
> > > CMAKE_C_FLAGS_DEBUG          "/Wall /Iinclude /MDd /Od /Zi")
> > > CMAKE_C_FLAGS_RELEASE        "/Wall /Iinclude /MD /Ox /D NDEBUG")
> > > CMAKE_C_FLAGS_RELWITHDEBINFO "/Wall /Iinclude /MD /Ox /Zi")
> > >
> > >
> > > -K
> > >
> > > ----- Original Message -----
> > >> Ah, then this patch is for *you*!  :)
> > >>
> > >> It -should- fix it so you don't have to modify the project files
> > >> at
> > >> all, and it should fix those header files too.  You should just be
> > >> able to run cmake, then pull the result into VS and build.
> > >>
> > >> It doesn't go so far as to run the tests though - we'll need to
> > >> get
> > >> the code ported first.
> > >>
> > >> thanks,
> > >>
> > >> -K
> > >>
> > >> ----- Original Message -----
> > >> > I used cmake to create Visual Studio 10 projects files and
> > >> > solution
> > >> > workspace. Then I modified the project files to add what I
> > >> > needed.
> > >> > I hadn't used cmake before this project. So I'm not an expert.
> > >> >
> > >> > I'll be happy to have your help with creating good support for
> > >> > building proton  from cmake.
> > >> >
> > >> > The python support definitely needs to be fixed. And I would be
> > >> > happy
> > >> > to have that part  working properly. I've been creating the
> > >> > header
> > >> > files (encodings.h and protocol.h)  and setting up the python
> > >> >  to
> > >> > run the tests outside of the project files. I'll look at your
> > >> > changes as soon as I can.
> > >> >
> > >> > Mary
> > >> >
> > >> > -----Original Message-----
> > >> > From: Ken Giusti [mailto:kgiu...@redhat.com]
> > >> > Sent: Wednesday, October 31, 2012 1:47 PM
> > >> > To: cliffjan...@gmail.com; Mary Hinton
> > >> > Cc: proton@qpid.apache.org
> > >> > Subject: review request: patch to cmake for windows builds
> > >> >
> > >> > Hi Cliff/Mary,
> > >> >
> > >> > I'm trying to add support for building proton using Microsoft
> > >> > Visual
> > >> > C++ express.  This patch updates cmake to enable generation of
> > >> > the
> > >> > VC++ project files for proton.  Can you review and try it out -
> > >> > let
> > >> > me know what you think?
> > >> >
> > >> > Note that the patch only adds build support - the problems with
> > >> > building proton on windows are not addressed.
> > >> >
> > >> > The diff can be viewed here:
> > >> >
> > >> > https://github.com/kgiusti/qpid-proton/compare/win7
> > >> >
> > >> > And the changes are on the win7 branch of my github proton repo:
> > >> >
> > >> > git://github.com/kgiusti/qpid-proton.git
> > >> >
> > >> > -K
> > >> >
> > >> >
> > >> >
> > >> >
> > >>
> >
>

Reply via email to