[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cmake
Subject:    Re: [CMake] globs case sensitivity depends on platform
From:       🐋_Jan_Hegewald <jan.hegewald () awi ! de>
Date:       2016-01-29 10:08:25
Message-ID: 1893C4E2-A3D4-4D75-B7D1-45335317F376 () awi ! de
[Download RAW message or body]

Hi Andreas,

thanks for bearing with me (-:

> On 28.01.2016, at 20:28, Andreas Pakulat <apaku@gmx.de> wrote:
> 
> Hi Jan,
> 
> On Thu, Jan 28, 2016 at 4:52 PM, 🐋 Jan Hegewald <jan.hegewald@awi.de> wrote:
> Hi Andreas,
> 
> > On 28.01.2016, at 16:43, Andreas Pakulat <apaku@gmx.de> wrote:
> > 
> > Hi Jan,
> > 
> > On Thu, Jan 28, 2016 at 2:35 PM, 🐋 Jan Hegewald <jan.hegewald@awi.de> wrote:
> > Hi Nils,
> > 
> > > On 28.01.2016, at 13:39, Nils Gladitz <nilsgladitz@gmail.com> wrote:
> > > 
> > > You might already be aware but CMake discourages using GLOB for source files
> > 
> > yes, I read the docs before posting (:
> > Avoiding glob would be a workaround to my problem. But anyway I think that glob \
> > is broken if it produces different results on different platforms. 
> > I can't find any docs on cmake.org about what a globbing-expression is exactly, \
> > but the docs for file(glob) at least don't say anything about this function \
> > producing the same results on different platforms. In fact I'd be surprised if \
> > the behavior of the file(glob) function is different than using the same \
> > wildcards with ls/dir on a terminal.
> 
> the cmake glob is different from the results of a terminal ls
> 
> On the Mac apparently (based on your first mail)

Yes, on the Mac. ls behaves the same on both platforms.

> 
> > The only bug that I can see from your description is that the behavior is \
> > inconsistent with different types of FS on OSX, that is definetly not matching \
> > above mentioned expectation.
> 
> Maybe I was unclear about this, but cmake glob ignores the case regardless of the \
> FS being case sensitive or not. 
> Now that contradicts your initial mail, you said there that on OSX you get F* and \
> f* files for a case-insensitive filesystem, but on Linux you get only F*. But you \
> also said that a case-sensitive filesystem on OSX still gives you F* and f* files, \
> which in my eyes is a bug in the implementation.

Yes. On the Mac I get the same unexpected results for case sensitive and case \
insensitive FS (i.e. glob returns files with different cases).

> 
> I also just checked the CMake sources quickly and it seems that the glob-support is \
> completely 'inhouse', meaning it does not call out to platform-specific functions \
> (I guess that would explain the discrepancy on OSX). 
> So I guess asking for the same behavior across platforms is just as reasonable \
> (given the logics are fully under CMake's control) as asking for it to reflect what \
> a ls/dir would do on the corresponding platform. 
> I think a bugreport is the correct next step, even if it merely leads to a \
> clarification of the behavior in the documentation. 
> Andreas

OK, I did that: https://public.kitware.com/Bug/view.php?id=15941

FYI, regarding the specification of glob patterns there is \
https://public.kitware.com/Bug/view.php?id=8814

Best,
Jan

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: \
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more information \
on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at \
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic