platform/upstream/efl.git
7 years agocmake: create and install 'checkme' files for libraries.
Gustavo Sverzut Barbieri [Fri, 27 Jan 2017 18:54:11 +0000 (16:54 -0200)]
cmake: create and install 'checkme' files for libraries.

7 years agocmake: use CMAKE_INSTALL_LIBDIR instead of 'lib'
Gustavo Sverzut Barbieri [Fri, 27 Jan 2017 18:53:14 +0000 (16:53 -0200)]
cmake: use CMAKE_INSTALL_LIBDIR instead of 'lib'

this matches the platform preference whenever lib, lib32 or lib64.

7 years agocmake: EFL_BIN() now checks for EFL_UTILITY and installs to proper location.
Gustavo Sverzut Barbieri [Fri, 27 Jan 2017 17:27:51 +0000 (15:27 -0200)]
cmake: EFL_BIN() now checks for EFL_UTILITY and installs to proper location.

utility binaries shouldn't be in bin ($PATH), but in a
library-specific directory (lib/${libname}/utils/v-${maj}.${min})

7 years agocmake/eo: expose HAVE_EO_ID to build via config_gen.h
Gustavo Sverzut Barbieri [Fri, 27 Jan 2017 17:26:07 +0000 (15:26 -0200)]
cmake/eo: expose HAVE_EO_ID to build via config_gen.h

7 years agoecore_con: add missing string nul byte terminator to efl_net_ip_address.
Gustavo Sverzut Barbieri [Fri, 27 Jan 2017 17:25:23 +0000 (15:25 -0200)]
ecore_con: add missing string nul byte terminator to efl_net_ip_address.

7 years agoeolian gen: imply -gT if -o T:f is specified
Daniel Kolesa [Fri, 27 Jan 2017 16:11:43 +0000 (17:11 +0100)]
eolian gen: imply -gT if -o T:f is specified

If you specify type-explicit output filename, this automatically
adds it so that it's generated even without specifying -gT.

This is meant to help user friendliness. Also add a note about
this to help listing.

7 years agocmake: remove comment, it was my misunderstanding, not a bug.
Gustavo Sverzut Barbieri [Fri, 27 Jan 2017 15:57:10 +0000 (13:57 -0200)]
cmake: remove comment, it was my misunderstanding, not a bug.

7 years agocmake/eolian: generate source, headers and legacy in one command.
Gustavo Sverzut Barbieri [Fri, 27 Jan 2017 15:53:15 +0000 (13:53 -0200)]
cmake/eolian: generate source, headers and legacy in one command.

actually wasn't a bug, I need to specify -gchl to generate legacy as
well.

7 years agocmake: fix make-clean as add_custom_command() deletes output files.
Gustavo Sverzut Barbieri [Fri, 27 Jan 2017 15:34:25 +0000 (13:34 -0200)]
cmake: fix make-clean as add_custom_command() deletes output files.

there is no way to mark output file as "precious", then cmake's
suggestion is to use add_custom_target() instead.

However that will always execute, so our generator script needs to be
smarter and only touch stuff when actually needed.

7 years agocmake: add EFL_SUPPORT_LIB() and simplify/speedup its usage.
Gustavo Sverzut Barbieri [Fri, 27 Jan 2017 14:38:52 +0000 (12:38 -0200)]
cmake: add EFL_SUPPORT_LIB() and simplify/speedup its usage.

generate a static library for src/static_libs and use that as
LIBRARIES for the actual library, for those such as rg_etc that are
used multiple times will even speed up the final build by compiling
only once.

Although not used, they can be made into shared libraries that would
go inside /usr/lib/efl/support/v-1.19/libname.so

7 years agocmake: add ector.
Gustavo Sverzut Barbieri [Fri, 27 Jan 2017 12:45:20 +0000 (10:45 -0200)]
cmake: add ector.

7 years agocmake/tests: improve naming and add missing include directories.
Gustavo Sverzut Barbieri [Fri, 27 Jan 2017 12:34:58 +0000 (10:34 -0200)]
cmake/tests: improve naming and add missing include directories.

Some tests were relocated to subdirectory but need shared files, or
may need files from src/tests by including them relatively (../) as
done in ector.

With subdirectories we may end with src/test/libname/suite, to make it
more user friendly and backward compatible call these libname_suite.

