There was segfault on [ 88%] Generating src/lib/eo/efl_object.eo.c, src/lib/eo/efl_object.eo.h
I think autotools-generated files somehow interfere with cmake build, but this doesn't matter. After git clean build works fine(eina, eolian, eo, test). On 25.01.17 12:22, marcel-hollerb...@t-online.de wrote: > Hello, > > i am sorry for the wrong minum-version number. I think 3.0.2 is enough, > since we are using LINK_PRIVATE and LINK_PUBLIC. > > What error messages are you getting? > > Greetings > bu5hm4n > > On Wed, Jan 25, 2017 at 12:10:38PM +0200, Andrii Kroitor wrote: >> Hello >> >> I'm very excited to see steps towards CMake :) >> Is there any reason to limit minimum version to 3.7? Current unbuntu >> release has cmake version 3.5.1 included. >> Looks like with 3.5 cmake step passes ok, but build fails on eo files >> generation. I'm wondering if it is because of some missing cmake >> features or simply because work is in progress. >> >> >> On 20.01.17 01:17, Gustavo Sverzut Barbieri wrote: >>> Hi all, >>> >>> Marcel Hollerbach did a nice work and started a branch >>> devs/bu5hm4n/cmake-port >>> >>> After some review, I shared my experience with CMake and did a >>> complement trying to simplify it: devs/barbieri/cmake >>> (https://git.enlightenment.org/core/efl.git/log/?h=devs/barbieri/cmake) >>> >>> As you can see, complexities are hidden from the user using some >>> macros/functions defined in cmake/helper/EflMacros.cmake >>> >>> At the toplevel directory you simply say: EFL_LIB(eina) >>> >>> Then the macro will include whenever appropriate >>> src/{lib,bin,modules,tests}/eina and do the right action. You can see >>> from sub-CMakeLists.txt how simple they become, basically define some >>> variables (which makes it simpler for us to change to a new build >>> system next time). >>> >>> There are some restrictions in that, which I'd like to keep and >>> instead of work-around in the build system, change the code to reflect >>> that: >>> >>> - one library per directory, offenders are efreet_mime/efreet_thrash >>> and possibly others; >>> >>> - modules should install >>> ${libdir}/${libname}/modules/${scope}/${modname}/v-${VMAJ}.${VMIN}/module.so, >>> currently some libs miss "/modules", like ecore/system >>> >>> If you want to try it out, be aware that binaries are still not >>> handled and eina_suite still doesn't work. And I'm forcing out-of-tree >>> builds, so we fix that for once and for all: >>> >>> mkdir -p build && cmake -H. -Bbuild && cd build && make >>> >>> To address raster's complains about hard targets and so on: >>> >>> make eina >>> >>> builds eina checking dependencies, while: >>> >>> make eina/fast >>> >>> doesn't check dependencies, this is in GNU Make. Ninja doesn't offer such >>> rule. >>> >>> I'm also offering targets for modules and tests: >>> >>> make eina-tests >>> make eina-modules >>> >>> Everything should be placed in build/lib, build/bin and so on, so it >>> will mimic the system installation and eina_prefix should be able to >>> work (we're still missing the 'checkme' files). >>> >>> Although I know cmake from my years-ago usage, I'm not an expert that >>> works with it every day, thus review of the CMake, particularly the >>> macros is very helpful. >>> >>> >From an user (EFL developer that doesn't mess with build system) point of >>> >view: >>> >>> - library configuration checks and options (cmake/config/eina.cmake): >>> https://git.enlightenment.org/core/efl.git/tree/cmake/config/eina.cmake?h=devs/barbieri/cmake&id=c15eca03344e9bc1e602769c4af6e3c2ae2cc405 >>> The idea is to isolate these complexities from source/headers as very >>> few people will need to look at configure, but most developers need to >>> touch file list. >>> >>> - library sources, headers (src/lib/eina/CMakeLists.txt): >>> https://git.enlightenment.org/core/efl.git/tree/src/lib/eina/CMakeLists.txt?h=devs/barbieri/cmake&id=c15eca03344e9bc1e602769c4af6e3c2ae2cc405 >>> >>> - library module (src/modules/eina/mp/pass_through/CMakeLists.txt): >>> https://git.enlightenment.org/core/efl.git/tree/src/modules/eina/mp/pass_through/CMakeLists.txt?h=devs/barbieri/cmake&id=c15eca03344e9bc1e602769c4af6e3c2ae2cc405 >>> >>> - library unit tests (src/tests/eina/CMakeLists.txt): >>> https://git.enlightenment.org/core/efl.git/tree/src/tests/eina/CMakeLists.txt?h=devs/barbieri/cmake&id=c15eca03344e9bc1e602769c4af6e3c2ae2cc405 >>> >>> As you can see these files are very small, they basically define >>> SOURCES, HEADERS, DEPENDENCIES, LIBRARIES... variables and these are >>> used to execute CMake specific targets, set properties, etc. >>> >>> If we can settle on one-lib-per-dir, then we can even simplify those >>> and remove ${libname}_ prefix, as done by modules we could specify >>> SOURCES instead of eina_SOURCES. >>> >>> >> -- >> *Best Regards, >> Andrii Kroitor >> * Engineer, Tizen Platform Lab >> >> Samsung R&D Institute Ukraine >> 57, Lva Tolstogo St., Kyiv 01032, Ukraine >> email: an.kroi...@samsung.com <mailto:an.kroi...@samsung.com> >> >> >> ------------------------------------------------------------------------------ >> 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 >> enlightenment-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ------------------------------------------------------------------------------ > 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 > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > -- *Best Regards, Andrii Kroitor * Engineer, Tizen Platform Lab Samsung R&D Institute Ukraine 57, Lva Tolstogo St., Kyiv 01032, Ukraine email: an.kroi...@samsung.com <mailto:an.kroi...@samsung.com> ------------------------------------------------------------------------------ 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 enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel