Commit Graph

79 Commits

Author SHA1 Message Date
Gustavo Sverzut Barbieri a3ac62235b cmake: fix typo, use space not a list separator 2017-01-23 16:15:36 -02:00
Gustavo Sverzut Barbieri 7a32c13da7 cmake: reset temporary lists from cache.
otherwise new cmake runs will duplicate the lists over and over again.
2017-01-23 16:09:50 -02:00
Gustavo Sverzut Barbieri f59dfc3ab8 cmake: move functions to EflMacros.cmake 2017-01-23 16:09:50 -02:00
Gustavo Sverzut Barbieri e8f2bdb079 cmake: better functions to check headers, functions and types.
functions that handle all the required settings in one place.
2017-01-23 16:09:50 -02:00
Marcel Hollerbach ea83a197be build: add eolian 2017-01-23 18:52:34 +01:00
Marcel Hollerbach 65ce7abb00 cmake: remove debugging output 2017-01-23 18:25:15 +01:00
Gustavo Sverzut Barbieri e36a444c54 cmake: only update config_headers.h if contents changed.
Generate to a temporary location and avoid touching the original file
if it's unchanged. This way we play nicer with build system that
regenerate objects based on file timestamps.
2017-01-23 18:23:41 +01:00
Gustavo Sverzut Barbieri fe7a21170c cmake: reduce number of redundant variables set in cmake.
Avoid redundant variables in cmake, whenever they are needed as
duplicates, only do that in the template.
2017-01-23 18:23:41 +01:00
Gustavo Sverzut Barbieri b10fc88bb0 EflMacros: build tests before running them.
'make test' wouldn't build the test, which is annoying.

There is no way to add dependencies to reserved target 'test'. The
test is also executed by another tool (ctest), not cmake itself, then
we must create a test '-build' that is actually calling back cmake to
compile the test suite and make it a dependency for the test itself.

Nasty but improves usability.
2017-01-23 18:23:41 +01:00
Marcel Hollerbach f009bc8b2b build: check for the mtrace header 2017-01-23 18:23:41 +01:00
Marcel Hollerbach 71d6fcc0c4 build: add eo files generation to the macros
this will generate eo.h eo.c rules for SOURCES and public eo files.
This also installes the eo.h files from the public eo files into the
include directory, and installes the eo files into the correct location
2017-01-23 18:23:40 +01:00
Marcel Hollerbach 34074fd0e7 build: use CMAKE defined variables 2017-01-23 18:23:40 +01:00
Marcel Hollerbach 6c87f62b90 build: make eina working
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-23 18:23:40 +01:00
Marcel Hollerbach 23dddf8e1c build: define symbol exist variables for local scope
otherwise CHECK_SYMBOL_EXISTS doesnt work as expected.
2017-01-23 18:23:40 +01:00
Marcel Hollerbach 5c548d4c63 build: we build dev per default 2017-01-23 18:23:40 +01:00
Marcel Hollerbach 40cb00dc57 build: set MODULE_ARCH correctly 2017-01-23 18:23:40 +01:00
Gustavo Sverzut Barbieri 8df6ac453d EflMacros: automatically provide ON;OFF;STATIC option and defines.
Automatically create one option to enable, disable or make it
statically linked into the code, with a define to reflect build type.
2017-01-23 18:23:40 +01:00
Marcel Hollerbach 308c8c4ef7 cmake: This should be public linked no private
otherwise we are linking symbols
2017-01-23 18:23:40 +01:00
Marcel Hollerbach e1e7614ea4 build: PACKAGE_BUILD_DIR is now defined for everyone 2017-01-23 18:23:40 +01:00
Marcel Hollerbach 2a5c2a0c3c cmake: improve versioning
The version defines are now done all the time. and the version pattern
does mach the one from autotools. And supports release mode now.
2017-01-23 18:23:40 +01:00
Marcel Hollerbach 9f2a2f7968 cmake: we need to enable beta api support
otherwise we cannot build our own api...
2017-01-23 18:23:40 +01:00
Marcel Hollerbach fe1863e30d cmake: move PACKAGE defines into a sane place
this should support all the vars used in all efl subsystems
2017-01-23 18:23:40 +01:00
Gustavo Sverzut Barbieri 76e68de5d6 EflMacros: auto-handling of pkg-config files. 2017-01-23 18:23:40 +01:00
Gustavo Sverzut Barbieri d9815a6837 CMake: move eina binaries to single dir, add helper macros.
For one-source directories, be smart and just define SOURCES to that,
will reduce the number of too-simplistic CMakeLists.txt in our tree.

This also fixes problems with libraries, they should be private, not
public. So specify both kinds as different variables.
2017-01-23 18:23:40 +01:00
Gustavo Sverzut Barbieri 3d5abc081f EflMacros: major improvements towards usability.
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-23 18:23:40 +01:00
Gustavo Sverzut Barbieri e1b98ca4f2 EflMacros: trust target name.
since this will be made automatic later and we can guarantee
consistency in the file hierarchy, no need to lowercase that.
2017-01-23 18:23:40 +01:00
Gustavo Sverzut Barbieri c4e78153b1 EflMacros: replace macros with functions.
Macros do not start a new scope and can leave leftovers, then use
functions. However to set and append to global scope is cumbersome,
add functions to aid that.
2017-01-23 18:23:40 +01:00
Gustavo Sverzut Barbieri 76212a9162 CMake: infra to build modules (static, on or off). 2017-01-23 18:23:40 +01:00
Gustavo Sverzut Barbieri dee24c3821 CMake: rework to use some helper macros.
This tries to defines some macros to create a cleaner build system.
2017-01-23 18:23:40 +01:00