diff --git a/CMakeLists.txt b/CMakeLists.txt index 3941791cf..2486111fb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -91,8 +91,10 @@ project( DESCRIPTION "Mouse and keyboard sharing utility" LANGUAGES C CXX) -#Used for embedded copyright on binaries, limited space. +# Define Additional "PROJECT" vars for packaging and metadata set(CMAKE_PROJECT_COPYRIGHT "(C) 2024-2025 Deskflow Devs") +set(CMAKE_PROJECT_PROPER_NAME "Deskflow") +set(CMAKE_PROJECT_VENDOR "Deskflow Devs") #Unset the vars used in the project call unset(DESKFLOW_VERSION_MAJOR) diff --git a/deploy/CMakeLists.txt b/deploy/CMakeLists.txt index 77a32d207..b18407cb6 100644 --- a/deploy/CMakeLists.txt +++ b/deploy/CMakeLists.txt @@ -14,7 +14,7 @@ set(CPACK_STRIP_FILES TRUE) set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME}) set(CPACK_PACKAGE_CONTACT "Deskflow ") set(CPACK_PACKAGE_DESCRIPTION ${CMAKE_PROJECT_DESCRIPTION}) -set(CPACK_PACKAGE_VENDOR "Deskflow") +set(CPACK_PACKAGE_VENDOR ${CMAKE_PROJECT_VENDOR}) set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_BINARY_DIR}/LICENSE.txt) set(CPACK_PACKAGE_VERSION ${CMAKE_PROJECT_VERSION}) diff --git a/src/apps/CMakeLists.txt b/src/apps/CMakeLists.txt index 4e7e7f110..dca488ab2 100644 --- a/src/apps/CMakeLists.txt +++ b/src/apps/CMakeLists.txt @@ -14,9 +14,6 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# Configure the windows version rc file -configure_file(res/version.rc.in ${PROJECT_BINARY_DIR}/src/version.rc @ONLY) - option(BUILD_UNIFIED "Build unified binary" OFF) if(BUILD_UNIFIED) add_subdirectory(deskflow-core) diff --git a/src/apps/deskflow-client/CMakeLists.txt b/src/apps/deskflow-client/CMakeLists.txt index 62c770a36..ddffe98b9 100644 --- a/src/apps/deskflow-client/CMakeLists.txt +++ b/src/apps/deskflow-client/CMakeLists.txt @@ -18,9 +18,64 @@ set(target deskflow-client) if(WIN32) + # Generate rc file + set(EXE_DESCRIPTION "${CMAKE_PROJECT_DESCRIPTION}\\n CLI client application") + + set(EXE_ICON " +#include \"${CMAKE_CURRENT_SOURCE_DIR}/resource.h\" + IDI_DESKFLOW ICON DISCARDABLE \"${CMAKE_SOURCE_DIR}/src/apps/res/deskflow.ico\" + IDI_TASKBAR_NOT_RUNNING ICON DISCARDABLE \"${CMAKE_SOURCE_DIR}/src/apps/res/tb_idle.ico\" + IDI_TASKBAR_NOT_WORKING ICON DISCARDABLE \"${CMAKE_SOURCE_DIR}/src/apps/res/tb_error.ico\" + IDI_TASKBAR_NOT_CONNECTED ICON DISCARDABLE \"${CMAKE_SOURCE_DIR}/src/apps/res/deskflow.ico\" + IDI_TASKBAR_CONNECTED ICON DISCARDABLE \"${CMAKE_SOURCE_DIR}/src/apps/res/tb_run.ico\" + ") + + set(EXE_RC_DIALOG " + IDD_TASKBAR_STATUS DIALOG DISCARDABLE 0, 0, 145, 18 + STYLE DS_MODALFRAME | WS_POPUP + FONT 8, \"MS Sans Serif\" + BEGIN + EDITTEXT IDC_TASKBAR_STATUS_STATUS,3,3,139,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER + END + ") + + set(EXE_RC_MENU " + IDR_TASKBAR MENU DISCARDABLE + BEGIN + POPUP \"Deskflow\" + 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 + ") + + set(EXE_RC_STRINGTABLE " + STRINGTABLE DISCARDABLE + BEGIN + IDS_FAILED \"Deskflow is about to quit with errors or warnings. Please check the log then click OK.\" + IDS_INIT_FAILED \"Deskflow failed to initialize: %{1}\" + IDS_UNCAUGHT_EXCEPTION \"Uncaught exception: %{1}\" + END + ") + + configure_file(${CMAKE_SOURCE_DIR}/src/apps/res/rc_template.rc.in deskflow-client.rc) + set(PLATFORM_SOURCES deskflow-client.exe.manifest - deskflow-client.rc MSWindowsClientTaskBarReceiver.cpp MSWindowsClientTaskBarReceiver.h resource.h @@ -28,7 +83,7 @@ if(WIN32) ${PROJECT_SOURCE_DIR}/src/apps/res/tb_error.ico ${PROJECT_SOURCE_DIR}/src/apps/res/tb_idle.ico ${PROJECT_SOURCE_DIR}/src/apps/res/tb_run.ico - ${PROJECT_BINARY_DIR}/src/version.rc + ${CMAKE_CURRENT_BINARY_DIR}/deskflow-client.rc ) elseif(APPLE) set(PLATFORM_SOURCES diff --git a/src/apps/deskflow-client/deskflow-client.rc b/src/apps/deskflow-client/deskflow-client.rc deleted file mode 100644 index e05b047dd..000000000 --- a/src/apps/deskflow-client/deskflow-client.rc +++ /dev/null @@ -1,141 +0,0 @@ -//Microsoft Developer Studio generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include -#if !defined(IDC_STATIC) -#define IDC_STATIC (-1) -#endif - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// 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 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include \r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_DESKFLOW ICON DISCARDABLE "../res/deskflow.ico" -IDI_TASKBAR_NOT_RUNNING ICON DISCARDABLE "../res/tb_idle.ico" -IDI_TASKBAR_NOT_WORKING ICON DISCARDABLE "../res/tb_error.ico" -IDI_TASKBAR_NOT_CONNECTED ICON DISCARDABLE "../res/deskflow.ico" -IDI_TASKBAR_CONNECTED ICON DISCARDABLE "../res/tb_run.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_TASKBAR_STATUS DIALOG DISCARDABLE 0, 0, 145, 18 -STYLE DS_MODALFRAME | WS_POPUP -FONT 8, "MS Sans Serif" -BEGIN - EDITTEXT IDC_TASKBAR_STATUS_STATUS,3,3,139,12,ES_AUTOHSCROLL | - ES_READONLY | NOT WS_BORDER -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_TASKBAR MENU DISCARDABLE -BEGIN - POPUP "Deskflow" - 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 -BEGIN - IDS_FAILED "Deskflow is about to quit with errors or warnings. Please check the log then click OK." - IDS_INIT_FAILED "Deskflow failed to initialize: %{1}" - IDS_UNCAUGHT_EXCEPTION "Uncaught exception: %{1}" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/src/apps/deskflow-core/CMakeLists.txt b/src/apps/deskflow-core/CMakeLists.txt index 302752e9e..471538123 100644 --- a/src/apps/deskflow-core/CMakeLists.txt +++ b/src/apps/deskflow-core/CMakeLists.txt @@ -19,9 +19,13 @@ set(target deskflow-core) add_executable(${target} "${target}.cpp") if(WIN32) + # Generate rc file + set(EXE_DESCRIPTION "${CMAKE_PROJECT_DESCRIPTION}\\n CLI combined server and client") + configure_file(${CMAKE_SOURCE_DIR}/src/apps/res/rc_template.rc.in deskflow-core.rc) + target_sources(${target} PRIVATE "${target}.exe.manifest" - "${PROJECT_BINARY_DIR}/src/version.rc" + ${CMAKE_CURRENT_BINARY_DIR}/deskflow-core.rc ) endif() diff --git a/src/apps/deskflow-daemon/CMakeLists.txt b/src/apps/deskflow-daemon/CMakeLists.txt index d8285bc0e..83b493301 100644 --- a/src/apps/deskflow-daemon/CMakeLists.txt +++ b/src/apps/deskflow-daemon/CMakeLists.txt @@ -18,9 +18,14 @@ # Daemon is only needed on Windows for elevating processes to deal with UAC. if(WIN32) set(target deskflow-daemon) + + # Generate rc file + set(EXE_DESCRIPTION "This service runs in the background to help deskflow deal with UAC prompts") + configure_file(${CMAKE_SOURCE_DIR}/src/apps/res/rc_template.rc.in deskflow-deamon.rc) + add_executable(${target} WIN32 deskflow-daemon.cpp - "${PROJECT_BINARY_DIR}/src/version.rc" + ${CMAKE_CURRENT_BINARY_DIR}/deskflow-daemon.rc ) target_link_libraries( diff --git a/src/apps/deskflow-gui/CMakeLists.txt b/src/apps/deskflow-gui/CMakeLists.txt index e4d4d3bc5..8fb404504 100644 --- a/src/apps/deskflow-gui/CMakeLists.txt +++ b/src/apps/deskflow-gui/CMakeLists.txt @@ -52,8 +52,12 @@ file( widgets/*) file(GLOB ui_files *.ui dialogs/*.ui) + if(WIN32) - set(platform_extra deskflow.rc ${PROJECT_BINARY_DIR}/src/version.rc) + set(EXE_DESCRIPTION "${CMAKE_PROJECT_DESCRIPTION}\\n Control and configure deskflow") + set(EXE_ICON "IDI_ICON1 ICON DISCARDABLE \"${CMAKE_SOURCE_DIR}/src/apps/res/deskflow.ico\" ") + configure_file(${CMAKE_SOURCE_DIR}/src/apps/res/rc_template.rc.in deskflow.rc) + set(platform_extra deskflow.rc) elseif(APPLE) set(platform_extra Deskflow.icns ${PROJECT_SOURCE_DIR}/LICENSE ${PROJECT_SOURCE_DIR}/LICENSE_EXCEPTION) set_source_files_properties(${platform_extra} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources") diff --git a/src/apps/deskflow-gui/deskflow.rc b/src/apps/deskflow-gui/deskflow.rc deleted file mode 100644 index 60028ceb5..000000000 --- a/src/apps/deskflow-gui/deskflow.rc +++ /dev/null @@ -1 +0,0 @@ -IDI_ICON1 ICON DISCARDABLE "../res/deskflow.ico" diff --git a/src/apps/deskflow-server/CMakeLists.txt b/src/apps/deskflow-server/CMakeLists.txt index 2c243732b..2900da4cb 100644 --- a/src/apps/deskflow-server/CMakeLists.txt +++ b/src/apps/deskflow-server/CMakeLists.txt @@ -18,9 +18,68 @@ set(target deskflow-server) if(WIN32) + # Generate rc file + set(EXE_DESCRIPTION "${CMAKE_PROJECT_DESCRIPTION}\\n CLI server application") + + set(EXE_ICON " +#include \"${CMAKE_CURRENT_SOURCE_DIR}/resource.h\" + IDI_DESKFLOW ICON DISCARDABLE \"${CMAKE_SOURCE_DIR}/src/apps/res/deskflow.ico\" + IDI_TASKBAR_NOT_RUNNING ICON DISCARDABLE \"${CMAKE_SOURCE_DIR}/src/apps/res/tb_idle.ico\" + IDI_TASKBAR_NOT_WORKING ICON DISCARDABLE \"${CMAKE_SOURCE_DIR}/src/apps/res/tb_error.ico\" + IDI_TASKBAR_NOT_CONNECTED ICON DISCARDABLE \"${CMAKE_SOURCE_DIR}/src/apps/res/deskflow.ico\" + IDI_TASKBAR_CONNECTED ICON DISCARDABLE \"${CMAKE_SOURCE_DIR}/src/apps/res/tb_run.ico\" + ") + + set(EXE_RC_DIALOG " + IDD_TASKBAR_STATUS DIALOG DISCARDABLE 0, 0, 145, 18 + STYLE DS_MODALFRAME | WS_POPUP + FONT 8, \"MS Sans Serif\" + BEGIN + EDITTEXT IDC_TASKBAR_STATUS_STATUS,3,3,139,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER + LISTBOX IDC_TASKBAR_STATUS_CLIENTS,3,17,139,40,NOT LBS_NOTIFY | LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_NOSEL | WS_VSCROLL | WS_TABSTOP + END + ") + + set(EXE_RC_MENU " + IDR_TASKBAR MENU DISCARDABLE + BEGIN + POPUP \"Deskflow\" + 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 \"Reload Configuration\", IDC_RELOAD_CONFIG + MENUITEM \"Force Reconnect\", IDC_FORCE_RECONNECT + MENUITEM \"Reset Server\", ID_DESKFLOW_RESETSERVER + MENUITEM SEPARATOR + MENUITEM \"Quit\", IDC_TASKBAR_QUIT + END + END + ") + + set(EXE_RC_STRINGTABLE " + STRINGTABLE DISCARDABLE + BEGIN + IDS_FAILED \"Deskflow is about to quit with errors or warnings. Please check the log then click OK.\" + IDS_INIT_FAILED \"Deskflow failed to initialize: %{1}\" + IDS_UNCAUGHT_EXCEPTION \"Uncaught exception: %{1}\" + END + ") + + configure_file(${CMAKE_SOURCE_DIR}/src/apps/res/rc_template.rc.in deskflow-server.rc) + set(PLATFORM_SOURCES deskflow-server.exe.manifest - deskflow-server.rc MSWindowsServerTaskBarReceiver.cpp MSWindowsServerTaskBarReceiver.h resource.h @@ -28,7 +87,7 @@ if(WIN32) ${PROJECT_SOURCE_DIR}/src/apps/res/tb_error.ico ${PROJECT_SOURCE_DIR}/src/apps/res/tb_idle.ico ${PROJECT_SOURCE_DIR}/src/apps/res/tb_run.ico - ${PROJECT_BINARY_DIR}/src/version.rc + ${CMAKE_CURRENT_BINARY_DIR}/deskflow-server.rc ) elseif(APPLE) set(PLATFORM_SOURCES diff --git a/src/apps/deskflow-server/deskflow-server.rc b/src/apps/deskflow-server/deskflow-server.rc deleted file mode 100644 index b74306e64..000000000 --- a/src/apps/deskflow-server/deskflow-server.rc +++ /dev/null @@ -1,134 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// 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 - -#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 - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_DESKFLOW ICON "../res/deskflow.ico" -IDI_TASKBAR_NOT_RUNNING ICON "../res/tb_idle.ico" -IDI_TASKBAR_NOT_WORKING ICON "../res/tb_error.ico" -IDI_TASKBAR_NOT_CONNECTED ICON "../res/deskflow.ico" -IDI_TASKBAR_CONNECTED ICON "../res/tb_run.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_TASKBAR MENU -BEGIN - POPUP "Deskflow" - 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 "Reload Configuration", IDC_RELOAD_CONFIG - MENUITEM "Force Reconnect", IDC_FORCE_RECONNECT - MENUITEM "Reset Server", ID_DESKFLOW_RESETSERVER - MENUITEM SEPARATOR - MENUITEM "Quit", IDC_TASKBAR_QUIT - END -END - - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_TASKBAR_STATUS DIALOG 0, 0, 145, 60 -STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP -FONT 8, "MS Sans Serif" -BEGIN - EDITTEXT IDC_TASKBAR_STATUS_STATUS,3,3,139,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER - LISTBOX IDC_TASKBAR_STATUS_CLIENTS,3,17,139,40,NOT LBS_NOTIFY | LBS_SORT | LBS_NOINTEGRALHEIGHT | LBS_NOSEL | WS_VSCROLL | WS_TABSTOP -END - - -///////////////////////////////////////////////////////////////////////////// -// -// String Table -// - -STRINGTABLE -BEGIN - IDS_FAILED "Deskflow is about to quit with errors or warnings. Please check the log then click OK." - IDS_INIT_FAILED "Deskflow failed to initialize: %{1}" - IDS_UNCAUGHT_EXCEPTION "Uncaught exception: %{1}" -END - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/src/apps/res/rc_template.rc.in b/src/apps/res/rc_template.rc.in new file mode 100644 index 000000000..6063939dc --- /dev/null +++ b/src/apps/res/rc_template.rc.in @@ -0,0 +1,52 @@ +// SPDX-FileCopyrightText: 2025 Chris Rizzitello +// SPDX-License-Identifier: MIT +// Generic Template for rc files in deskflow +#include +#include + + +@EXE_ICON@ + +#define VER_VERSION @CMAKE_PROJECT_VERSION_MAJOR@,@CMAKE_PROJECT_VERSION_MINOR@,@CMAKE_PROJECT_VERSION_PATCH@,@CMAKE_PROJECT_VERSION_TWEAK@ +#define VER_VERSION_STR "@CMAKE_PROJECT_VERSION@\0" +#define NAME_STR "@CMAKE_PROJECT_PROPER_NAME@\0" + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VER_VERSION + PRODUCTVERSION VER_VERSION + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK + FILEFLAGS 0 // No flags + FILEOS VOS__WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE VFT2_UNKNOWN +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "CompanyName", "@CMAKE_PROJECT_VENDOR@\0" + VALUE "FileDescription", "@EXE_DESCRIPTION@\0" + VALUE "FileVersion", VER_VERSION_STR + VALUE "InternalName", NAME_STR + VALUE "LegalCopyright", "@CMAKE_PROJECT_COPYRIGHT@\0" + VALUE "LegalTrademarks1", "All Rights Reserved\0" + VALUE "LegalTrademarks2", "\0" + VALUE "OriginalFilename", "@target@.exe\0" + VALUE "ProductName", NAME_STR + VALUE "ProductVersion", VER_VERSION_STR + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + + + +@EXE_RC_MENU@ + +@EXE_RC_DIALOG@ + +@EXE_RC_STRINGTABLE@ diff --git a/src/apps/res/version.rc.in b/src/apps/res/version.rc.in deleted file mode 100644 index 37076f10c..000000000 --- a/src/apps/res/version.rc.in +++ /dev/null @@ -1,51 +0,0 @@ -/* -Based on example from: -https://learn.microsoft.com/en-us/windows/win32/menurc/versioninfo-resource?redirectedfrom=MSDN -*/ - -#include -#include - -#define VER_VERSION @CMAKE_PROJECT_VERSION_MAJOR@,@CMAKE_PROJECT_VERSION_MINOR@,@CMAKE_PROJECT_VERSION_PATCH@,@CMAKE_PROJECT_VERSION_TWEAK@ -#define VER_VERSION_STR "@CMAKE_PROJECT_VERSION@\0" - -#define VER_COMPANYNAME_STR "Deskflow\0" -#define VER_FILEDESCRIPTION_STR "Deskflow\0" -#define VER_INTERNALNAME_STR "Deskflow\0" -#define VER_LEGALCOPYRIGHT_STR "@CMAKE_PROJECT_COPYRIGHT@\0" -#define VER_LEGALTRADEMARKS1_STR "All Rights Reserved\0" -#define VER_LEGALTRADEMARKS2_STR "\0" -#define VER_ORIGINALFILENAME_STR "\0" -#define VER_PRODUCTNAME_STR "Deskflow\0" - -VS_VERSION_INFO VERSIONINFO - FILEVERSION VER_VERSION - PRODUCTVERSION VER_VERSION - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - FILEFLAGS 0 // No flags - FILEOS VOS__WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE VFT2_UNKNOWN -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - BEGIN - VALUE "CompanyName", VER_COMPANYNAME_STR - VALUE "FileDescription", VER_FILEDESCRIPTION_STR - VALUE "FileVersion", VER_VERSION_STR - VALUE "InternalName", VER_INTERNALNAME_STR - VALUE "LegalCopyright", VER_LEGALCOPYRIGHT_STR - VALUE "LegalTrademarks1", VER_LEGALTRADEMARKS1_STR - VALUE "LegalTrademarks2", VER_LEGALTRADEMARKS2_STR - VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR - VALUE "ProductName", VER_PRODUCTNAME_STR - VALUE "ProductVersion", VER_VERSION_STR - END - END - - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END