7 years agocmake: auto-include subdirectories with generated .eo.*
Gustavo Sverzut Barbieri [Fri, 27 Jan 2017 12:13:34 +0000 (10:13 -0200)]
cmake: auto-include subdirectories with generated .eo.*

7 years agocmake: if path is absolute, include as-is.
Gustavo Sverzut Barbieri [Fri, 27 Jan 2017 12:03:44 +0000 (10:03 -0200)]
cmake: if path is absolute, include as-is.

7 years agocmake: add embryo.
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 18:36:21 +0000 (16:36 -0200)]
cmake: add embryo.

7 years agocmake: add missing files (oops)
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 18:22:49 +0000 (16:22 -0200)]
cmake: add missing files (oops)

7 years agocmake: enable systemd/upower ecore modules.
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 18:21:17 +0000 (16:21 -0200)]
cmake: enable systemd/upower ecore modules.

eldbus was a dependency.

7 years agocmake: add eldbus.
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 18:16:15 +0000 (16:16 -0200)]
cmake: add eldbus.

7 years agocmake: improve options summary with per-library values.
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 17:50:05 +0000 (15:50 -0200)]
cmake: improve options summary with per-library values.

segment the options based on libraries, makes it easier to read.

7 years agocmake: fix strlcpy() detection and usage.
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 17:35:35 +0000 (15:35 -0200)]
cmake: fix strlcpy() detection and usage.

Linux usually ship with strlcpy(), but it's inside bsd/string.h and
needs -lbsd.

On BSD it's inside string.h and libc.

7 years agocmake: more headers and function checks.
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 17:25:17 +0000 (15:25 -0200)]
cmake: more headers and function checks.

7 years agodocgen: link to the method an overriden one overrides
Daniel Kolesa [Thu, 26 Jan 2017 16:50:16 +0000 (17:50 +0100)]
docgen: link to the method an overriden one overrides

7 years agodocgen: autodocument inherited methods/properties
Daniel Kolesa [Thu, 26 Jan 2017 16:40:16 +0000 (17:40 +0100)]
docgen: autodocument inherited methods/properties

7 years agocmake/eolian: fix EOLIAN_BIN type.
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 16:48:20 +0000 (14:48 -0200)]
cmake/eolian: fix EOLIAN_BIN type.

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.

7 years agocmake: define EFL_{LIB}_BUILD and DLL_EXPORT.
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 16:20:52 +0000 (14:20 -0200)]
cmake: define EFL_{LIB}_BUILD and DLL_EXPORT.

These are used on Windows builds to force dllexport/dllimport.

7 years agocmake: add eet.
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 16:02:21 +0000 (14:02 -0200)]
cmake: add eet.

7 years agocmake: auto-detect binaries in src/bin/libname if no CMakeLists.txt
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 15:58:26 +0000 (13:58 -0200)]
cmake: auto-detect binaries in src/bin/libname if no CMakeLists.txt

similar to tests, binaries should also follow the same rule and allow
single-binaries with single-source.

7 years agocmake: auto-detect tests in src/tests/libname if no CMakeLists.txt
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 15:56:49 +0000 (13:56 -0200)]
cmake: auto-detect tests in src/tests/libname if no CMakeLists.txt

previously we were only auto-detecting sources in src/tests/libname/
subdirectories, but we should also check the parent directory if no
subdirectories were processed.

7 years agocmake: fix test include and defines.
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 15:54:19 +0000 (13:54 -0200)]
cmake: fix test include and defines.

TESTS_WD is prefixed to TESTS_SRC_DIR and should be empty (no idea why
it's like that, maybe to allow relative paths).

TESTS_SRC_DIR must be defined to test source directory and a typo was
preventing that.

7 years agocmake: add emile and EFL_OPTION_BACKEND()
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 15:13:51 +0000 (13:13 -0200)]
cmake: add emile and EFL_OPTION_BACKEND()

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

7 years agocmake: pkg-config can have version and needs HAVE/ENABLED defines.
Gustavo Sverzut Barbieri [Thu, 26 Jan 2017 13:13:01 +0000 (11:13 -0200)]
cmake: pkg-config can have version and needs HAVE/ENABLED defines.

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.

7 years agoBattery Theme: Don't set min sizes -- Fixes sizing of batman.
Stephen 'Okra' Houston [Thu, 26 Jan 2017 15:33:25 +0000 (09:33 -0600)]
Battery Theme: Don't set min sizes -- Fixes sizing of batman.

