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"

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


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

Reply via email to