diff --git a/CMakeLists.txt b/CMakeLists.txt index 16c2e604c..c9dd5bac8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -180,6 +180,11 @@ if (SET_TWEAK AND EXISTS "${CMAKE_SOURCE_DIR}/.git") ) string(REGEX MATCH "-[0-9]+" PROJECT_VERSION_TWEAK "${PROJECT_VERSION_TWEAK}") endif() +if(PROJECT_VERSION_TWEAK) + string(REGEX MATCH "[0-9]+" PROJECT_VERSION_TWEAK_NUM "${PROJECT_VERSION_TWEAK}") +else() + set(PROJECT_VERSION_TWEAK_NUM 0) +endif() ############# # Text data # @@ -684,6 +689,9 @@ target_link_libraries(libfastfetch add_executable(fastfetch src/fastfetch.c ) +target_compile_definitions(fastfetch + PRIVATE FASTFETCH_TARGET_BINARY_NAME="fastfetch" +) target_link_libraries(fastfetch PRIVATE libfastfetch ) @@ -691,27 +699,22 @@ target_link_libraries(fastfetch add_executable(flashfetch src/flashfetch.c ) +target_compile_definitions(flashfetch + PRIVATE FASTFETCH_TARGET_BINARY_NAME="flashfetch" +) target_link_libraries(flashfetch PRIVATE libfastfetch ) if(WIN32) - if(PROJECT_VERSION_TWEAK) - string(REGEX MATCH "[0-9]+" PROJECT_VERSION_TWEAK_NUM "${PROJECT_VERSION_TWEAK}") - else() - set(PROJECT_VERSION_TWEAK_NUM "0") - endif() - set(TARGET_NAME fastfetch) - configure_file(src/util/windows/version.rc.in version.fastfetch.rc) target_sources(fastfetch - PRIVATE version.fastfetch.rc + PRIVATE src/util/windows/version.rc ) set(TARGET_NAME flashfetch) - configure_file(src/util/windows/version.rc.in version.flashfetch.rc) target_sources(flashfetch - PRIVATE version.flashfetch.rc + PRIVATE src/util/windows/version.rc ) endif() diff --git a/src/fastfetch_config.h.in b/src/fastfetch_config.h.in index 171881da9..0fcf3f2d1 100644 --- a/src/fastfetch_config.h.in +++ b/src/fastfetch_config.h.in @@ -7,6 +7,10 @@ #define FASTFETCH_PROJECT_VERSION_MINOR @PROJECT_VERSION_MINOR@ #define FASTFETCH_PROJECT_VERSION_PATCH @PROJECT_VERSION_PATCH@ #define FASTFETCH_PROJECT_VERSION_TWEAK "@PROJECT_VERSION_TWEAK@" +#define FASTFETCH_PROJECT_VERSION_TWEAK_NUM @PROJECT_VERSION_TWEAK_NUM@ +#define FASTFETCH_PROJECT_HOMEPAGE_URL "@PROJECT_HOMEPAGE_URL@" +#define FASTFETCH_PROJECT_DESCRIPTION "@PROJECT_DESCRIPTION@" +#define FASTFETCH_PROJECT_LICENSE "@PROJECT_LICENSE@" #define FASTFETCH_TARGET_DIR_ROOT "@TARGET_DIR_ROOT@" #define FASTFETCH_TARGET_DIR_USR "@TARGET_DIR_USR@" diff --git a/src/util/windows/version.rc b/src/util/windows/version.rc new file mode 100644 index 000000000..9934522c1 --- /dev/null +++ b/src/util/windows/version.rc @@ -0,0 +1,48 @@ +// +// Include the necessary resources +// +#include +#include +#include "fastfetch_config.h" + +#ifdef RC_INVOKED + +// +// Set up debug information +// +#if DEBUG +#define VER_DEBUG VS_FF_DEBUG +#else +#define VER_DEBUG 0 +#endif + +// ------- version info ------------------------------------------------------- + +VS_VERSION_INFO VERSIONINFO +FILEVERSION FASTFETCH_PROJECT_VERSION_MAJOR,FASTFETCH_PROJECT_VERSION_MINOR,FASTFETCH_PROJECT_VERSION_PATCH,FASTFETCH_PROJECT_VERSION_TWEAK_NUM +PRODUCTVERSION FASTFETCH_PROJECT_VERSION_MAJOR,FASTFETCH_PROJECT_VERSION_MINOR,FASTFETCH_PROJECT_VERSION_PATCH,FASTFETCH_PROJECT_VERSION_TWEAK_NUM +FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +FILEFLAGS (VER_DEBUG|VS_FF_PRERELEASE) +FILEOS VOS_NT +FILETYPE VFT_APP +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "Comments", FASTFETCH_PROJECT_HOMEPAGE_URL + VALUE "FileDescription", FASTFETCH_TARGET_BINARY_NAME " - " FASTFETCH_PROJECT_DESCRIPTION + VALUE "FileVersion", FASTFETCH_PROJECT_VERSION FASTFETCH_PROJECT_VERSION_TWEAK + VALUE "InternalName", FASTFETCH_TARGET_BINARY_NAME ".exe" + VALUE "LegalCopyright", FASTFETCH_PROJECT_LICENSE + VALUE "OriginalFilename", FASTFETCH_TARGET_BINARY_NAME ".exe" + VALUE "ProductName", FASTFETCH_PROJECT_NAME + VALUE "ProductVersion", FASTFETCH_PROJECT_VERSION FASTFETCH_PROJECT_VERSION_TWEAK + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409,1252 + END +END +#endif diff --git a/src/util/windows/version.rc.in b/src/util/windows/version.rc.in deleted file mode 100644 index 3e1833eec..000000000 --- a/src/util/windows/version.rc.in +++ /dev/null @@ -1,47 +0,0 @@ -// -// Include the necessary resources -// -#include -#include - -#ifdef RC_INVOKED - -// -// Set up debug information -// -#if DEBUG -#define VER_DEBUG VS_FF_DEBUG -#else -#define VER_DEBUG 0 -#endif - -// ------- version info ------------------------------------------------------- - -VS_VERSION_INFO VERSIONINFO -FILEVERSION @PROJECT_VERSION_MAJOR@,@PROJECT_VERSION_MINOR@,@PROJECT_VERSION_PATCH@,@PROJECT_VERSION_TWEAK_NUM@ -PRODUCTVERSION @PROJECT_VERSION_MAJOR@,@PROJECT_VERSION_MINOR@,@PROJECT_VERSION_PATCH@,@PROJECT_VERSION_TWEAK_NUM@ -FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -FILEFLAGS (VER_DEBUG|VS_FF_PRERELEASE) -FILEOS VOS_NT -FILETYPE VFT_APP -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "Comments", "@PROJECT_HOMEPAGE_URL@" - VALUE "FileDescription", "@PROJECT_DESCRIPTION@" - VALUE "FileVersion", "@PROJECT_VERSION@@PROJECT_VERSION_TWEAK@" - VALUE "InternalName", "@TARGET_NAME@.exe" - VALUE "LegalCopyright", "@PROJECT_LICENSE@" - VALUE "OriginalFilename", "@TARGET_NAME@.exe" - VALUE "ProductName", "@PROJECT_NAME@" - VALUE "ProductVersion", "@PROJECT_VERSION@@PROJECT_VERSION_TWEAK@" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409,1252 - END -END -#endif