From c02a6969df4427f9295c7c3f38d27c196bd78ee1 Mon Sep 17 00:00:00 2001 From: flyinghead Date: Sat, 30 Mar 2019 12:32:37 +0100 Subject: [PATCH] win32: add app icon and version resource --- core/.gitignore | 1 + core/core.mk | 11 +++-- core/rend/gui.cpp | 8 ++-- core/version/.gitignore | 1 - core/version/version.h | 3 -- .../reicast-osx.xcodeproj/project.pbxproj | 2 +- shell/linux/Makefile | 8 +++- shell/windows/reicast.ico | Bin 0 -> 103422 bytes shell/windows/reicast.rc | 39 ++++++++++++++++++ shell/windows/resource.h | 16 +++++++ 10 files changed, 73 insertions(+), 16 deletions(-) create mode 100644 core/.gitignore delete mode 100644 core/version/.gitignore delete mode 100644 core/version/version.h create mode 100644 shell/windows/reicast.ico create mode 100644 shell/windows/reicast.rc create mode 100644 shell/windows/resource.h diff --git a/core/.gitignore b/core/.gitignore new file mode 100644 index 000000000..a948ed453 --- /dev/null +++ b/core/.gitignore @@ -0,0 +1 @@ +/version.h diff --git a/core/core.mk b/core/core.mk index cad01b997..1337c531a 100755 --- a/core/core.mk +++ b/core/core.mk @@ -5,7 +5,7 @@ #LDFLAGS := -Wl,-Map,$(notdir $@).map,--gc-sections -Wl,-O3 -Wl,--sort-common RZDCY_SRC_DIR ?= $(call my-dir) -VERSION_SRC := $(RZDCY_SRC_DIR)/version/version.cpp +VERSION_HEADER := $(RZDCY_SRC_DIR)/version.h RZDCY_MODULES := cfg/ hw/arm7/ hw/aica/ hw/holly/ hw/ hw/gdrom/ hw/maple/ hw/modem/ \ hw/mem/ hw/pvr/ hw/sh4/ hw/sh4/interpr/ hw/sh4/modules/ plugins/ profiler/ oslib/ \ @@ -94,7 +94,6 @@ RZDCY_FILES := $(foreach dir,$(addprefix $(RZDCY_SRC_DIR)/,$(RZDCY_MODULES)),$(w RZDCY_FILES += $(foreach dir,$(addprefix $(RZDCY_SRC_DIR)/,$(RZDCY_MODULES)),$(wildcard $(dir)*.cc)) RZDCY_FILES += $(foreach dir,$(addprefix $(RZDCY_SRC_DIR)/,$(RZDCY_MODULES)),$(wildcard $(dir)*.c)) RZDCY_FILES += $(foreach dir,$(addprefix $(RZDCY_SRC_DIR)/,$(RZDCY_MODULES)),$(wildcard $(dir)*.S)) -RZDCY_FILES += $(VERSION_SRC) ifdef FOR_PANDORA RZDCY_CFLAGS := \ @@ -156,8 +155,8 @@ endif RZDCY_CXXFLAGS := $(RZDCY_CFLAGS) -fno-exceptions -fno-rtti -std=gnu++11 -$(VERSION_SRC): - echo "const char *version = \"`git describe --tags --always`\";" > $(VERSION_SRC) - echo "const char *git_hash = \"`git rev-parse --short HEAD`\";" >> $(VERSION_SRC) - echo "const char *build_date = \"`date '+%Y-%m-%d %H:%M:%S %Z'`\";" >> $(VERSION_SRC) +$(VERSION_HEADER): + echo "#define REICAST_VERSION \"`git describe --tags --always`\"" > $(VERSION_HEADER) + echo "#define GIT_HASH \"`git rev-parse --short HEAD`\"" >> $(VERSION_HEADER) + echo "#define BUILD_DATE \"`date '+%Y-%m-%d %H:%M:%S %Z'`\"" >> $(VERSION_HEADER) diff --git a/core/rend/gui.cpp b/core/rend/gui.cpp index 4b53795fb..54786facf 100644 --- a/core/rend/gui.cpp +++ b/core/rend/gui.cpp @@ -34,7 +34,7 @@ #include "linux-dist/main.h" // FIXME for kcode[] #include "gui_util.h" #include "gui_android.h" -#include "version/version.h" +#include "version.h" extern void dc_loadstate(); extern void dc_savestate(); @@ -1041,9 +1041,9 @@ static void gui_display_settings() ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, normal_padding); if (ImGui::CollapsingHeader("Reicast", ImGuiTreeNodeFlags_DefaultOpen)) { - ImGui::Text("Version: %s", version); - ImGui::Text("Git Hash: %s", git_hash); - ImGui::Text("Build Date: %s", build_date); + ImGui::Text("Version: %s", REICAST_VERSION); + ImGui::Text("Git Hash: %s", GIT_HASH); + ImGui::Text("Build Date: %s", BUILD_DATE); ImGui::Text("Target: %s", #if DC_PLATFORM == DC_PLATFORM_DREAMCAST "Dreamcast" diff --git a/core/version/.gitignore b/core/version/.gitignore deleted file mode 100644 index 1946cee8c..000000000 --- a/core/version/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/version.cpp diff --git a/core/version/version.h b/core/version/version.h deleted file mode 100644 index 3c9912aa7..000000000 --- a/core/version/version.h +++ /dev/null @@ -1,3 +0,0 @@ -extern const char *version; -extern const char *git_hash; -extern const char *build_date; diff --git a/shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj b/shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj index b50789eb9..a12ad753f 100644 --- a/shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj +++ b/shell/apple/emulator-osx/reicast-osx.xcodeproj/project.pbxproj @@ -2199,7 +2199,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"const char *version = \\\"`git describe --tags --always`\\\";\" > $SRCROOT/../../../core/version/version.cpp\necho \"const char *git_hash = \\\"`git rev-parse --short HEAD`\\\";\" >> $SRCROOT/../../../core/version/version.cpp\necho \"const char *build_date = \\\"`date '+%Y-%m-%d %H:%M:%S %Z'`\\\";\" >> $SRCROOT/../../../core/version/version.cpp\n"; + shellScript = "echo \"#define REICAST_VERSION \\\"`git describe --tags --always`\\\"\" > $SRCROOT/../../../core/version.h\necho \"#define GIT_HASH \\\"`git rev-parse --short HEAD`\\\"\" >> $SRCROOT/../../../core/version.h\necho \"#define BUILD_DATE \\\"`date '+%Y-%m-%d %H:%M:%S %Z'`\\\"\" >> $SRCROOT/../../../core/version.h\n"; }; /* End PBXShellScriptBuildPhase section */ diff --git a/shell/linux/Makefile b/shell/linux/Makefile index eea87ef76..aa2acba74 100644 --- a/shell/linux/Makefile +++ b/shell/linux/Makefile @@ -421,6 +421,12 @@ OBJECTS:=$(OBJECTS:.c=.build_obj) OBJECTS:=$(OBJECTS:.S=.build_obj) OBJECTS:=$(patsubst $(RZDCY_SRC_DIR)/%,$(BUILDDIR)/%,$(OBJECTS)) +ifdef FOR_WINDOWS +OBJECTS+=$(BUILDDIR)/reicastres.build_obj +$(BUILDDIR)/reicastres.build_obj: $(LOCAL_PATH)/../windows/reicast.rc $(LOCAL_PATH)/../windows/reicast.ico $(RZDCY_SRC_DIR)/version.h + windres $< $@ +endif + DEPDIR := .dep-$(BUILDDIR) DEPFLAGS = -MT $@ -MD -MP -MF $(DEPDIR)/$*.Td DEPS=$(RZDCY_FILES:.cpp=.d) @@ -500,7 +506,7 @@ uninstall: rm -f $(DESTDIR)$(ICON_DIR)/reicast.png clean: - rm -f $(OBJECTS) $(EXECUTABLE) $(EXECUTABLE_STRIPPED) .map + rm -f $(OBJECTS) $(EXECUTABLE) $(EXECUTABLE_STRIPPED) .map $(RZDCY_SRC_DIR)/version.h .PRECIOUS = $(DEPDIR)/%.d $(DEPDIR)/%.d: ; diff --git a/shell/windows/reicast.ico b/shell/windows/reicast.ico new file mode 100644 index 0000000000000000000000000000000000000000..99528ed33a1e76c635b124bf67983ba16b478049 GIT binary patch literal 103422 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