efl/src/Makefile_Ecore_Audio_Cxx.am

63 lines
2.5 KiB
Plaintext
Raw Normal View History

if HAVE_CXX11
### Generated headers
generated_ecore_audio_cxx_bindings = \
lib/ecore_audio/ecore_audio.eo.hh \
lib/ecore_audio/ecore_audio_in.eo.hh \
lib/ecore_audio/ecore_audio_out.eo.hh \
lib/ecore_audio/ecore_audio_in_sndfile.eo.hh \
lib/ecore_audio/ecore_audio_out_sndfile.eo.hh \
lib/ecore_audio/ecore_audio_out_pulse.eo.hh \
lib/ecore_audio/ecore_audio_in_tone.eo.hh
lib/ecore_audio/Ecore_Audio.hh: $(generated_ecore_audio_cxx_bindings)
@echo @ECHO_E@ "#ifndef EFL_CXX_ECORE_AUDIO_HH\n#define EFL_CXX_ECORE_AUDIO_HH\n" > $(top_builddir)/src/lib/ecore_audio/Ecore_Audio.hh
@echo @ECHO_E@ "#ifdef EFL_BETA_API_SUPPORT" >> $(top_builddir)/src/lib/ecore_audio/Ecore_Audio.hh
@for i in $(generated_ecore_audio_cxx_bindings); do echo "#include <$$(basename $$i)>" >> $(top_builddir)/src/lib/ecore_audio/Ecore_Audio.hh; done
@echo @ECHO_E@ "#endif\n\n#endif\n" >> $(top_builddir)/src/lib/ecore_audio/Ecore_Audio.hh
generated_ecore_audio_cxx_all = \
$(generated_ecore_audio_cxx_bindings) \
eolian_cxx: Add protected methods and events to C++ wrappers and fixes Using eina::string_view in eolian generated interfaces (instead of std::string) to allow lightweight passing of both C strings and C++ std::string. Also, No longer using eina::optional in generated headers for types that already implements the concept of null state (like Eo wrappers and eina_accessor). Also fix allocating callback objects require by class methods (i.e. static) in static vectors so the memory will be freed when the programs exit. Added a new test case for testing callbacks on class methods. Moved method definitions and supplementary code from generated C++ wrappers to auxiliary header file (.eo.impl.hh) generated together with the main ".eo.hh" file. Updated Makefiles to list such files in the compilation and cleanup processes. Updated .gitignore to include these new generated files. Made general adjustments on the documentation of generated C++ wrappers Added "PREDEFINED" preprocessor macro definition in the Doxyfile.in in order to make some adjustments for better documentation in the C++ generated headers. Excluding generation of documentation for classes in the "eo_cxx" namespace (the namespace for "abstract" eolian C++ wrappers). Now generating the documentation for the events too. Hiding some auxiliary code from being documented. Some aesthetic adjustments for generated white space. Generate documentation for the main constructor of C++ wrappers and added auxiliary grammars to list parameters names.
2015-01-12 06:00:59 -08:00
lib/ecore_audio/ecore_audio.eo.impl.hh \
lib/ecore_audio/ecore_audio_in.eo.impl.hh \
lib/ecore_audio/ecore_audio_out.eo.impl.hh \
lib/ecore_audio/ecore_audio_in_sndfile.eo.impl.hh \
lib/ecore_audio/ecore_audio_out_sndfile.eo.impl.hh \
lib/ecore_audio/ecore_audio_out_pulse.eo.impl.hh \
lib/ecore_audio/ecore_audio_in_tone.eo.impl.hh \
lib/ecore_audio/Ecore_Audio.hh
CLEANFILES += $(generated_ecore_audio_cxx_all)
installed_ecoreaudiocxxmainheadersdir = $(includedir)/ecore-audio-cxx-@VMAJ@
nodist_installed_ecoreaudiocxxmainheaders_DATA = $(generated_ecore_audio_cxx_all)
### Unit tests
if EFL_ENABLE_TESTS
check_PROGRAMS += tests/ecore_audio_cxx/cxx_compile_test
TESTS += tests/ecore_audio_cxx/cxx_compile_test
tests_ecore_audio_cxx_cxx_compile_test_SOURCES = tests/ecore_audio_cxx/cxx_compile_test.cc
tests_ecore_audio_cxx_cxx_compile_test_CPPFLAGS = \
-I$(top_builddir)/src/lib/efl \
-I$(top_srcdir)/src/lib/efl \
-I$(builddir)/src/lib/efl \
-I$(srcdir)/src/lib/efl \
-DTESTS_WD=\"`pwd`\" \
-DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/ecore_audio_cxx\" \
-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/src/tests/ecore_audio_cxx\" \
-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/ecore_audio_cxx\" \
@CHECK_CFLAGS@ @ECORE_CFLAGS@ @EINA_CFLAGS@ @EO_CFLAGS@ @ECORE_AUDIO_CFLAGS@ \
@ECORE_CXX_CFLAGS@ @EINA_CXX_CFLAGS@ @EO_CXX_CFLAGS@ @ECORE_AUDIO_CXX_CFLAGS@
tests_ecore_audio_cxx_cxx_compile_test_LDADD = @CHECK_LIBS@ @USE_ECORE_LIBS@
tests_ecore_audio_cxx_cxx_compile_test_DEPENDENCIES = @USE_ECORE_INTERNAL_LIBS@
endif
endif