7 years agogengrid: fix serach items in genlist by text
Vyacheslav Reutskiy [Thu, 26 Jan 2017 08:54:30 +0000 (10:54 +0200)]
gengrid: fix serach items in genlist by text

If a part name is NULL get text for search from TEXT part 'elm.text".

@fix

7 years agocmake: add ecore.
Gustavo Sverzut Barbieri [Wed, 25 Jan 2017 21:26:02 +0000 (19:26 -0200)]
cmake: add ecore.

no tests or modules (which depend on eldbus).

7 years agocmake: add efl library.
Gustavo Sverzut Barbieri [Wed, 25 Jan 2017 21:24:00 +0000 (19:24 -0200)]
cmake: add efl library.

still no tests and no binaries, but compiles the interfaces required
by other libraries such as ecore.

7 years agocmake: check for variable defined, not if it evaluates to false.
Gustavo Sverzut Barbieri [Wed, 25 Jan 2017 21:22:11 +0000 (19:22 -0200)]
cmake: check for variable defined, not if it evaluates to false.

otherwise we can't have modules off by default.

7 years agocmake/eina: check more required functions and link with unwind if found.
Gustavo Sverzut Barbieri [Wed, 25 Jan 2017 21:21:06 +0000 (19:21 -0200)]
cmake/eina: check more required functions and link with unwind if found.

unwind is needed for debug, thus link to that.

7 years agocmake: improvements to eolian handling.
Gustavo Sverzut Barbieri [Wed, 25 Jan 2017 21:16:06 +0000 (19:16 -0200)]
cmake: improvements to eolian handling.

 - fix doc and state SOURCES shouldn't get any EO_FILES, these should
   go to the specific PUBLIC_EO_FILES or EO_FILES.

 - generate eolian files in relative directories, required by
   efl/interfaces

 - .eot files fail if you give -o c:..., they need an explicit "-gh"
   followed by "-o i:..."

 - .legacy.h are generated automatically, but needs an extra pass (q66
   was informed about it)

 - if EOLIAN_BIN=on, then use in-tree binary, depending on such target
   only if it's the case. This allow cross-compiling and also bypass
   regenerate all .eo files if eina/eolian changed (as requested by
   Raster), simply reconfigure with EOLIAN_BIN=path, which can be
   EOLIAN_BIN=bin/eolian_gen if you wish ;-)

 - use COMMENT keyword to change the eolian summary (output)

7 years agocmake: if EOLIAN_BIN=ON, use built eolian_gen.
Gustavo Sverzut Barbieri [Wed, 25 Jan 2017 18:02:25 +0000 (16:02 -0200)]
cmake: if EOLIAN_BIN=ON, use built eolian_gen.

7 years agocmake: EFL_OPTION() now supports DEPENDS to handle conditionals.
Gustavo Sverzut Barbieri [Wed, 25 Jan 2017 16:50:04 +0000 (14:50 -0200)]
cmake: EFL_OPTION() now supports DEPENDS to handle conditionals.

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.

7 years agocmake/common: add missing checks for eina, simplify to one file.
Gustavo Sverzut Barbieri [Wed, 25 Jan 2017 15:03:52 +0000 (13:03 -0200)]
cmake/common: add missing checks for eina, simplify to one file.

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').

7 years agoecore-wl2: Don't set opaque or input regions if already set
Chris Michael [Wed, 25 Jan 2017 17:02:35 +0000 (12:02 -0500)]
ecore-wl2: Don't set opaque or input regions if already set

If the window opaque/input regions already match what is being
requested (to be set), then no need for the compositor to create
regions and set them.

@optimize
@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoRevert "evas: Fix resource leak in evas_module_find_type"
Chris Michael [Wed, 25 Jan 2017 14:40:07 +0000 (09:40 -0500)]
Revert "evas: Fix resource leak in evas_module_find_type"

Reverting this as it causes crashes in Terminology and other EFL apps.
Needs investigation.

This reverts commit 8b2ca30eb5bc112b47155cc3694be1aa39b1345f.

7 years agoedje_entry: don't send a 'changed' signal if Control is lock
Vyacheslav Reutskiy [Wed, 25 Jan 2017 14:10:47 +0000 (16:10 +0200)]
edje_entry: don't send a 'changed' signal if Control is lock

This patch is avoid extra 'change' signals from edje_entry to
elm_entry.
Basically the entry fields does not react to keys pressed with
modificator 'Ctrl'. I was test on Windows 7, MacOS 10.12 and Unity
(GTK+) and they all have similar behavior - keys with 'Ctrl' are
ignored. So this patch make expected beharior for elm_entry
(edje_entry).

