| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This build was never complete and also was not maintained probebly.
It is also dropped in favour of meson which is cool, merged, works & is fast.
Differential Revision: https://phab.enlightenment.org/D7010
|
|
|
|
|
| |
One can use virtual 'find-XXX' entries in LIBRARIES or
PUBLIC_LIBRARIES to use XXX_LIBRARIES and XXX_INCLUDE_DIR.
|
|
|
|
|
|
|
| |
support libraries (src/static_libs), such as rg_etc, must not be
handled as a regular target, after all these are usually not shared
library and if they are, they have no .pc associated, then we use "-l"
as for system libraries, but using the installation path.
|
|
|
|
|
|
| |
ecore_con provides ecore-con, but ethumb_client provides
ethumb_client. That means we need replace '_' with '-' and allow to
override that, so ethumb_client will work.
|
| |
|
|
|
|
| |
this matches the platform preference whenever lib, lib32 or lib64.
|
|
|
|
|
| |
utility binaries shouldn't be in bin ($PATH), but in a
library-specific directory (lib/${libname}/utils/v-${maj}.${min})
|
| |
|
|
|
|
|
| |
actually wasn't a bug, I need to specify -gchl to generate legacy as
well.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
segment the options based on libraries, makes it easier to read.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
These are used on Windows builds to force dllexport/dllimport.
|
|
|
|
|
| |
similar to tests, binaries should also follow the same rule and allow
single-binaries with single-source.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
otherwise we can't have modules off by default.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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)
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
the only difference is they do not get installed, but may be used to
generate internal .eo.c
|
|
|
|
|
| |
it wasn't using the given generation_dir parameter, it was reseting
the loop variable (which worked, but is nasty).
|
|
|
|
|
| |
unset the eo variables before we go process modules, tests and
binaries.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
simple name may repeat, like 'suite'.
|
|
|
|
|
| |
For internal libraries (those we have a target), generate a pkg-config
one instead of going with the -lNAME route.
|
|
|
|
| |
we need the eolian-bin for ${target}-eo not ${target}
|
|
|
|
| |
otherwise new cmake runs will duplicate the lists over and over again.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
'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.
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Automatically create one option to enable, disable or make it
statically linked into the code, with a define to reflect build type.
|
|
|
|
| |
otherwise we are linking symbols
|
| |
|
|
|
|
|
| |
The version defines are now done all the time. and the version pattern
does mach the one from autotools. And supports release mode now.
|
|
|
|
| |
this should support all the vars used in all efl subsystems
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|