build: setup a cmake rc template for all apps

This commit is contained in:
sithlord48 2025-01-10 11:07:15 -05:00 committed by Chris Rizzitello
parent 3f3116da05
commit 5be1e9f9b9
13 changed files with 190 additions and 339 deletions

View file

@ -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)

View file

@ -14,7 +14,7 @@ set(CPACK_STRIP_FILES TRUE)
set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME})
set(CPACK_PACKAGE_CONTACT "Deskflow <maintainers@deskflow.org>")
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})

View file

@ -14,9 +14,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# 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)

View file

@ -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

View file

@ -1,141 +0,0 @@
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include <winresrc.h>
#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 <winresrc.h>\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

View file

@ -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()

View file

@ -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(

View file

@ -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")

View file

@ -1 +0,0 @@
IDI_ICON1 ICON DISCARDABLE "../res/deskflow.ico"

View file

@ -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

View file

@ -1,134 +0,0 @@
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include <winresrc.h>
/////////////////////////////////////////////////////////////////////////////
#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 <winresrc.h>\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

View file

@ -0,0 +1,52 @@
// SPDX-FileCopyrightText: 2025 Chris Rizzitello <sithlord48@gmail.com>
// SPDX-License-Identifier: MIT
// Generic Template for rc files in deskflow
#include <windows.h>
#include <verrsrc.h>
@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@

View file

@ -1,51 +0,0 @@
/*
Based on example from:
https://learn.microsoft.com/en-us/windows/win32/menurc/versioninfo-resource?redirectedfrom=MSDN
*/
#include <windows.h>
#include <verrsrc.h>
#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