7 years agoelput: Fix resource leak
Chris Michael [Wed, 25 Jan 2017 14:01:12 +0000 (09:01 -0500)]
elput: Fix resource leak

Coverity reports that we leak 'msg' here if we fail to append
arguments to the message.

Fixes CID1367499

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoethumb: Fix resource leak
Chris Michael [Wed, 25 Jan 2017 13:56:38 +0000 (08:56 -0500)]
ethumb: Fix resource leak

Coverity reports a resource leak here as we were not freeing
'sanitized_path' inside the if statement.

Fixes CID1367502

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoevas: Fix resource leak in evas_module_find_type
Chris Michael [Wed, 25 Jan 2017 13:53:41 +0000 (08:53 -0500)]
evas: Fix resource leak in evas_module_find_type

Coverity reports a resource leak here if we successfully load the evas
module as we were never freeing the eina_module here. Previously we
would just return the evas module without proper cleanup of the
eina_module. This patch fixes the leak by calling eina_module_free if
we successfully load the evas module.

Fixes CID1367503

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoevas: Minor formatting fix
Chris Michael [Wed, 25 Jan 2017 13:52:47 +0000 (08:52 -0500)]
evas: Minor formatting fix

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore_input: support PS4 joystick
Shinwoo Kim [Wed, 25 Jan 2017 13:31:03 +0000 (22:31 +0900)]
ecore_input: support PS4 joystick

Add joystick mapper for Sony Computer Entertainment Wireless Controller

7 years agoedje - fix border scale by interpolation
Carsten Haitzler (Rasterman) [Wed, 25 Jan 2017 13:30:13 +0000 (22:30 +0900)]
edje - fix border scale by interpolation

several theme elements uses transitioning border scale by for
animation and this has been broken for quite some time now. the theme
sall looked wrong for ages. i just never junted down exactly why, but
i know... i wrote the themes that made use of scale by animation
interpolating from like 0.1 to 1 and so on to make for example a
shadow go from sharp to blurry... the theme hasnt changed. edje did.
it broke.

this fixes it back to where it was. interpolation now works. i left a
comment so no one tries to "fix it".

@fix

7 years agoevas - proxy - fix clipping of proxy renders that broke terminology
Carsten Haitzler (Rasterman) [Wed, 25 Jan 2017 09:44:58 +0000 (18:44 +0900)]
evas - proxy - fix clipping of proxy renders that broke terminology

so proxies just rendered nothing when used in terminology. they used
to work for the tab switcher (ctl+shift+home). this now works again.

there is a good chance this may break something else though... what i
can't seem to find...

this fixes T5131

7 years agogengrid : fix mirrored position calculate to apply pan width instead of object width
SangHyeon Lee [Wed, 25 Jan 2017 04:11:08 +0000 (13:11 +0900)]
gengrid : fix mirrored position calculate to apply pan width instead of object width

the pan object width can be different with object width,
because of padding and bar area, so we should using pan's width
instead of object width for mirrored calculation.

in elementary_test gengrid sample, you can see, when mirrored on,
the alignment is broken before merge this patch.

Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
7 years agogenlist: fix mem leak on focus next
Amitesh Singh [Tue, 24 Jan 2017 17:20:24 +0000 (22:50 +0530)]
genlist: fix mem leak on focus next

This patch fixes an eina list mem leak on each
focus next(tab/alt-tab) traversal.

@fix

7 years agoindex: fix mem leak on focus next
Amitesh Singh [Tue, 24 Jan 2017 16:45:55 +0000 (22:15 +0530)]
index: fix mem leak on focus next

This patch fixes an eina list mem leak on each
focus next(tab/alt-tab) traversal.

@fix

7 years agoevas_inline: Change the return value for readabilty
Jiyoun Park [Tue, 24 Jan 2017 06:34:24 +0000 (15:34 +0900)]
evas_inline: Change the return value for readabilty

7 years agocmake: major rework of check and pkg-config dependencies.
Gustavo Sverzut Barbieri [Tue, 24 Jan 2017 01:55:33 +0000 (23:55 -0200)]
cmake: major rework of check and pkg-config dependencies.

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.

7 years agocmake/eina: match configure.ac and build all modules statically by default.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 21:50:04 +0000 (19:50 -0200)]
cmake/eina: match configure.ac and build all modules statically by default.

