From 5fdb75092240e4417ed1c2580e448b31173b121a Mon Sep 17 00:00:00 2001 From: albertony <12441419+albertony@users.noreply.github.com> Date: Wed, 9 Dec 2020 00:31:05 +0100 Subject: [PATCH 1/3] Add version info to windows client and server exe resources --- cmake/Version.cmake | 3 +++ src/cmd/barrierc/barrierc.rc | 50 ++++++++++++++++++++++++++++++++++++ src/cmd/barriers/barriers.rc | 50 ++++++++++++++++++++++++++++++++++++ 3 files changed, 103 insertions(+) diff --git a/cmake/Version.cmake b/cmake/Version.cmake index 96836496..58d8943e 100644 --- a/cmake/Version.cmake +++ b/cmake/Version.cmake @@ -85,6 +85,9 @@ message (STATUS "Full Barrier version string is '" ${BARRIER_VERSION_STRING} "'" add_definitions (-DBARRIER_VERSION="${BARRIER_VERSION}") add_definitions (-DBARRIER_VERSION_STRING="${BARRIER_VERSION_STRING}") +add_definitions (-DBARRIER_VERSION_MAJOR=${BARRIER_VERSION_MAJOR}) +add_definitions (-DBARRIER_VERSION_MINOR=${BARRIER_VERSION_MINOR}) +add_definitions (-DBARRIER_VERSION_PATCH=${BARRIER_VERSION_PATCH}) add_definitions (-DBARRIER_REVISION="${BARRIER_REVISION}") add_definitions (-DBARRIER_BUILD_DATE="${BARRIER_BUILD_DATE}") add_definitions (-DBARRIER_BUILD_NUMBER=${BARRIER_BUILD_NUMBER}) diff --git a/src/cmd/barrierc/barrierc.rc b/src/cmd/barrierc/barrierc.rc index b34127c5..e858a164 100644 --- a/src/cmd/barrierc/barrierc.rc +++ b/src/cmd/barrierc/barrierc.rc @@ -24,6 +24,56 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) #endif //_WIN32 +///////////////////////////////////////////////////////////////////////////// +// +// Version +// +#ifndef NOVERSIONINFO +VS_VERSION_INFO VERSIONINFO +FILEVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER +PRODUCTVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER +FILEFLAGSMASK 0x3fL +#ifdef _DEBUG +FILEFLAGS 0x1L +#else +FILEFLAGS 0x0L +#endif +FILEOS VOS_NT +FILETYPE VFT_APP +FILESUBTYPE 0x0L +BEGIN + +BLOCK "StringFileInfo" +BEGIN + +// Language block for LANG_ENGLISH/SUBLANG_ENGLISH_US, Unicode CP +BLOCK "040904b0" +BEGIN +VALUE "CompanyName", "Debauchee Open Source Group" +VALUE "CompanyWeb", "https://github.com/debauchee/barrier/" +VALUE "FileVersion", BARRIER_VERSION +VALUE "LegalCopyright", "Copyright (C) 2018 Debauchee Open Source Group\nCopyright (C) 2012-2016 Symless Ltd.\nCopyright (C) 2008-2014 Nick Bolton\nCopyright (C) 2002-2014 Chris Schoeneman" +VALUE "ProductName", "Barrier" +VALUE "ProductVersion", BARRIER_VERSION +VALUE "OriginalFilename", "barrierc.exe" +VALUE "FileDescription", "Open source KVM software client" +VALUE "InternalName", "barrierc" +END + +// Any other language blocks here + +END + +BLOCK "VarFileInfo" +BEGIN +/* Unordered list of Lang IDs and their code page IDs (Unicode = 1200 in case of Win32). + These can be expressed using either hexadecimal or decimal. */ +VALUE "Translation", 0x409, 1200 +END + +END +#endif + #ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // diff --git a/src/cmd/barriers/barriers.rc b/src/cmd/barriers/barriers.rc index c4d263c7..d6c069bb 100644 --- a/src/cmd/barriers/barriers.rc +++ b/src/cmd/barriers/barriers.rc @@ -21,6 +21,56 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) #endif //_WIN32 +///////////////////////////////////////////////////////////////////////////// +// +// Version +// +#ifndef NOVERSIONINFO +VS_VERSION_INFO VERSIONINFO +FILEVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER +PRODUCTVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER +FILEFLAGSMASK 0x3fL +#ifdef _DEBUG +FILEFLAGS 0x1L +#else +FILEFLAGS 0x0L +#endif +FILEOS VOS_NT +FILETYPE VFT_APP +FILESUBTYPE 0x0L +BEGIN + +BLOCK "StringFileInfo" +BEGIN + +// Language block for LANG_ENGLISH/SUBLANG_ENGLISH_US, Unicode CP +BLOCK "040904b0" +BEGIN +VALUE "CompanyName", "Debauchee Open Source Group" +VALUE "CompanyWeb", "https://github.com/debauchee/barrier/" +VALUE "FileVersion", BARRIER_VERSION +VALUE "LegalCopyright", "Copyright (C) 2018 Debauchee Open Source Group\nCopyright (C) 2012-2016 Symless Ltd.\nCopyright (C) 2008-2014 Nick Bolton\nCopyright (C) 2002-2014 Chris Schoeneman" +VALUE "ProductName", "Barrier" +VALUE "ProductVersion", BARRIER_VERSION +VALUE "OriginalFilename", "barriers.exe" +VALUE "FileDescription", "Open source KVM software server" +VALUE "InternalName", "barrierc" +END + +// Any other language blocks here + +END + +BLOCK "VarFileInfo" +BEGIN +/* Unordered list of Lang IDs and their code page IDs (Unicode = 1200 in case of Win32). + These can be expressed using either hexadecimal or decimal. */ +VALUE "Translation", 0x409, 1200 +END + +END +#endif + #ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // From aea488167af19845369e062bf9af4edfadc4fa71 Mon Sep 17 00:00:00 2001 From: albertony <12441419+albertony@users.noreply.github.com> Date: Wed, 9 Dec 2020 13:42:33 +0100 Subject: [PATCH 2/3] Cleanup windows client and server exe resource build --- src/cmd/barrierc/CMakeLists.txt | 11 +- src/cmd/barrierc/barrierc.exe.manifest | 2 - src/cmd/barrierc/barrierc.rc | 181 +++++++++++-------------- src/cmd/barriers/CMakeLists.txt | 11 +- src/cmd/barriers/barriers.exe.manifest | 2 - src/cmd/barriers/barriers.rc | 111 +++++++-------- 6 files changed, 132 insertions(+), 186 deletions(-) delete mode 100644 src/cmd/barrierc/barrierc.exe.manifest delete mode 100644 src/cmd/barriers/barriers.exe.manifest diff --git a/src/cmd/barrierc/CMakeLists.txt b/src/cmd/barrierc/CMakeLists.txt index 0c085500..1675e351 100644 --- a/src/cmd/barrierc/CMakeLists.txt +++ b/src/cmd/barrierc/CMakeLists.txt @@ -21,16 +21,7 @@ set(sources if (WIN32) file(GLOB arch_headers "MSWindows*.h") file(GLOB arch_sources "MSWindows*.cpp") - list(APPEND sources - resource.h - barrierc.ico - barrierc.rc - tb_error.ico - tb_idle.ico - tb_run.ico - tb_wait.ico - barrierc.exe.manifest - ) + list(APPEND sources barrierc.rc) elseif (APPLE) file(GLOB arch_headers "OSX*.h") file(GLOB arch_sources "OSX*.cpp") diff --git a/src/cmd/barrierc/barrierc.exe.manifest b/src/cmd/barrierc/barrierc.exe.manifest deleted file mode 100644 index 2c6f3652..00000000 --- a/src/cmd/barrierc/barrierc.exe.manifest +++ /dev/null @@ -1,2 +0,0 @@ - -PerMonitortrue \ No newline at end of file diff --git a/src/cmd/barrierc/barrierc.rc b/src/cmd/barrierc/barrierc.rc index e858a164..3000dcc3 100644 --- a/src/cmd/barrierc/barrierc.rc +++ b/src/cmd/barrierc/barrierc.rc @@ -1,4 +1,4 @@ -//Microsoft Developer Studio generated resource script. +// Microsoft Visual C++ generated resource script. // #include "resource.h" @@ -8,9 +8,6 @@ // Generated from the TEXTINCLUDE 2 resource. // #include -#if !defined(IDC_STATIC) -#define IDC_STATIC (-1) -#endif ///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS @@ -19,60 +16,8 @@ // English (U.S.) resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// -#ifndef NOVERSIONINFO -VS_VERSION_INFO VERSIONINFO -FILEVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER -PRODUCTVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER -FILEFLAGSMASK 0x3fL -#ifdef _DEBUG -FILEFLAGS 0x1L -#else -FILEFLAGS 0x0L -#endif -FILEOS VOS_NT -FILETYPE VFT_APP -FILESUBTYPE 0x0L -BEGIN - -BLOCK "StringFileInfo" -BEGIN - -// Language block for LANG_ENGLISH/SUBLANG_ENGLISH_US, Unicode CP -BLOCK "040904b0" -BEGIN -VALUE "CompanyName", "Debauchee Open Source Group" -VALUE "CompanyWeb", "https://github.com/debauchee/barrier/" -VALUE "FileVersion", BARRIER_VERSION -VALUE "LegalCopyright", "Copyright (C) 2018 Debauchee Open Source Group\nCopyright (C) 2012-2016 Symless Ltd.\nCopyright (C) 2008-2014 Nick Bolton\nCopyright (C) 2002-2014 Chris Schoeneman" -VALUE "ProductName", "Barrier" -VALUE "ProductVersion", BARRIER_VERSION -VALUE "OriginalFilename", "barrierc.exe" -VALUE "FileDescription", "Open source KVM software client" -VALUE "InternalName", "barrierc" -END - -// Any other language blocks here - -END - -BLOCK "VarFileInfo" -BEGIN -/* Unordered list of Lang IDs and their code page IDs (Unicode = 1200 in case of Win32). - These can be expressed using either hexadecimal or decimal. */ -VALUE "Translation", 0x409, 1200 -END - -END -#endif #ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// @@ -80,18 +25,18 @@ END // TEXTINCLUDE // -1 TEXTINCLUDE DISCARDABLE +1 TEXTINCLUDE BEGIN "resource.h\0" END -2 TEXTINCLUDE DISCARDABLE +2 TEXTINCLUDE BEGIN "#include \r\n" "\0" END -3 TEXTINCLUDE DISCARDABLE +3 TEXTINCLUDE BEGIN "\r\n" "\0" @@ -100,6 +45,46 @@ END #endif // APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER + PRODUCTVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Debauchee Open Source Group" + VALUE "CompanyWeb", "https://github.com/debauchee/barrier/" + VALUE "FileVersion", BARRIER_VERSION + VALUE "LegalCopyright", "Copyright (C) 2018 Debauchee Open Source Group\nCopyright (C) 2012-2016 Symless Ltd.\nCopyright (C) 2008-2014 Nick Bolton\nCopyright (C) 2002-2014 Chris Schoeneman" + VALUE "ProductName", "Barrier" + VALUE "ProductVersion", BARRIER_VERSION + VALUE "OriginalFilename", "barrierc.exe" + VALUE "FileDescription", "Open source KVM software client" + VALUE "InternalName", "barrierc" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + + ///////////////////////////////////////////////////////////////////////////// // // Icon @@ -107,18 +92,47 @@ END // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. -IDI_BARRIER ICON DISCARDABLE "barrierc.ico" -IDI_TASKBAR_NOT_RUNNING ICON DISCARDABLE "tb_idle.ico" -IDI_TASKBAR_NOT_WORKING ICON DISCARDABLE "tb_error.ico" -IDI_TASKBAR_NOT_CONNECTED ICON DISCARDABLE "tb_wait.ico" -IDI_TASKBAR_CONNECTED ICON DISCARDABLE "tb_run.ico" +IDI_BARRIER ICON "barrierc.ico" +IDI_TASKBAR_NOT_RUNNING ICON "tb_idle.ico" +IDI_TASKBAR_NOT_WORKING ICON "tb_error.ico" +IDI_TASKBAR_NOT_CONNECTED ICON "tb_wait.ico" +IDI_TASKBAR_CONNECTED ICON "tb_run.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_TASKBAR MENU +BEGIN + POPUP "Barrier" + BEGIN + MENUITEM "Show Status", IDC_TASKBAR_STATUS + MENUITEM "Show Log", IDC_TASKBAR_SHOW_LOG + MENUITEM "Copy Log To Clipboard", IDC_TASKBAR_LOG + POPUP "Set Log Level" + BEGIN + MENUITEM "Error", IDC_TASKBAR_LOG_LEVEL_ERROR + MENUITEM "Warning", IDC_TASKBAR_LOG_LEVEL_WARNING + MENUITEM "Note", IDC_TASKBAR_LOG_LEVEL_NOTE + MENUITEM "Info", IDC_TASKBAR_LOG_LEVEL_INFO + MENUITEM "Debug", IDC_TASKBAR_LOG_LEVEL_DEBUG + MENUITEM "Debug1", IDC_TASKBAR_LOG_LEVEL_DEBUG1 + MENUITEM "Debug2", IDC_TASKBAR_LOG_LEVEL_DEBUG2 + END + MENUITEM SEPARATOR + MENUITEM "Quit", IDC_TASKBAR_QUIT + END +END + ///////////////////////////////////////////////////////////////////////////// // // Dialog // -IDD_TASKBAR_STATUS DIALOG DISCARDABLE 0, 0, 145, 18 +IDD_TASKBAR_STATUS DIALOG 0, 0, 145, 18 STYLE DS_MODALFRAME | WS_POPUP FONT 8, "MS Sans Serif" BEGIN @@ -127,47 +141,12 @@ BEGIN END -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_TASKBAR MENU DISCARDABLE -BEGIN - POPUP "Barrier" - BEGIN - MENUITEM "Show Status", IDC_TASKBAR_STATUS - MENUITEM "Show Log", IDC_TASKBAR_SHOW_LOG - MENUITEM "Copy Log To Clipboard", IDC_TASKBAR_LOG - POPUP "Set Log Level" - BEGIN - MENUITEM "Error", IDC_TASKBAR_LOG_LEVEL_ERROR - - MENUITEM "Warning", IDC_TASKBAR_LOG_LEVEL_WARNING - - MENUITEM "Note", IDC_TASKBAR_LOG_LEVEL_NOTE - - MENUITEM "Info", IDC_TASKBAR_LOG_LEVEL_INFO - - MENUITEM "Debug", IDC_TASKBAR_LOG_LEVEL_DEBUG - - MENUITEM "Debug1", IDC_TASKBAR_LOG_LEVEL_DEBUG1 - - MENUITEM "Debug2", IDC_TASKBAR_LOG_LEVEL_DEBUG2 - - END - MENUITEM SEPARATOR - MENUITEM "Quit", IDC_TASKBAR_QUIT - END -END - - ///////////////////////////////////////////////////////////////////////////// // // String Table // -STRINGTABLE DISCARDABLE +STRINGTABLE BEGIN IDS_FAILED "Barrier is about to quit with errors or warnings. Please check the log then click OK." IDS_INIT_FAILED "Barrier failed to initialize: %{1}" diff --git a/src/cmd/barriers/CMakeLists.txt b/src/cmd/barriers/CMakeLists.txt index 912421f0..ed47d61d 100644 --- a/src/cmd/barriers/CMakeLists.txt +++ b/src/cmd/barriers/CMakeLists.txt @@ -21,16 +21,7 @@ set(sources if (WIN32) file(GLOB arch_headers "MSWindows*.h") file(GLOB arch_sources "MSWindows*.cpp") - list(APPEND sources - resource.h - barriers.ico - barriers.rc - tb_error.ico - tb_idle.ico - tb_run.ico - tb_wait.ico - barriers.exe.manifest - ) + list(APPEND sources barriers.rc) elseif (APPLE) file(GLOB arch_headers "OSX*.h") file(GLOB arch_sources "OSX*.cpp") diff --git a/src/cmd/barriers/barriers.exe.manifest b/src/cmd/barriers/barriers.exe.manifest deleted file mode 100644 index 7309fde6..00000000 --- a/src/cmd/barriers/barriers.exe.manifest +++ /dev/null @@ -1,2 +0,0 @@ - -true \ No newline at end of file diff --git a/src/cmd/barriers/barriers.rc b/src/cmd/barriers/barriers.rc index d6c069bb..f9d8af1d 100644 --- a/src/cmd/barriers/barriers.rc +++ b/src/cmd/barriers/barriers.rc @@ -16,60 +16,8 @@ // English (U.S.) resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// -#ifndef NOVERSIONINFO -VS_VERSION_INFO VERSIONINFO -FILEVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER -PRODUCTVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER -FILEFLAGSMASK 0x3fL -#ifdef _DEBUG -FILEFLAGS 0x1L -#else -FILEFLAGS 0x0L -#endif -FILEOS VOS_NT -FILETYPE VFT_APP -FILESUBTYPE 0x0L -BEGIN - -BLOCK "StringFileInfo" -BEGIN - -// Language block for LANG_ENGLISH/SUBLANG_ENGLISH_US, Unicode CP -BLOCK "040904b0" -BEGIN -VALUE "CompanyName", "Debauchee Open Source Group" -VALUE "CompanyWeb", "https://github.com/debauchee/barrier/" -VALUE "FileVersion", BARRIER_VERSION -VALUE "LegalCopyright", "Copyright (C) 2018 Debauchee Open Source Group\nCopyright (C) 2012-2016 Symless Ltd.\nCopyright (C) 2008-2014 Nick Bolton\nCopyright (C) 2002-2014 Chris Schoeneman" -VALUE "ProductName", "Barrier" -VALUE "ProductVersion", BARRIER_VERSION -VALUE "OriginalFilename", "barriers.exe" -VALUE "FileDescription", "Open source KVM software server" -VALUE "InternalName", "barrierc" -END - -// Any other language blocks here - -END - -BLOCK "VarFileInfo" -BEGIN -/* Unordered list of Lang IDs and their code page IDs (Unicode = 1200 in case of Win32). - These can be expressed using either hexadecimal or decimal. */ -VALUE "Translation", 0x409, 1200 -END - -END -#endif #ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// @@ -77,18 +25,18 @@ END // TEXTINCLUDE // -1 TEXTINCLUDE +1 TEXTINCLUDE BEGIN "resource.h\0" END -2 TEXTINCLUDE +2 TEXTINCLUDE BEGIN "#include \r\n" "\0" END -3 TEXTINCLUDE +3 TEXTINCLUDE BEGIN "\r\n" "\0" @@ -97,6 +45,46 @@ END #endif // APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER + PRODUCTVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Debauchee Open Source Group" + VALUE "CompanyWeb", "https://github.com/debauchee/barrier/" + VALUE "FileVersion", BARRIER_VERSION + VALUE "LegalCopyright", "Copyright (C) 2018 Debauchee Open Source Group\nCopyright (C) 2012-2016 Symless Ltd.\nCopyright (C) 2008-2014 Nick Bolton\nCopyright (C) 2002-2014 Chris Schoeneman" + VALUE "ProductName", "Barrier" + VALUE "ProductVersion", BARRIER_VERSION + VALUE "OriginalFilename", "barriers.exe" + VALUE "FileDescription", "Open source KVM software server" + VALUE "InternalName", "barriers" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + + ///////////////////////////////////////////////////////////////////////////// // // Icon @@ -104,18 +92,19 @@ END // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. -IDI_BARRIER ICON "barriers.ico" -IDI_TASKBAR_NOT_RUNNING ICON "tb_idle.ico" -IDI_TASKBAR_NOT_WORKING ICON "tb_error.ico" +IDI_BARRIER ICON "barriers.ico" +IDI_TASKBAR_NOT_RUNNING ICON "tb_idle.ico" +IDI_TASKBAR_NOT_WORKING ICON "tb_error.ico" IDI_TASKBAR_NOT_CONNECTED ICON "tb_wait.ico" -IDI_TASKBAR_CONNECTED ICON "tb_run.ico" +IDI_TASKBAR_CONNECTED ICON "tb_run.ico" + ///////////////////////////////////////////////////////////////////////////// // // Menu // -IDR_TASKBAR MENU +IDR_TASKBAR MENU BEGIN POPUP "Barrier" BEGIN @@ -160,7 +149,7 @@ END // String Table // -STRINGTABLE +STRINGTABLE BEGIN IDS_FAILED "Barrier is about to quit with errors or warnings. Please check the log then click OK." IDS_INIT_FAILED "Barrier failed to initialize: %{1}" From 366342e4010f3a636e297a9048fea4a9ba705395 Mon Sep 17 00:00:00 2001 From: albertony <12441419+albertony@users.noreply.github.com> Date: Wed, 9 Dec 2020 13:43:46 +0100 Subject: [PATCH 3/3] Add resource with icon and version info to windows deamon exe --- src/cmd/barrierd/CMakeLists.txt | 3 + src/cmd/barrierd/barrierd.ico | Bin 0 -> 121502 bytes src/cmd/barrierd/barrierd.rc | 112 ++++++++++++++++++++++++++++++++ src/cmd/barrierd/resource.h | 16 +++++ 4 files changed, 131 insertions(+) create mode 100644 src/cmd/barrierd/barrierd.ico create mode 100644 src/cmd/barrierd/barrierd.rc create mode 100644 src/cmd/barrierd/resource.h diff --git a/src/cmd/barrierd/CMakeLists.txt b/src/cmd/barrierd/CMakeLists.txt index aeae94cd..5c57882c 100644 --- a/src/cmd/barrierd/CMakeLists.txt +++ b/src/cmd/barrierd/CMakeLists.txt @@ -16,6 +16,9 @@ file(GLOB headers "*.h") file(GLOB sources "*.cpp") +if (WIN32) + list(APPEND sources barrierd.rc) +endif() if (WIN32) add_executable (barrierd WIN32 ${sources}) diff --git a/src/cmd/barrierd/barrierd.ico b/src/cmd/barrierd/barrierd.ico new file mode 100644 index 0000000000000000000000000000000000000000..6e9054525e7b5c822a334827c3510974da54bd76 GIT binary patch literal 121502 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 + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) 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 \r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER + PRODUCTVERSION BARRIER_VERSION_MAJOR, BARRIER_VERSION_MINOR, BARRIER_VERSION_PATCH, BARRIER_BUILD_NUMBER + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Debauchee Open Source Group" + VALUE "CompanyWeb", "https://github.com/debauchee/barrier/" + VALUE "FileVersion", BARRIER_VERSION + VALUE "LegalCopyright", "Copyright (C) 2018 Debauchee Open Source Group\nCopyright (C) 2012-2016 Symless Ltd.\nCopyright (C) 2008-2014 Nick Bolton\nCopyright (C) 2002-2014 Chris Schoeneman" + VALUE "ProductName", "Barrier" + VALUE "ProductVersion", BARRIER_VERSION + VALUE "OriginalFilename", "barrierd.exe" + VALUE "FileDescription", "Open source KVM software deamon" + VALUE "InternalName", "barrierd" + 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_BARRIER ICON "barrierd.ico" + + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/cmd/barrierd/resource.h b/src/cmd/barrierd/resource.h new file mode 100644 index 00000000..67ac5420 --- /dev/null +++ b/src/cmd/barrierd/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Developer Studio generated include file. +// Used by barrierc.rc +// +#define IDI_BARRIER 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 109 +#define _APS_NEXT_COMMAND_VALUE 40016 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif