From dfbe97988fefc49980623331aece725f8e616c31 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Tue, 9 Jul 2024 08:37:31 -0500 Subject: [PATCH] fixes --- .gitignore | 1 + cmake/functions.cmake | 4 ++ project.cmake | 15 ++++++-- repertory/repertory/version.rc.in | 64 +++++++++++++++++++++++++++++++ 4 files changed, 80 insertions(+), 4 deletions(-) create mode 100644 repertory/repertory/version.rc.in diff --git a/.gitignore b/.gitignore index 6405543c..80fe6f60 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ deps/ repertory/librepertory/src/common.cpp scripts/cleanup.cmd scripts/cleanup.sh +version.rc diff --git a/cmake/functions.cmake b/cmake/functions.cmake index 82712d78..f3ad9b47 100644 --- a/cmake/functions.cmake +++ b/cmake/functions.cmake @@ -41,6 +41,10 @@ function(add_project_executable name dependencies libraries) ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/${name}/src/*.cxx ) + if (PROJECT_WINDOWS_VERSION_RC) + list(APPEND sources ${PROJECT_WINDOWS_VERSION_RC}) + endif() + add_executable(${name} ${headers} ${sources} diff --git a/project.cmake b/project.cmake index 46c0427f..4816b141 100644 --- a/project.cmake +++ b/project.cmake @@ -19,11 +19,18 @@ if (REPERTORY_ENABLE_S3) add_definitions(-DREPERTORY_ENABLE_S3) endif() -# configure_file(${CMAKE_CURRENT_SOURCE_DIR}/version.rc.in ${CMAKE_CURRENT_SOURCE_DIR}/src/version.rc @ONLY) -# set(WINDOWS_VERSION_RC ${CMAKE_CURRENT_SOURCE_DIR}/src/version.rc) +if (PROJECT_IS_MINGW) + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/${PROJECT_NAME}/version.rc.in + ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/${PROJECT_NAME}/version.rc + @ONLY + ) + set(PROJECT_WINDOWS_VERSION_RC ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/${PROJECT_NAME}/version.rc) +endif() + configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/repertory/librepertory/src/common.cpp.in - ${CMAKE_CURRENT_SOURCE_DIR}/repertory/librepertory/src/common.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/lib${PROJECT_NAME}/src/common.cpp.in + ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}/lib${PROJECT_NAME}/src/common.cpp @ONLY ) diff --git a/repertory/repertory/version.rc.in b/repertory/repertory/version.rc.in new file mode 100644 index 00000000..cb622188 --- /dev/null +++ b/repertory/repertory/version.rc.in @@ -0,0 +1,64 @@ +#include +#define VER_FILEVERSION @REPERTORY_VER_FILEVERSION@ +#define VER_FILEVERSION_STR "@REPERTORY_VER_FILEVERSION_STR@\0" + +#define VER_PRODUCTVERSION @REPERTORY_VER_PRODUCTVERSION@ +#define VER_PRODUCTVERSION_STR "@REPERTORY_VER_PRODUCTVERSION_STR@\0" + +#define VER_COMPANYNAME_STR "@REPERTORY_VER_COMPANYNAME_STR@\0" +#define VER_INTERNALNAME_STR "Repertory @REPERTORY_VERSION@\0" +#define VER_LEGALCOPYRIGHT_STR "@REPERTORY_VER_LEGALCOPYRIGHT_STR@\0" +#define VER_ORIGINALFILENAME_STR "repertory.exe\0" +#define VER_LEGALTRADEMARKS1_STR "\0" +#define VER_LEGALTRADEMARKS2_STR "\0" +#define VER_FILEDESCRIPTION_STR "@REPERTORY_VER_FILEDESCRIPTION_STR@\0" +#define VER_PRODUCTNAME_STR "Repertory v@REPERTORY_VERSION@\0" + +#ifdef DEBUG +#define VER_DEBUG VS_FF_DEBUG +#else +#define VER_DEBUG 0 +#endif + +#define VER_PRERELEASE @REPERTORY_VER_PRERELEASE@ + + +VS_VERSION_INFO VERSIONINFO +FILEVERSION VER_FILEVERSION +PRODUCTVERSION VER_PRODUCTVERSION +FILEFLAGSMASK (VS_FF_DEBUG|VS_FF_PRERELEASE) +FILEFLAGS (VER_DEBUG|VER_PRERELEASE) +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_FILEVERSION_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_PRODUCTVERSION_STR + END + END + + BLOCK "VarFileInfo" + BEGIN + /* The following line should only be modified for localized versions. */ + /* It consists of any number of WORD,WORD pairs, with each pair */ + /* describing a language,codepage combination supported by the file. */ + /* */ + /* For example, a file might have values "0x409,1252" indicating that it */ + /* supports English language (0x409) in the Windows ANSI codepage (1252). */ + + VALUE "Translation", 0x409, 1252 + + END +END