7 years agocmake/eo: simplifies eo handling and generate eolian info in .pc.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 21:35:51 +0000 (19:35 -0200)]
cmake/eo: simplifies eo handling and generate eolian info in .pc.

added 2 cmake target properties to collect private and public eo
files, then that is used by EFL_CREATE_EO_RULES() instead of filtering
SOURCES and also EFL_PKG_CONFIG_LIB_WRITE() to know if eolian entries
should be generated.

7 years agocmake/eo: add description (fills eo.pc file)
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 21:34:39 +0000 (19:34 -0200)]
cmake/eo: add description (fills eo.pc file)

7 years agocmake/eina: only pthread is public, rt/dl/m are all private.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 21:33:35 +0000 (19:33 -0200)]
cmake/eina: only pthread is public, rt/dl/m are all private.

7 years agocmake: also process non-public eo files.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 21:04:30 +0000 (19:04 -0200)]
cmake: also process non-public eo files.

the only difference is they do not get installed, but may be used to
generate internal .eo.c

7 years agocmake: cleanup EFL_CREATE_EO_RULES().
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 20:57:53 +0000 (18:57 -0200)]
cmake: cleanup EFL_CREATE_EO_RULES().

it wasn't using the given generation_dir parameter, it was reseting
the loop variable (which worked, but is nasty).

7 years agocmake: minor simplification of eo files, do not leak vars.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 20:40:39 +0000 (18:40 -0200)]
cmake: minor simplification of eo files, do not leak vars.

unset the eo variables before we go process modules, tests and
binaries.

7 years agobuild: Depend on wayland-protocols for wayland build
Derek Foreman [Mon, 23 Jan 2017 20:36:32 +0000 (14:36 -0600)]
build: Depend on wayland-protocols for wayland build

We need this to auto-generate protocol files for things like
xdg-shell.

7 years agocmake: fix module define translation.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 20:25:22 +0000 (18:25 -0200)]
cmake: fix module define translation.

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.

7 years agocmake: always use test target name, not simple name.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 20:19:29 +0000 (18:19 -0200)]
cmake: always use test target name, not simple name.

simple name may repeat, like 'suite'.

7 years agofix build with split eina_modinfo directory.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 20:01:07 +0000 (18:01 -0200)]
fix build with split eina_modinfo directory.

7 years agocmake: be smart on internal libraries in the generated .pc files.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 19:28:48 +0000 (17:28 -0200)]
cmake: be smart on internal libraries in the generated .pc files.

For internal libraries (those we have a target), generate a pkg-config
one instead of going with the -lNAME route.

7 years agocmake: eina needs rt
Marcel Hollerbach [Mon, 23 Jan 2017 19:08:55 +0000 (20:08 +0100)]
cmake: eina needs rt

for open_shm

7 years agocmake: add that dependency to the right target
Marcel Hollerbach [Mon, 23 Jan 2017 18:47:50 +0000 (19:47 +0100)]
cmake: add that dependency to the right target

we need the eolian-bin for ${target}-eo not ${target}

7 years agocmake: add eo
Marcel Hollerbach [Mon, 23 Jan 2017 18:58:12 +0000 (19:58 +0100)]
cmake: add eo

7 years agoplease READ :-)
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 18:48:50 +0000 (16:48 -0200)]
please READ :-)

7 years agocmake: fix typo, use space not a list separator
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 18:15:36 +0000 (16:15 -0200)]
cmake: fix typo, use space not a list separator

7 years agocmake: reset temporary lists from cache.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 18:03:30 +0000 (16:03 -0200)]
cmake: reset temporary lists from cache.

otherwise new cmake runs will duplicate the lists over and over again.

7 years agocmake: move functions to EflMacros.cmake
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 17:58:17 +0000 (15:58 -0200)]
cmake: move functions to EflMacros.cmake

7 years agocmake: better functions to check headers, functions and types.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 17:49:17 +0000 (15:49 -0200)]
cmake: better functions to check headers, functions and types.

functions that handle all the required settings in one place.

7 years agobuild: add eolian
Marcel Hollerbach [Mon, 23 Jan 2017 17:52:34 +0000 (18:52 +0100)]
build: add eolian

7 years agocmake: remove debugging output
Marcel Hollerbach [Mon, 23 Jan 2017 17:25:15 +0000 (18:25 +0100)]
cmake: remove debugging output

