eolian_cxx/generator: support for eot files

This commit is contained in:
Daniel Kolesa 2014-06-24 14:21:32 +01:00
parent ac22afec8a
commit 5e5655463c
1 changed files with 20 additions and 1 deletions

View File

@ -244,12 +244,29 @@ _resolve_classname(options_type& opts)
} }
} }
static void
_scan_directories(options_type const& opts)
{
for (auto src : opts.in_srcs)
{
if (eina_str_has_suffix(src.c_str(), EO_SUFFIX)) continue;
eolian_read_from_fs(src.c_str());
}
}
static void
_load_eot()
{
eolian_all_eot_files_parse();
}
static void static void
_load_classes(options_type const& opts) _load_classes(options_type const& opts)
{ {
for (auto src : opts.in_srcs) for (auto src : opts.in_srcs)
{ {
if (eolian_read_from_fs(src.c_str()) == NULL) if (!eina_str_has_suffix(src.c_str(), EO_SUFFIX)) continue;
if ( eolian_read_from_fs(src.c_str()) == NULL)
{ {
EINA_CXX_DOM_LOG_WARN(::domain) EINA_CXX_DOM_LOG_WARN(::domain)
<< "Couldn't load eolian file: " << src; << "Couldn't load eolian file: " << src;
@ -352,6 +369,8 @@ int main(int argc, char **argv)
domain.set_level(efl::eina::log_level::debug); domain.set_level(efl::eina::log_level::debug);
#endif #endif
options_type opts = _read_options(argc, argv); options_type opts = _read_options(argc, argv);
_scan_directories(opts);
_load_eot();
_load_classes(opts); _load_classes(opts);
_resolve_classname(opts); _resolve_classname(opts);
_validate_options(opts); _validate_options(opts);