On Mon, Feb 13, 2017 at 10:15 PM, Carsten Haitzler <[email protected]> wrote: > On Mon, 13 Feb 2017 09:57:52 -0200 Gustavo Sverzut Barbieri > <[email protected]> said: > >> On Fri, Feb 10, 2017 at 8:58 AM, Carsten Haitzler <[email protected]> >> wrote: >> > On Thu, 9 Feb 2017 09:37:55 -0200 Gustavo Sverzut Barbieri >> > <[email protected]> said: >> > >> >> On Sat, Feb 4, 2017 at 1:25 AM, Carsten Haitzler <[email protected]> >> >> wrote: >> >> > On Fri, 3 Feb 2017 08:46:39 -0200 Gustavo Sverzut Barbieri >> >> > <[email protected]> said: >> >> > >> >> >> On Fri, Feb 3, 2017 at 7:22 AM, Carsten Haitzler <[email protected]> >> >> >> wrote: >> >> >> > On Fri, 27 Jan 2017 10:54:17 -0200 Gustavo Sverzut Barbieri >> >> >> > <[email protected]> said: >> >> >> > >> >> >> >> Hi all, >> >> >> >> >> >> >> >> While porting to cmake I'm trying to use its features to enhance >> >> >> >> portability, two are: >> >> >> >> >> >> >> >> https://cmake.org/cmake/help/v3.0/prop_tgt/FRAMEWORK.html >> >> >> >> https://cmake.org/cmake/help/v3.0/prop_tgt/PUBLIC_HEADER.html >> >> >> > >> >> >> > the above explains very little... :( >> >> >> >> >> >> I know :-D that's why I'm asking to change our layout and be simple so >> >> >> we get the "working out of the box" case. >> >> >> >> >> >> >> >> >> >> These will generate MacOS compliant bundles but there is one caveat: >> >> >> >> when I install they end all in a flat hierarchy, thus things that >> >> >> >> includes relative to subdirectories, as Efl.h or Ector.h will fail >> >> >> >> to >> >> >> >> find the "subdir/file.h". >> >> >> > >> >> >> > what do you mean exactly? you can't have -Idir flags as part of mac >> >> >> > frameworks? so -framework doesnt make the framework base dir an added >> >> >> > -I search location? so >> >> >> > >> >> >> > #include "interfaces/efl_observer.eo.h" >> >> >> > #include "interfaces/efl_observable.eo.h" >> >> >> > >> >> >> > won't look for those files relative to PREFIX/include/efl-1 ? i'm not >> >> >> > sure what ie "expected" here from mac and how we diffeer and what has >> >> >> > to change to "be compliant" ? >> >> >> >> >> >> same here, I really don't know. >> >> >> >> >> >> >> One option is to avoid the PUBLIC_HEADER and manually install files >> >> >> >> to include directories, there I can specify the subdirectories as >> >> >> >> needed. However I'm not sure if that would be enough to MacOS and >> >> >> >> possibly other systems, where the PUBLIC_HEADER could be hinting >> >> >> >> something else. >> >> >> >> >> >> >> >> Another option, which I prefer, is to change the master include to >> >> >> >> remove the subdirectories, also changing the automake rules. That >> >> >> >> would result in all headers to be installed to a single directory: >> >> >> >> /usr/include/${lib}-${vmaj}/ >> >> >> >> >> >> >> >> Any objections to this change? >> >> >> >> >> >> my change is basically removing "subdir/file" from our installed >> >> >> headers. We can keep the GIT hierarchy and use SET(INCLUDE_DIRS ...) >> >> >> ourselves. >> >> > >> >> > can you give me an example. i'm not sure what you mean? >> >> >> >> src/lib/efl/Efl.h: >> >> >> >> -#include "interfaces/efl_types.eot.h" >> >> +#include "efl_types.eot.h" >> > >> > so we canit have dir/filename in headers as it doesnt use these partial >> > file >> > paths as a search relative to the -Iincludedir we'd normally add with pc >> > files? it somehow doesnt use the same mechanism? >> > >> >> and in src/Makefile_Efl.am: >> >> >> >> lib_efl_libefl_la_CPPFLAGS = ... -I$(top_srcdir)/src/lib/efl/interfaces >> >> >> >> >> >> as well in pc/efl.pc.in: >> >> >> >> Cflags: -I${includedir}/efl-1 -I${includedir}/efl-1/interfaces >> > >> > so we HAVE to place subdirs in -I include searches? boo. :( >> >> that's the simplest way to solve the autoconf as is and add cmake without >> hacks. >> >> another option is to change autoconf ti install all to >> ${includedir}/libname-ver/, iow: no subdirs to installed... that's how >> most of the efl works, except: efl/interfaces, eolian-cxx/grammar and >> evas/canvas. > > i guess it doesn't matter too much... BUt be careful. windows. case > insensitive > filesystems. do we have headers that conflict when case is ignored?
good point... I don't think so, but will keep an eye. -- Gustavo Sverzut Barbieri -------------------------------------- Mobile: +55 (16) 99354-9890 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
