diff --git a/CMakeLists.txt b/CMakeLists.txt index 92bf810299..b9cebbec7f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,6 +40,7 @@ EFL_LIB(eet) EFL_LIB(ecore) EFL_LIB(eldbus) EFL_LIB(embryo) +EFL_LIB(ector) EFL_OPTIONS_SUMMARY() diff --git a/src/Makefile_Ector.am b/src/Makefile_Ector.am index 3eadc46174..19053be5ba 100644 --- a/src/Makefile_Ector.am +++ b/src/Makefile_Ector.am @@ -177,29 +177,30 @@ lib_ector_libector_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@ if EFL_ENABLE_TESTS -check_PROGRAMS += tests/ector/ector_suite tests/ector/cxx_compile_test -TESTS += tests/ector/ector_suite +check_PROGRAMS += tests/ector/suite/ector_suite tests/ector/cxx_compile_test/cxx_compile_test +TESTS += tests/ector/suite/ector_suite -tests_ector_ector_suite_SOURCES = \ -tests/ector/ector_suite.c \ -tests/ector/ector_suite.h \ -tests/ector/ector_test_init.c +tests_ector_suite_ector_suite_SOURCES = \ +tests/ector/suite/ector_suite.c \ +tests/ector/suite/ector_suite.h \ +tests/ector/suite/ector_test_init.c -tests_ector_cxx_compile_test_SOURCES = tests/ector/cxx_compile_test.cxx -tests_ector_cxx_compile_test_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECTOR_CFLAGS@ -tests_ector_cxx_compile_test_LDADD = @USE_ECTOR_LIBS@ -tests_ector_cxx_compile_test_DEPENDENCIES = @USE_ECTOR_INTERNAL_LIBS@ +tests_ector_cxx_compile_test_cxx_compile_test_SOURCES = tests/ector/cxx_compile_test/cxx_compile_test.cxx +tests_ector_cxx_compile_test_cxx_compile_test_CPPFLAGS = -I$(top_builddir)/src/lib/efl @ECTOR_CFLAGS@ +tests_ector_cxx_compile_test_cxx_compile_test_LDADD = @USE_ECTOR_LIBS@ +tests_ector_cxx_compile_test_cxx_compile_test_DEPENDENCIES = @USE_ECTOR_INTERNAL_LIBS@ -tests_ector_ector_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ +tests_ector_suite_ector_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ +-I$(top_srcdir)/src/tests/ector \ -DTESTS_WD=\"`pwd`\" \ --DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/ector\" \ --DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/src/tests/ector\" \ +-DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/ector/suite\" \ +-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/src/tests/ector/suite\" \ -DTESTS_BUILD_DIR=PACKAGE_BUILD_DIR \ @CHECK_CFLAGS@ \ @ECTOR_CFLAGS@ -tests_ector_ector_suite_LDADD = @CHECK_LIBS@ @USE_ECTOR_LIBS@ -tests_ector_ector_suite_DEPENDENCIES = @USE_ECTOR_INTERNAL_LIBS@ +tests_ector_suite_ector_suite_LDADD = @CHECK_LIBS@ @USE_ECTOR_LIBS@ +tests_ector_suite_ector_suite_DEPENDENCIES = @USE_ECTOR_INTERNAL_LIBS@ endif diff --git a/src/lib/ector/CMakeLists.txt b/src/lib/ector/CMakeLists.txt new file mode 100644 index 0000000000..133909192b --- /dev/null +++ b/src/lib/ector/CMakeLists.txt @@ -0,0 +1,139 @@ +set(DESCRIPTION "Enlightened retained mode drawing library") + +set(LIBRARIES + eet + efl + emile + m +) + +set(PUBLIC_LIBRARIES + eina + eo +) + +set(PUBLIC_EO_FILES + ector_buffer.eo + ector_renderer.eo + ector_renderer_buffer.eo + ector_renderer_gradient.eo + ector_renderer_gradient_linear.eo + ector_renderer_gradient_radial.eo + ector_renderer_shape.eo + ector_surface.eo + ector_types.eot + + cairo/ector_cairo_software_surface.eo + cairo/ector_cairo_surface.eo + cairo/ector_renderer_cairo.eo + cairo/ector_renderer_cairo_gradient_linear.eo + cairo/ector_renderer_cairo_gradient_radial.eo + cairo/ector_renderer_cairo_shape.eo + + gl/ector_gl_buffer.eo + gl/ector_gl_buffer_base.eo + gl/ector_gl_surface.eo + gl/ector_renderer_gl.eo + gl/ector_renderer_gl_gradient_linear.eo + gl/ector_renderer_gl_gradient_radial.eo + gl/ector_renderer_gl_shape.eo + + software/ector_renderer_software.eo + software/ector_renderer_software_buffer.eo + software/ector_renderer_software_gradient_linear.eo + software/ector_renderer_software_gradient_radial.eo + software/ector_renderer_software_shape.eo + software/ector_software_buffer.eo + software/ector_software_buffer_base.eo + software/ector_software_surface.eo +) + +set(PUBLIC_HEADERS + Ector.h + ector_buffer.h + ector_renderer.h + ector_surface.h + ector_util.h + + cairo/Ector_Cairo.h + + gl/Ector_GL.h + + software/Ector_Software.h +) + +set(SOURCES + ector_buffer.c + ector_gl_internal.h + ector_main.c + ector_renderer.c + ector_renderer_buffer.c + ector_renderer_gradient.c + ector_renderer_gradient_linear.c + ector_renderer_gradient_radial.c + ector_renderer_shape.c + + cairo/ector_cairo_software_surface.c + cairo/ector_cairo_surface.c + cairo/ector_renderer_cairo.c + cairo/ector_renderer_cairo_gradient_linear.c + cairo/ector_renderer_cairo_gradient_radial.c + cairo/ector_renderer_cairo_shape.c + + gl/ector_gl_buffer.c + gl/ector_gl_buffer_base.c + gl/ector_gl_private.h + gl/ector_gl_shader.c + gl/ector_gl_surface.c + gl/ector_renderer_gl.c + gl/ector_renderer_gl_gradient_linear.c + gl/ector_renderer_gl_gradient_radial.c + gl/ector_renderer_gl_shape.c + gl/shader/ector_gl_shaders.x + + software/ector_renderer_software_buffer.c + software/ector_renderer_software_gradient_linear.c + software/ector_renderer_software_gradient_radial.c + software/ector_renderer_software_shape.c + software/ector_software_buffer.c + software/ector_software_gradient.c + software/ector_software_rasterizer.c + software/ector_software_surface.c + + ${CMAKE_SOURCE_DIR}/src/static_libs/draw/draw_main.c + ${CMAKE_SOURCE_DIR}/src/static_libs/draw/draw_main_neon.c + ${CMAKE_SOURCE_DIR}/src/static_libs/draw/draw_main_sse2.c + + ${CMAKE_SOURCE_DIR}/src/static_libs/freetype/sw_ft_math.c + ${CMAKE_SOURCE_DIR}/src/static_libs/freetype/sw_ft_raster.c + ${CMAKE_SOURCE_DIR}/src/static_libs/freetype/sw_ft_stroker.c + + ${CMAKE_SOURCE_DIR}/src/static_libs/rg_etc/etc2_encoder.c + ${CMAKE_SOURCE_DIR}/src/static_libs/rg_etc/rg_etc1.c + ${CMAKE_SOURCE_DIR}/src/static_libs/rg_etc/rg_etc1.h + ${CMAKE_SOURCE_DIR}/src/static_libs/rg_etc/rg_etc2.c + + ${CMAKE_SOURCE_DIR}/src/static_libs/triangulator/triangulator_simple.c + ${CMAKE_SOURCE_DIR}/src/static_libs/triangulator/triangulator_simple.h + ${CMAKE_SOURCE_DIR}/src/static_libs/triangulator/triangulator_stroker.c + ${CMAKE_SOURCE_DIR}/src/static_libs/triangulator/triangulator_stroker.h +) + +set(INCLUDE_DIRECTORIES + ${CMAKE_SOURCE_DIR}/src/static_libs/draw + ${CMAKE_SOURCE_DIR}/src/static_libs/freetype + ${CMAKE_SOURCE_DIR}/src/static_libs/rg_etc + ${CMAKE_SOURCE_DIR}/src/static_libs/triangulator +) + +add_custom_command( + OUTPUT ${EFL_LIB_SOURCE_DIR}/gl/shader/ector_gl_shaders.x + COMMAND /bin/sh ${EFL_LIB_SOURCE_DIR}/gl/shader/gen_shaders.sh + DEPENDS + ${EFL_LIB_SOURCE_DIR}/gl/shader/gen_shaders.sh + ${EFL_LIB_SOURCE_DIR}/gl/shader/fragment.glsl + ${EFL_LIB_SOURCE_DIR}/gl/shader/vertex.glsl + ${EFL_LIB_SOURCE_DIR}/gl/shader/include.glsl + WORKING_DIRECTORY "${EFL_LIB_SOURCE_DIR}" + COMMENT "SHADERS ${EFL_LIB_SOURCE_DIR}/gl/shader/ector_gl_shaders.x" +) diff --git a/src/lib/efl/config.h.cmake b/src/lib/efl/config.h.cmake index 35ab3c3ac3..9bf51267f6 100644 --- a/src/lib/efl/config.h.cmake +++ b/src/lib/efl/config.h.cmake @@ -1,7 +1,9 @@ #ifndef CONFIG_H #define CONFIG_H +#ifndef _GNU_SOURCE #define _GNU_SOURCE +#endif #include "config_gen.h" diff --git a/src/tests/ector/cxx_compile_test.cxx b/src/tests/ector/cxx_compile_test/cxx_compile_test.cxx similarity index 100% rename from src/tests/ector/cxx_compile_test.cxx rename to src/tests/ector/cxx_compile_test/cxx_compile_test.cxx diff --git a/src/tests/ector/suite/CMakeLists.txt b/src/tests/ector/suite/CMakeLists.txt new file mode 100644 index 0000000000..40f771790d --- /dev/null +++ b/src/tests/ector/suite/CMakeLists.txt @@ -0,0 +1,5 @@ +set(SOURCES + ector_suite.c + ector_suite.h + ector_test_init.c +) diff --git a/src/tests/ector/ector_suite.c b/src/tests/ector/suite/ector_suite.c similarity index 100% rename from src/tests/ector/ector_suite.c rename to src/tests/ector/suite/ector_suite.c diff --git a/src/tests/ector/ector_suite.h b/src/tests/ector/suite/ector_suite.h similarity index 100% rename from src/tests/ector/ector_suite.h rename to src/tests/ector/suite/ector_suite.h diff --git a/src/tests/ector/ector_test_init.c b/src/tests/ector/suite/ector_test_init.c similarity index 100% rename from src/tests/ector/ector_test_init.c rename to src/tests/ector/suite/ector_test_init.c