From 09cae564d624995b58115c70e1ed2b4e83308de9 Mon Sep 17 00:00:00 2001 From: Spodi Date: Sat, 22 Feb 2025 22:14:27 +0100 Subject: [PATCH] Add Windows resources - executable icon - manifest for DPI awareness - version info --- .gitignore | 4 +- CMakeLists.txt | 3 ++ Resource.rc | 115 ++++++++++++++++++++++++++++++++++++++++++++++ properties.h.in | 14 ++++++ resource.h | 16 +++++++ starship.ico | Bin 0 -> 87382 bytes starship.manifest | 37 +++++++++++++++ 7 files changed, 188 insertions(+), 1 deletion(-) create mode 100644 Resource.rc create mode 100644 properties.h.in create mode 100644 resource.h create mode 100644 starship.ico create mode 100644 starship.manifest diff --git a/.gitignore b/.gitignore index b26df723..a516fcfe 100644 --- a/.gitignore +++ b/.gitignore @@ -55,4 +55,6 @@ _packages/* *.DS_Store src/jp/ src/eu/ -src/cn/ \ No newline at end of file +src/cn/ + +properties.h \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b049ca2..24039fb6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -111,6 +111,8 @@ if (UNIX AND NOT APPLE) find_package(OpenGL REQUIRED) endif() +configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/properties.h.in ${CMAKE_CURRENT_SOURCE_DIR}/properties.h @ONLY) + # Include directories include_directories( ${CMAKE_CURRENT_SOURCE_DIR} @@ -141,6 +143,7 @@ file(GLOB_RECURSE ALL_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "src/dmatable.c" "src/libc_math64.c" "src/libc_sprintf.c" + "Resource.rc" ) # Exclude specific files from the ALL_FILES list diff --git a/Resource.rc b/Resource.rc new file mode 100644 index 00000000..aa987e81 --- /dev/null +++ b/Resource.rc @@ -0,0 +1,115 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" +#include "properties.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +///////////////////////////////////////////////////////////////////////////// +// +// Version Info +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VER_FILEVERSION + PRODUCTVERSION VER_PRODUCTVERSION + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", VER_COMPANYNAME_STR + VALUE "FileDescription", VER_FILEDESCRIPTION_STR + VALUE "FileVersion", VER_FILEVERSION_STR + VALUE "InternalName", VER_INTERNALNAME_STR + VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR + VALUE "ProductName", VER_PRODUCTNAME_STR + VALUE "ProductVersion", VER_PRODUCTVERSION_str + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_ICON1 ICON "starship.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// RT_MANIFEST +// + +1 RT_MANIFEST "starship.manifest" + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/properties.h.in b/properties.h.in new file mode 100644 index 00000000..170ceba1 --- /dev/null +++ b/properties.h.in @@ -0,0 +1,14 @@ + +#define VER_FILEVERSION @CMAKE_PROJECT_VERSION_MAJOR@, @CMAKE_PROJECT_VERSION_MINOR@, @CMAKE_PROJECT_VERSION_PATCH@, 0 +#define VER_FILEVERSION_STR "@CMAKE_PROJECT_VERSION_MAJOR@.@CMAKE_PROJECT_VERSION_MINOR@.@CMAKE_PROJECT_VERSION_PATCH@\0" + +#define VER_PRODUCTVERSION @CMAKE_PROJECT_VERSION_MAJOR@, @CMAKE_PROJECT_VERSION_MINOR@, @CMAKE_PROJECT_VERSION_PATCH@, 0 +#define VER_PRODUCTVERSION_str "@CMAKE_PROJECT_VERSION_MAJOR@.@CMAKE_PROJECT_VERSION_MINOR@.@CMAKE_PROJECT_VERSION_PATCH@\0" + +#define VER_COMPANYNAME_STR "@PROJECT_TEAM@\0" +#define VER_PRODUCTNAME_STR "Starship\0" + +#define VER_INTERNALNAME_STR "@PROJECT_NAME@\0" +#define VER_ORIGINALFILENAME_STR "@PROJECT_NAME@.exe\0" + +#define VER_FILEDESCRIPTION_STR "Starship - @PROJECT_BUILD_NAME@\0" diff --git a/resource.h b/resource.h new file mode 100644 index 00000000..8a193b3e --- /dev/null +++ b/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Resource.rc +// +#define IDI_ICON1 111 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 113 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/starship.ico b/starship.ico new file mode 100644 index 0000000000000000000000000000000000000000..736ba520eb21d61c809b5878edc14e103d69413c GIT binary patch literal 87382 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 + + + + + + + + + + + + + + + + + + + + + + + + + + true/pm + permonitorv2,permonitor + + +