That could be a reason why I thought we need two symbols for a feature. For
example, USE_GPFS_FSAL could be used at cmake command line and GPFS_FSAL
could be used in the option().
Can't we use this option() inside conditionals?
regards, malahal.
On Thu, Mar 22, 2018 at 8:43 PM, Daniel Gryniewicz <d...@redhat.com> wrote:
> I don't think this works because of option(). This defines the value to
> it's default (OFF if no default is given), so the value is always defined.
> We can skip using option, but this will break anyone using any tools to
> automate their cmake.
>
> What we need is for option() to distinguish between using the default
> value and having it configured on.
>
> I can play with this a bit and see if I can get something to work, but it
> will be ugly, since cmake doesn't natively support this.
>
> Daniel
>
> On 03/22/2018 10:50 AM, Malahal Naineni wrote:
>
>> Here is what I wanted. Let us say there is a compilation feature called
>> USE_FSAL_GPFS. I want these possibilities:
>>
>> 1. If I enable this feature at the "cmake command line", enable this. If
>> it can't be enabled due to missing packages, then please fail cmake!
>> 2. If I disable this feature at the "cmake command line", please disable
>> it. This is easy.
>> 3. If I neither enable nor disable at the cmake command line, then it can
>> be auto-enabled if sufficient packages are installed.
>>
>> I am not sure if the following works for what I am thinking of (I added
>> braces for clarity):
>>
>> if (DEFINED USE_FSAL_GPFS) {
>> if (USE_FSAL_GPFS) {
>> case A: admin wants it. Check headers and libs (or
>> packages). If it can't be enabled, fail.
>> else () {
>> case B: admin doesn't want it
>> }
>> else () {# not defined by the admin
>> case C: We want to enable this feature if required packages are
>> installed.
>> case D: We don't care, just disable
>> }
>>
>> I don't know if DEFINED keyword works the way I want it though. Note that
>> case A is the only one that fails here.
>>
>> Regards, Malahal.
>>
>>
>>
>>
>>
>>
>>
>> On Thu, Mar 22, 2018 at 5:33 PM, Daniel Gryniewicz <d...@redhat.com
>> <mailto:d...@redhat.com>> wrote:
>>
>> So, there is an option STRICT_PACKAGE that is supposed to enable
>> this. It's not fully utilized, but it's mostly there.
>>
>> The problem is that we can't tell whether the default is being used
>> (lots of options are on by default but disable themselves if the
>> packages aren't installed) or if the user explicitly turned them on.
>> CMake doesn't seem to give us that information, that I've found.
>> So, instead, we have STRICT_PACKAGE, and you'll have to explicitly
>> turn off everything that's on by default but that you don't want.
>>
>> If you know of a better way of doing this, then I'm happy to listen
>> and help implement it.
>>
>> Daniel
>>
>> On 03/22/2018 12:28 AM, Malahal Naineni wrote:
>>
>> If I specify an option on the cmake command line, I would like
>> it to be honoured, if not, simply fail. Today, cmake only gives
>> a warning if it can't meet my option's requirements. Can some
>> cmake guru fix this first?
>>
>> On Tue, Mar 20, 2018 at 8:38 PM, Daniel Gryniewicz
>> <d...@redhat.com <mailto:d...@redhat.com>
>> <mailto:d...@redhat.com <mailto:d...@redhat.com>>> wrote:
>>
>> It's probably a good idea to add the build options to
>> --version
>> output, or something. That way we can ask for it in these
>> types of
>> situations. I've added a card to the wishlist for this.
>>
>> Daniel
>>
>> On Tue, Mar 20, 2018 at 9:39 AM, TomK <tomk...@mdevsys.com
>> <mailto:tomk...@mdevsys.com>
>> <mailto:tomk...@mdevsys.com <mailto:tomk...@mdevsys.com>>>
>>
>> wrote:
>> > On 3/19/2018 9:54 AM, Frank Filz wrote:
>> >>>
>> >>> Solved.
>> >>>
>> >>> Here's the solution in case it can help someone else.
>> >>>
>> >>> To get a certain feature in NFS Ganesha, I had to
>> compile the V2.6
>> >>> release from source. When configuring to compile,
>> idmapd
>> support got
>> >>> disabled since packages were missing:
>> >>>
>> >>> libnfsidmap-devel-0.25-17.el7.x86_64
>> >>>
>> >>> Installed the above package and recompiled with nfsidmap
>> support enabled
>> >>> and this issue went away. Users now show up properly
>> off the
>> NFS mount
>> >>> on clients.
>> >>
>> >>
>> >> Oh, well that was a simple fix :-)
>> >>
>> >> I wonder if we could make changes in our cmake files to
>> make it
>> easier to
>> >> see when stuff got left out due to missing packages?
>> I've been
>> caught out
>> >> myself.
>> >>
>> >> Frank
>> >>
>> > Yep, sure was an easy fix.
>> >
>> > Wouldn't mind seeing that. Maybe even a way to find out
>> what
>> options went
>> > into compiling packages for each distro.
>> >
>> >
>> > --
>> > Cheers,
>> > Tom K.
>> >
>> ------------------------------
>> -------------------------------------------------------
>> >
>> > Living on earth is expensive, but it includes a free
>> trip around
>> the sun.
>> >
>>
>>
>>
>>
>>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel