On Wed, 16 Dec 2015, Matt Benjamin wrote:
> I'm going to push for cmake work already in progress to be moved to the 
> next milestone ASAP.
> 
> With respect to "make check" blockers, which contains the issue of where 
> cmake puts built objects.  Ali, Casey, and I discussed this today at 
> some length.  We think the current "hackery" to make cmake make check 
> work "the same way" auto* did is long-term undesirable due to it 
> mutating files in the src dir.  I have not assumed that it would be an 
> improvement to put all objects built in a tree of submakes into a single 
> dir, as automake does.  I do think it is essential that at least 
> eventually, it makes it simple to operate on any object that is built, 
> and simple to extend processes like make check.

All of the binaries eventually go into /usr[/local]/bin anyway.  Can we 
do the same here?  (I don't care where intermediate .lo or .o objects 
go...)

> Ali and Casey agree, but contend that the current make check work is 
> "almost finished"--specifically, that it could be finished and a PR sent 
> -this week-.  Rewriting it will take additional time.  They propose 
> starting with finishing and documenting the current setup, then doing a 
> larger cleanup.
> 
> What do others think?

I'd like to aim for what will work best long-term, and that undoubtable 
also includes some source tree reorganization/cleanup.  But.. it seems 
like John's suggestion would do the trick here?

sage


> 
> Matt
> 
> > >
> > > I seems like the main problem is that automake puts all build targets in
> > > src/ and cmake spreads them all over build/*.  This makes that you can't
> > > just add ./ to anything that would normally be in your path (or,
> > > PATH=.:$PATH, and then run, say, ../qa/workunits/cephtool/test.sh).
> > > There's a bunch of kludges in vstart.sh to make it work that I think
> > > mostly point to this issue (and the .libs things).  Is there simply an
> > > option we can give cmake to make it put built binaries directly in build/?
> > >
> > > Stepping back a bit, it seems like the goals should be
> > >
> > > 1. Be able to completely replace autotools.  I don't fancy maintaining
> > > both in parallel.
> > >
> > 
> > Is cmake a viable option in all environments we expect ceph (or any
> > part of) to be compiled on? (e.g. aix, solaris, freebsd, different
> > linux arm distros, etc.)
> 
> One cannot expect cmake to be pre-installed on those platforms, but it will 
> work on every one you mentioned, some others, not to mention Windows.
> 
> > 
> > > 2. Be able to run vstart etc from the build dir.
> > 
> > There's an awful hack currently in vstart.sh and stop.sh that checks
> > for CMakeCache.txt in the current work directory to verify whether we
> > built using cmake or autotools. Can we make this go away?
> > We can do something like having the build system create a
> > 'ceph-setenv.sh' script that would set the env (or open a shelll) with
> > the appropriate paths.
> 
> 
> 
> > 
> > >
> > > 3. Be able to run ./ceph[-anything] from the build dir, or put the build
> > > dir in the path.  (I suppose we could rely in a make install step, but
> > > that seems like more hassle... hopefully it's not neceesary?)
> > >
> > > 4. make check has to work
> > >
> > > 5. Use make-dist.sh to generate a release tarball (not make dist)
> > >
> > > 6. gitbuilders use make-dist.sh and cmake to build packages
> > >
> > > 7. release process uses make-dist.sh and cmake to build a relelase
> > >
> > > I'm probably missing something?
> > >
> > > Should we set a target of doing the 10.0.2 or .3 with cmake?
> > >
> > > sage
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> > > the body of a message to majord...@vger.kernel.org
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > --
> > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> > the body of a message to majord...@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > 
> 
> -- 
> -- 
> Matt Benjamin
> Red Hat, Inc.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
> 
> http://www.redhat.com/en/technologies/storage
> 
> tel.  734-707-0660
> fax.  734-769-8938
> cel.  734-216-5309
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to