From 4a6656d979aee4aaa701c2ad302863aa68f97312 Mon Sep 17 00:00:00 2001 From: donovaly Date: Mon, 10 Feb 2020 23:52:02 +0100 Subject: [PATCH] add missing version info for Win builds see https://forum.freecadweb.org/viewtopic.php?f=8&t=43099&p=367607#p367607 automate creation of freecad.rc as proposed in https://forum.freecadweb.org/viewtopic.php?p=367681#p367681 --- CMakeLists.txt | 2 ++ src/Main/CMakeLists.txt | 4 +++- src/Main/freecad.rc | 31 +++++++++++++++++++++++++++++++ src/Main/freecad.rc.cmake | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 src/Main/freecad.rc.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index f5347f3b4f..2c54472dbf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,6 +28,8 @@ set(PACKAGE_VERSION_NAME "Vulcan") set(PACKAGE_VERSION_MAJOR "0") set(PACKAGE_VERSION_MINOR "19") set(PACKAGE_VERSION_PATCH "16100") +set(PACKAGE_VERSION_SUFFIX "dev") # either "dev" for development snapshot or "" (empty string) +set(FREECAD_VERSION_PATCH "0") # number of patch release (e.g. "4" for the 0.18.4 release) set(FREECAD_VERSION "${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}") set(PACKAGE_VERSION "${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH}") diff --git a/src/Main/CMakeLists.txt b/src/Main/CMakeLists.txt index 56033ad8bd..38bbe09190 100644 --- a/src/Main/CMakeLists.txt +++ b/src/Main/CMakeLists.txt @@ -1,6 +1,8 @@ #add_defintions(-D_FC_GUI_ENABLED_) #add_defintions(-DFREECADMAINPY) +configure_file(freecad.rc.cmake ${CMAKE_CURRENT_BINARY_DIR}/freecad.rc) + if(BUILD_GUI) include_directories( ${Boost_INCLUDE_DIRS} @@ -24,7 +26,7 @@ endif(BUILD_GUI) if(BUILD_GUI) SET(FreeCAD_SRCS - freecad.rc + ${CMAKE_CURRENT_BINARY_DIR}/freecad.rc icon.ico MainGui.cpp ) diff --git a/src/Main/freecad.rc b/src/Main/freecad.rc index a713a4163e..498724eaf8 100644 --- a/src/Main/freecad.rc +++ b/src/Main/freecad.rc @@ -1,4 +1,35 @@ +///////////////////////////////////////////////////////////////////////////// +// For nfo about the file structrure see +// https://docs.microsoft.com/en-us/windows/win32/menurc/versioninfo-resource +// and +// https://docs.microsoft.com/en-us/windows/win32/menurc/stringfileinfo-block + +// Icon +// // Icon with lowest ID value placed first to ensure application icon // remains consistent on all systems. IDI_ICON1 ICON DISCARDABLE "icon.ico" +// File info for the FreeCAD.exe +// +1 VERSIONINFO +FILEVERSION ${PACKAGE_VERSION_MAJOR},${PACKAGE_VERSION_MINOR},${FREECAD_VERSION_PATCH},${PACKAGE_VERSION_PATCH} +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" // 409 stands for US English + BEGIN + VALUE "CompanyName", "${PROJECT_NAME} Team" + VALUE "FileDescription", "${PROJECT_NAME} main executable" + VALUE "InternalName", "FreeCAD.exe" + VALUE "LegalCopyright", "Copyright (C) 2020" + VALUE "OriginalFilename", "FreeCAD.exe" + VALUE "ProductName", "${PROJECT_NAME}" + VALUE "${FREECAD_VERSION}.${PACKAGE_VERSION_SUFFIX}" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 //US English, Unicode + END +END diff --git a/src/Main/freecad.rc.cmake b/src/Main/freecad.rc.cmake new file mode 100644 index 0000000000..5f24983222 --- /dev/null +++ b/src/Main/freecad.rc.cmake @@ -0,0 +1,35 @@ +///////////////////////////////////////////////////////////////////////////// +// For nfo about the file structrure see +// https://docs.microsoft.com/en-us/windows/win32/menurc/versioninfo-resource +// and +// https://docs.microsoft.com/en-us/windows/win32/menurc/stringfileinfo-block + +// Icon +// +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_ICON1 ICON DISCARDABLE "icon.ico" + +// File info for the FreeCAD.exe +// +1 VERSIONINFO +FILEVERSION ${PACKAGE_VERSION_MAJOR},${PACKAGE_VERSION_MINOR},${FREECAD_VERSION_PATCH},${PACKAGE_VERSION_PATCH} +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" // 409 stands for US English + BEGIN + VALUE "CompanyName", "${PROJECT_NAME} Team" + VALUE "FileDescription", "${PROJECT_NAME} main executable" + VALUE "InternalName", "FreeCAD.exe" + VALUE "LegalCopyright", "Copyright (C) 2020" + VALUE "OriginalFilename", "FreeCAD.exe" + VALUE "ProductName", "${PROJECT_NAME}" + VALUE "ProductVersion", "${FREECAD_VERSION}.${FREECAD_VERSION_PATCH}${PACKAGE_VERSION_SUFFIX}" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 //US English, Unicode + END +END