7 years agocmake: only update config_headers.h if contents changed.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 16:33:30 +0000 (14:33 -0200)]
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.

7 years agocmake: reduce number of redundant variables set in cmake.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 16:27:20 +0000 (14:27 -0200)]
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.

7 years agoEflMacros: build tests before running them.
Gustavo Sverzut Barbieri [Mon, 23 Jan 2017 16:02:08 +0000 (14:02 -0200)]
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.

7 years agobuild: check for the mtrace header
Marcel Hollerbach [Mon, 23 Jan 2017 17:15:50 +0000 (18:15 +0100)]
build: check for the mtrace header

7 years agobuild: add eo files generation to the macros
Marcel Hollerbach [Mon, 23 Jan 2017 17:13:03 +0000 (18:13 +0100)]
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

7 years agobuild: use CMAKE defined variables
Marcel Hollerbach [Mon, 23 Jan 2017 14:51:30 +0000 (15:51 +0100)]
build: use CMAKE defined variables

7 years agobuild: make eina working
Marcel Hollerbach [Sat, 21 Jan 2017 21:12:42 +0000 (22:12 +0100)]
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.

7 years agobuild: define symbol exist variables for local scope
Marcel Hollerbach [Sat, 21 Jan 2017 18:27:44 +0000 (19:27 +0100)]
build: define symbol exist variables for local scope

otherwise CHECK_SYMBOL_EXISTS doesnt work as expected.

7 years agobuild: we build dev per default
Marcel Hollerbach [Sat, 21 Jan 2017 15:16:25 +0000 (16:16 +0100)]
build: we build dev per default

7 years agobuild: set MODULE_ARCH correctly
Marcel Hollerbach [Sat, 21 Jan 2017 15:16:02 +0000 (16:16 +0100)]
build: set MODULE_ARCH correctly

7 years agoEflMacros: automatically provide ON;OFF;STATIC option and defines.
Gustavo Sverzut Barbieri [Sat, 21 Jan 2017 12:20:18 +0000 (10:20 -0200)]
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.

7 years agocmake: This should be public linked no private
Marcel Hollerbach [Sat, 21 Jan 2017 12:41:47 +0000 (13:41 +0100)]
cmake: This should be public linked no private

otherwise we are linking symbols

7 years agobuild: PACKAGE_BUILD_DIR is now defined for everyone
Marcel Hollerbach [Sat, 21 Jan 2017 12:35:36 +0000 (13:35 +0100)]
build: PACKAGE_BUILD_DIR is now defined for everyone

7 years agocmake: improve versioning
Marcel Hollerbach [Sat, 21 Jan 2017 12:27:17 +0000 (13:27 +0100)]
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.

7 years agocmake: we need to enable beta api support
Marcel Hollerbach [Sat, 21 Jan 2017 11:17:12 +0000 (12:17 +0100)]
cmake: we need to enable beta api support

otherwise we cannot build our own api...

7 years agocmake: move PACKAGE defines into a sane place
Marcel Hollerbach [Sat, 21 Jan 2017 11:12:57 +0000 (12:12 +0100)]
cmake: move PACKAGE defines into a sane place

this should support all the vars used in all efl subsystems

7 years agoEflMacros: auto-handling of pkg-config files.
Gustavo Sverzut Barbieri [Fri, 20 Jan 2017 17:15:37 +0000 (15:15 -0200)]
EflMacros: auto-handling of pkg-config files.

7 years agoCMake: move eina binaries to single dir, add helper macros.
Gustavo Sverzut Barbieri [Fri, 20 Jan 2017 15:53:56 +0000 (13:53 -0200)]
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.

7 years agoEflMacros: major improvements towards usability.
Gustavo Sverzut Barbieri [Fri, 20 Jan 2017 14:58:21 +0000 (12:58 -0200)]
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.

7 years agoEflMacros: trust target name.
Gustavo Sverzut Barbieri [Fri, 20 Jan 2017 12:25:55 +0000 (10:25 -0200)]
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.

7 years agoEflMacros: replace macros with functions.
Gustavo Sverzut Barbieri [Fri, 20 Jan 2017 11:39:46 +0000 (09:39 -0200)]
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.

7 years agoCMake: infra to build modules (static, on or off).
Gustavo Sverzut Barbieri [Thu, 19 Jan 2017 22:49:44 +0000 (20:49 -0200)]
CMake: infra to build modules (static, on or off).