diff --git a/CMakeLists.txt b/CMakeLists.txt index 8fb13c9ca6..7196aa8a67 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,6 +35,7 @@ EFL_LIB(eina) EFL_LIB(eolian) EFL_LIB(eo) EFL_LIB(efl) +EFL_LIB(ecore) EFL_OPTIONS_SUMMARY() diff --git a/cmake/config/ecore.cmake b/cmake/config/ecore.cmake new file mode 100644 index 0000000000..c0441d20fa --- /dev/null +++ b/cmake/config/ecore.cmake @@ -0,0 +1,43 @@ +pkg_check_modules(GLIB glib-2.0) +pkg_check_modules(TIZEN vconf) + +EFL_OPTION(ENABLE_GLIB "Whenever to integrate with Glib" ${GLIB_FOUND} DEPENDS GLIB_FOUND OFF) + +EFL_OPTION(ENABLE_GLIB_ALWAYS "Always integrate with Glib, otheriwse needs explicit call to ecore_main_loop_glib_integrate()" OFF DEPENDS "ENABLE_GLIB" OFF) + +EFL_OPTION(ENABLE_G_MAIN_LOOP "Enable ecore_main_loop based on g_main_loop" OFF DEPENDS "ENABLE_GLIB" OFF) + +EFL_OPTION(ENABLE_TIZEN "Enable tizen support" OFF DEPENDS "TIZEN_FOUND" OFF) + +# TODO: these need eldbus +set(ECORE_MODULE_TYPE_SYSTEM_SYSTEMD_DEFAULT OFF) # ${ENABLE_SYSTEMD}) +set(ECORE_MODULE_TYPE_SYSTEM_UPOWER_DEFAULT OFF) +set(ECORE_MODULE_TYPE_SYSTEM_TIZEN_DEFAULT ${ENABLE_TIZEN}) + +# TODO libuv +# TODO gstreamer +# TODO gstreamer1 + +if("${BUILD_PROFILE}" STREQUAL "dev" AND HAVE_BACKTRACE) + CHECK_APPEND_DEFINE(WANT_ECORE_TIMER_DUMP 1) +else() + CHECK_APPEND_DEFINE(WANT_ECORE_TIMER_DUMP "") +endif() + +CHECK_APPEND_DEFINE(GLIB_INTEGRATION_ALWAYS "${ENABLE_GLIB_ALWAYS}") +CHECK_APPEND_DEFINE(HAVE_GLIB "${ENABLE_GLIB}") +CHECK_APPEND_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER "${ENABLE_TIZEN}") +CHECK_APPEND_DEFINE(USE_G_MAIN_LOOP "${ENABLE_G_MAIN_LOOP}") + +FUNC_CHECK(epoll_create NAME HAVE_EPOLL INCLUDE_FILES sys/epoll.h) +FUNC_CHECK(execvp INCLUDE_FILES unistd.h) +FUNC_CHECK(gettimeofday INCLUDE_FILES sys/time.h) +FUNC_CHECK(isfinite INCLUDE_FILES math.h LIBRARIES m) +FUNC_CHECK(pause INCLUDE_FILES unistd.h) +FUNC_CHECK(timerfd_create INCLUDE_FILES sys/timerfd.h) + +HEADER_CHECK(ieeefp.h) +HEADER_CHECK(langinfo.h) +HEADER_CHECK(sys/epoll.h) +HEADER_CHECK(sys/timerfd.h) +HEADER_CHECK(sys/wait.h) diff --git a/src/lib/ecore/CMakeLists.txt b/src/lib/ecore/CMakeLists.txt new file mode 100644 index 0000000000..0425ce9833 --- /dev/null +++ b/src/lib/ecore/CMakeLists.txt @@ -0,0 +1,96 @@ +set(DESCRIPTION "Ecore event abstraction library") + +set(PUBLIC_LIBRARIES + efl + eina + eo +) + +set(LIBRARIES + m +) + +if(ENABLE_SYSTEMD) + list(APPEND PKG_CONFIG_REQUIRES_PRIVATE libsystemd) +endif() + +if(ENABLE_GLIB) + list(APPEND PKG_CONFIG_REQUIRES_PRIVATE glib-2.0 gthread-2.0) +endif() + +set(PUBLIC_EO_FILES + ecore_exe.eo + ecore_poller.eo + ecore_types.eot + efl_io_buffered_stream.eo + efl_io_closer_fd.eo + efl_io_copier.eo + efl_io_file.eo + efl_io_positioner_fd.eo + efl_io_reader_fd.eo + efl_io_sizer_fd.eo + efl_io_stderr.eo + efl_io_stdin.eo + efl_io_stdout.eo + efl_io_writer_fd.eo + efl_loop.eo + efl_loop_fd.eo + efl_loop_timer.eo + efl_loop_user.eo + efl_promise.eo +) + +set(PUBLIC_HEADERS + Ecore.h + Ecore_Common.h + Ecore_Eo.h + Ecore_Getopt.h + Ecore_Legacy.h +) + +set(SOURCES + ecore.c + ecore_alloc.c + ecore_anim.c + ecore_app.c + ecore_events.c + ecore_exe.c + ecore_exe_private.h + ecore_getopt.c + ecore_glib.c + ecore_idle_enterer.c + ecore_idle_exiter.c + ecore_idler.c + ecore_internal.h + ecore_job.c + ecore_main.c + ecore_pipe.c + ecore_poller.c + ecore_private.h + ecore_thread.c + ecore_throttle.c + ecore_time.c + ecore_timer.c + efl_io_buffered_stream.c + efl_io_closer_fd.c + efl_io_copier.c + efl_io_file.c + efl_io_positioner_fd.c + efl_io_reader_fd.c + efl_io_sizer_fd.c + efl_io_stderr.c + efl_io_stdin.c + efl_io_stdout.c + efl_io_writer_fd.c + efl_loop_fd.c + efl_loop_user.c + efl_promise.c +) + +# TODO: win32 +# TODO: ps3 + +list(APPEND SOURCES + ecore_exe_posix.c + ecore_signal.c +) diff --git a/src/modules/ecore/system/tizen/CMakeLists.txt b/src/modules/ecore/system/tizen/CMakeLists.txt new file mode 100644 index 0000000000..e185f39ec9 --- /dev/null +++ b/src/modules/ecore/system/tizen/CMakeLists.txt @@ -0,0 +1,3 @@ +set(PKG_CONFIG_REQUIRES_PRIVATE vconf) + +set(SOURCES ecore_system_tizen.c)