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. :( -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [email protected] ------------------------------------------------------------------------------ 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
