|
@@ -48,7 +48,8 @@ public:
|
|
|
virtual Error fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size);
|
|
|
virtual void get_export_options(List<ExportOption> *r_options);
|
|
|
virtual bool get_option_visibility(const String &p_option, const Map<StringName, Variant> &p_options) const;
|
|
|
- virtual bool can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const;
|
|
|
+ virtual bool has_valid_export_configuration(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const;
|
|
|
+ virtual bool has_valid_project_configuration(const Ref<EditorExportPreset> &p_preset, String &r_error) const;
|
|
|
};
|
|
|
|
|
|
Error EditorExportPlatformWindows::sign_shared_object(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path) {
|
|
@@ -386,15 +387,26 @@ Error EditorExportPlatformWindows::_code_sign(const Ref<EditorExportPreset> &p_p
|
|
|
return OK;
|
|
|
}
|
|
|
|
|
|
-bool EditorExportPlatformWindows::can_export(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const {
|
|
|
+bool EditorExportPlatformWindows::has_valid_export_configuration(const Ref<EditorExportPreset> &p_preset, String &r_error, bool &r_missing_templates) const {
|
|
|
String err = "";
|
|
|
- bool valid = EditorExportPlatformPC::can_export(p_preset, err, r_missing_templates);
|
|
|
+ bool valid = EditorExportPlatformPC::has_valid_export_configuration(p_preset, err, r_missing_templates);
|
|
|
|
|
|
String rcedit_path = EditorSettings::get_singleton()->get("export/windows/rcedit");
|
|
|
if (p_preset->get("application/modify_resources") && rcedit_path.empty()) {
|
|
|
err += TTR("The rcedit tool must be configured in the Editor Settings (Export > Windows > Rcedit) to change the icon or app information data.") + "\n";
|
|
|
}
|
|
|
|
|
|
+ if (!err.empty()) {
|
|
|
+ r_error = err;
|
|
|
+ }
|
|
|
+
|
|
|
+ return valid;
|
|
|
+}
|
|
|
+
|
|
|
+bool EditorExportPlatformWindows::has_valid_project_configuration(const Ref<EditorExportPreset> &p_preset, String &r_error) const {
|
|
|
+ String err = "";
|
|
|
+ bool valid = true;
|
|
|
+
|
|
|
String icon_path = ProjectSettings::get_singleton()->globalize_path(p_preset->get("application/icon"));
|
|
|
if (!icon_path.empty() && !FileAccess::exists(icon_path)) {
|
|
|
err += TTR("Invalid icon path:") + " " + icon_path + "\n";
|