path: root/cmake/config (follow)
AgeCommit message (Collapse)Author
2017-02-07cmake: add ecore_xMarcel Hollerbach
2017-02-03cmake: sync EFL_EO_API_SUPPORT definition with autotools.Gustavo Sverzut Barbieri
in autotools we always define that symbol in config.h (thus now done in common.cmake), while the Efl_Config.h that is generated never have it, what's left is to enable/disable the legacy and beta APIs. This fixes building eldbus_suite with cmake.
2017-02-03cmake: add eezeMarcel Hollerbach
there is currently a bug in the testsuite which needs to change, otherwise modules cannot be loaded. The code acutally runs when its installed and EFL_RUN_IN_TREE is not set.
2017-02-02cmake: add ecore_file.Gustavo Sverzut Barbieri
2017-02-01cmake: use the jpeg module of cmake to find the libraryMarcel Hollerbach
finding libjpeg can be a bit more complex, there are systems that are not delivering a .pc for it. So we should just use the cmake module to find it.
2017-01-27cmake: add ecore_con.Gustavo Sverzut Barbieri
2017-01-27cmake/eo: expose HAVE_EO_ID to build via config_gen.hGustavo Sverzut Barbieri
2017-01-26cmake: enable systemd/upower ecore modules.Gustavo Sverzut Barbieri
eldbus was a dependency.
2017-01-26cmake: add eldbus.Gustavo Sverzut Barbieri
2017-01-26cmake: fix strlcpy() detection and usage.Gustavo Sverzut Barbieri
Linux usually ship with strlcpy(), but it's inside bsd/string.h and needs -lbsd. On BSD it's inside string.h and libc.
2017-01-26cmake: more headers and function checks.Gustavo Sverzut Barbieri
2017-01-26cmake/eolian: fix EOLIAN_BIN type.Gustavo Sverzut Barbieri
So EOLIAN_BIN had no type, which resulted in BOOL and thus ON/OFF. It should be labeled as FILEPATH and then we can remove the special case in EflMacros.cmake.
2017-01-26cmake: add emile and EFL_OPTION_BACKEND()Gustavo Sverzut Barbieri
Add emile and with that EFL_OPTION_BACKEND() to support choosing among different backends for something, in emile's case it's crypto backend (gnutls, openssl or none).
2017-01-26cmake: pkg-config can have version and needs HAVE/ENABLED defines.Gustavo Sverzut Barbieri
pkg-config names can be encoded with a version requirement, such as zlib>=1.2.3, thus we need to remove that from the variable. with autotools we used HAVE_XXX and ENABLED_XXX to instruct such optional library was present, then define that just for the user target by adding that to its CFLAGS. This allows us to remove some defines that matches the name, only leave those that translate from original pkg-config name, such as libsystemd->systemd.
2017-01-25cmake: add ecore.Gustavo Sverzut Barbieri
no tests or modules (which depend on eldbus).
2017-01-25cmake/eina: check more required functions and link with unwind if found.Gustavo Sverzut Barbieri
unwind is needed for debug, thus link to that.
2017-01-25cmake: EFL_OPTION() now supports DEPENDS to handle conditionals.Gustavo Sverzut Barbieri
This is now used by ENABLE_SYSTEMD and ENABLE_VALGRIND, which moves to "common.cmake" since they are shared among multiple libraries. With that I found that LINK_FLAGS is indeed a string, not a CMake List (space separated, not ";"), then fix that so compilation actually works.
2017-01-25cmake/common: add missing checks for eina, simplify to one file.Gustavo Sverzut Barbieri
Since the macros were moved to EflMacros.cmake, there is no reason to keep CommonHeaderChecks.cmake anymore, put them all in config/common.cmake Keep the checks sorted so they're easy to organize. Add missing check for prctl() and iconv() (which we were checking iconv.h, but the code used '#if HAVE_ICONV').
2017-01-23cmake: major rework of check and pkg-config dependencies.Gustavo Sverzut Barbieri
make FUNC_CHECK(), TYPE_CHECK() and HEADER_CHECK() more general and they can be set to a scope, like "eina", then all symbols are prefixed with that. The scope is created with CHECK_INIT(), and EFL_HEADER_CHECKS_FINALIZE() will finish that. This makes it possible for cmake/config/eina.cmake + cmake/post/eina.cmake to add stuff to the generated file, better than hand edit the template. CHECK_APPEND_DEFINE(name val) is now the base to add symbols to the generated file in the current scope. Then convert cmake/config/eina.cmake to use that and match the autotools values (were a bit off). This exposed enabling valgrind was broken due incorrect pkg-config usage with cmake (it's not obvious), it was using just the libraries, while LDFLAGS are needed to get -L/usr/lib/valgrind. Then also convert to CFLAGS provided by pkg-config and make that automatic for PKG_CONFIG_REQUIRES and PKG_CONFIG_REQUIRES_PRIVATE. Also, eina-mempool modules use valgrind and must use that now that's propagating correctly.
2017-01-23cmake/eina: match and build all modules statically by default.Gustavo Sverzut Barbieri
2017-01-23cmake: fix module define translation.Gustavo Sverzut Barbieri
we can't check the options in config/eina.cmake as they were not created at that point, instead we must have a "post" file that is included after everything else is processed, options/targets all exist and can be modified.
2017-01-23cmake: add eoMarcel Hollerbach
2017-01-23build: add eolianMarcel Hollerbach
2017-01-23cmake: reduce number of redundant variables set in cmake.Gustavo Sverzut Barbieri
Avoid redundant variables in cmake, whenever they are needed as duplicates, only do that in the template.
2017-01-23build: use CMAKE defined variablesMarcel Hollerbach
2017-01-23build: make eina workingMarcel Hollerbach
This brings in the checks for all the headers and function that are required in eina. With this commit only a few other checks are missing. This is NOT tested on windows or mac os i can just verify that it runs here on a arch linux system.
2017-01-23build: define symbol exist variables for local scopeMarcel Hollerbach
otherwise CHECK_SYMBOL_EXISTS doesnt work as expected.
2017-01-23build: we build dev per defaultMarcel Hollerbach
2017-01-23build: set MODULE_ARCH correctlyMarcel Hollerbach
2017-01-23EflMacros: automatically provide ON;OFF;STATIC option and defines.Gustavo Sverzut Barbieri
Automatically create one option to enable, disable or make it statically linked into the code, with a define to reflect build type.
2017-01-23cmake: we need to enable beta api supportMarcel Hollerbach
otherwise we cannot build our own api...
2017-01-23EflMacros: auto-handling of pkg-config files.Gustavo Sverzut Barbieri
2017-01-23EflMacros: major improvements towards usability.Gustavo Sverzut Barbieri
Stick to one target per directory and remove prefix from variables, makes it cleaner and easier to use. Document variables used and use a more consistent name that matches CMake properties.
2017-01-23CMake: infra to build modules (static, on or off).Gustavo Sverzut Barbieri
2017-01-23CMake: rework to use some helper macros.Gustavo Sverzut Barbieri
This tries to defines some macros to create a cleaner build system.