| 593 | } |
| 594 | |
| 595 | HashSet<String> EditorExportPlatform::get_features(const Ref<EditorExportPreset> &p_preset, bool p_debug) const { |
| 596 | Ref<EditorExportPlatform> platform = p_preset->get_platform(); |
| 597 | List<String> feature_list; |
| 598 | platform->get_platform_features(&feature_list); |
| 599 | platform->get_preset_features(p_preset, &feature_list); |
| 600 | |
| 601 | HashSet<String> result; |
| 602 | for (const String &E : feature_list) { |
| 603 | result.insert(E); |
| 604 | } |
| 605 | |
| 606 | result.insert("template"); |
| 607 | if (p_debug) { |
| 608 | result.insert("debug"); |
| 609 | result.insert("template_debug"); |
| 610 | } else { |
| 611 | result.insert("release"); |
| 612 | result.insert("template_release"); |
| 613 | } |
| 614 | |
| 615 | #ifdef REAL_T_IS_DOUBLE |
| 616 | result.insert("double"); |
| 617 | #else |
| 618 | result.insert("single"); |
| 619 | #endif // REAL_T_IS_DOUBLE |
| 620 | |
| 621 | if (!p_preset->get_custom_features().is_empty()) { |
| 622 | Vector<String> tmp_custom_list = p_preset->get_custom_features().split(","); |
| 623 | |
| 624 | for (int i = 0; i < tmp_custom_list.size(); i++) { |
| 625 | String f = tmp_custom_list[i].strip_edges(); |
| 626 | if (!f.is_empty()) { |
| 627 | result.insert(f); |
| 628 | } |
| 629 | } |
| 630 | } |
| 631 | |
| 632 | return result; |
| 633 | } |
| 634 | |
| 635 | EditorExportPlatform::ExportNotifier::ExportNotifier(EditorExportPlatform &p_platform, const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, BitField<EditorExportPlatform::DebugFlags> p_flags) { |
| 636 | HashSet<String> features = p_platform.get_features(p_preset, p_debug); |
no test coverage detected