All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Benjamin <mbenjamin@redhat.com>
To: Yehuda Sadeh-Weinraub <yehuda@redhat.com>
Cc: Sage Weil <sweil@redhat.com>, ceph-devel <ceph-devel@vger.kernel.org>
Subject: Re: cmake
Date: Wed, 16 Dec 2015 14:06:06 -0500 (EST)	[thread overview]
Message-ID: <1306047444.39980907.1450292766855.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <CADRKj5Ru75B=uNtb3OyaBBxYJVLrNXPhec77pnQddj88Jb05ng@mail.gmail.com>

Hi,

responding to all these at once.

----- Original Message -----
> From: "Yehuda Sadeh-Weinraub" <yehuda@redhat.com>
> To: "Sage Weil" <sweil@redhat.com>
> Cc: "ceph-devel" <ceph-devel@vger.kernel.org>
> Sent: Wednesday, December 16, 2015 1:45:54 PM
> Subject: Re: cmake
> 
> On Wed, Dec 16, 2015 at 9:33 AM, Sage Weil <sweil@redhat.com> wrote:
> > The work to transition to cmake has stalled somewhat.  I've tried to use
> > it a few times but keep running into issues that make it unusable for me.
> > Not having make check is a big one, but I think the hackery required to
> > get that going points to the underlying problem(s).

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.

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?

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 majordomo@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 majordomo@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

  reply	other threads:[~2015-12-16 19:06 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-16 17:33 cmake Sage Weil
2015-12-16 17:53 ` cmake Loic Dachary
2015-12-16 18:28 ` cmake John Spray
2015-12-16 19:36   ` cmake Sage Weil
2015-12-16 18:45 ` cmake Yehuda Sadeh-Weinraub
2015-12-16 19:06   ` Matt Benjamin [this message]
2015-12-16 19:38     ` cmake Sage Weil
2015-12-16 23:47       ` cmake Willem Jan Withagen
2015-12-16 23:36   ` cmake Willem Jan Withagen
  -- strict thread matches above, loose matches on Subject: below --
2016-06-27 17:50 cmake Sage Weil
2016-06-28  7:35 ` cmake Willem Jan Withagen
2016-06-28  8:41   ` cmake Willem Jan Withagen
2016-06-28  8:57     ` cmake Willem Jan Withagen
2016-06-28 13:42   ` cmake Sage Weil
2016-06-28 16:05     ` cmake Willem Jan Withagen
2016-06-29 16:51       ` cmake Willem Jan Withagen
2016-06-30 19:03         ` cmake Willem Jan Withagen
2016-07-05 19:09     ` cmake Willem Jan Withagen
2016-06-28 20:28 ` cmake Casey Bodley
2016-06-28 21:43   ` cmake Mark Nelson
2016-07-04  9:05 ` cmake Willem Jan Withagen
2016-07-04 10:37   ` cmake Brad Hubbard
2015-12-03 22:24 cmake Pete Zaitcev
2015-12-03 22:30 ` cmake Adam C. Emerson
2015-12-04  0:03   ` cmake Pete Zaitcev
2015-12-04  0:26     ` cmake Matt Benjamin
2015-12-04  8:59       ` cmake Pete Zaitcev
2015-12-04 14:15         ` cmake Daniel Gryniewicz
2015-12-03 22:30 ` cmake Matt Benjamin
2015-12-03 22:31   ` cmake Matt Benjamin
2009-04-01 17:35 cmake Shane Dixon
2009-04-02  5:30 ` cmake Jeremy Lainé
2009-04-02 16:44   ` cmake Otavio Salvador
2009-04-02 18:07     ` cmake Koen Kooi
2009-04-02 17:07 ` cmake Robert Schuster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1306047444.39980907.1450292766855.JavaMail.zimbra@redhat.com \
    --to=mbenjamin@redhat.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=sweil@redhat.com \
    --cc=yehuda@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.