Hello. On 20/01/17 00: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
I'm two weeks on vacation and you folks use that time to switch the build system? Teaching me a lesson not going on vacation? :P More seriously. Before I can really comment on it I wanted to use it for a while. My first attempt today failed though. stefan@workmachine efl (master) $ mkdir -p build && cmake -H. -Bbuild && cd build && make -- The C compiler identification is GNU 5.3.1 -- The CXX compiler identification is GNU 5.3.1 -- Check for working C compiler: /usr/lib64/ccache/cc -- Check for working C compiler: /usr/lib64/ccache/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/lib64/ccache/c++ -- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done VERSION 1.18.99.52337 -- Found PkgConfig: /usr/bin/pkg-config (found version "0.28") -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Checking for module 'check' -- Found check, version 0.10.0 -- Checking for module 'libsystemd' -- Found libsystemd, version 222 -- Checking for module 'valgrind' -- Found valgrind, version 3.11.0 -- Checking for module 'openssl>=1.0' -- Found openssl, version 1.0.2j -- Checking for module 'gnutls>=2.12.16' -- Found gnutls, version 3.4.15 -- Checking for module 'libjpeg' -- Package 'libjpeg' not found CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:360 (message): A required package was not found Call Stack (most recent call first): /usr/share/cmake/Modules/FindPkgConfig.cmake:522 (_pkg_check_modules_internal) cmake/config/common.cmake:13 (pkg_check_modules) CMakeLists.txt:33 (include) -- Configuring incomplete, errors occurred! See also "/home/stefan/EFL/efl/build/CMakeFiles/CMakeOutput.log". See also "/home/stefan/EFL/efl/build/CMakeFiles/CMakeError.log". That is on the same machine where I do all my work and the autotools build works fine. No idea why it does not find libjpeg. cmake version is 3.4.3. To old? any other hints on this? regards Stefan Schmidt ------------------------------------------------------------------------------ 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