cmake: Unify project metadata across platforms

This commit is contained in:
Michael Fabian 'Xaymar' Dirks 2022-07-31 00:14:24 +02:00
parent a149531fb8
commit f10096da98
6 changed files with 32 additions and 50 deletions

View file

@ -183,6 +183,8 @@ message(STATUS "${LOGPREFIX}Version ${PROJECT_VERSION}")
################################################################################ ################################################################################
# Project # Project
################################################################################ ################################################################################
# Metadata
version(GENERATE PROJECT_VERSION_CMAKE version(GENERATE PROJECT_VERSION_CMAKE
MAJOR "${PROJECT_VERSION_MAJOR}" MAJOR "${PROJECT_VERSION_MAJOR}"
MINOR "${PROJECT_VERSION_MINOR}" MINOR "${PROJECT_VERSION_MINOR}"
@ -195,19 +197,14 @@ project(
DESCRIPTION "Additional sources, filters, transitions and encoders for OBS Studio." DESCRIPTION "Additional sources, filters, transitions and encoders for OBS Studio."
HOMEPAGE_URL "https://streamfx.xaymar.com/" HOMEPAGE_URL "https://streamfx.xaymar.com/"
) )
set(PROJECT_TITLE "StreamFX (for OBS Studio)")
# Full Project Name
set(PROJECT_FULL_NAME "StreamFX (for OBS Studio)")
# Description
set(PROJECT_DESCRIPTION "Better Production Quality, for free.")
# Authors (TODO: Generate this from AUTHORS)
set(PROJECT_AUTHORS "Michael Fabian 'Xaymar' Dirks <info@xaymar.com>") set(PROJECT_AUTHORS "Michael Fabian 'Xaymar' Dirks <info@xaymar.com>")
set(PROJECT_COPYRIGHT "2017 - 2022, Michael Fabian Dirks. All Rights Reserved")
# Copyright Years (TODO: Update every year) set(PROJECT_TRADEMARKS "")
set(PROJECT_COPYRIGHT_YEARS "2018 - 2020") list(APPEND PROJECT_TRADEMARKS
"AMD is a trademark of Advanced Micro Devices Inc."
"NVIDIA is a trademark of Nvidia Corporation"
)
################################################################################ ################################################################################
# Platform Setup # Platform Setup

View file

@ -1,12 +1,12 @@
; Script generated by the Inno Setup Script Wizard. ; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "@PROJECT_FULL_NAME@" #define MyAppName "@PROJECT_TITLE@"
#define MyAppVersion "@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@.@VERSION_TWEAK@" #define MyAppVersion "@PROJECT_VERSION_CMAKE@"
#define MyAppVersionText "@VERSION_STRING@" #define MyAppVersionText "@PROJECT_VERSION@"
#define MyAppPublisher "Xaymars Technology Workshop" #define MyAppPublisher "Xaymars Technology Workshop"
#define MyAppURL "https://xaymar.com/" #define MyAppURL "https://xaymar.com/"
#define MyAppCopyright "@PROJECT_COPYRIGHT_YEARS@ @PROJECT_AUTHORS@" #define MyAppCopyright "@PROJECT_COPYRIGHT@"
[Setup] [Setup]
; NOTE: The value of AppId uniquely identifies this application. ; NOTE: The value of AppId uniquely identifies this application.

View file

@ -1,12 +1,12 @@
; Script generated by the Inno Setup Script Wizard. ; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "@PROJECT_FULL_NAME@" #define MyAppName "@PROJECT_TITLE@"
#define MyAppVersion "@VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@.@VERSION_TWEAK@" #define MyAppVersion "@PROJECT_VERSION_CMAKE@"
#define MyAppVersionText "@VERSION_STRING@" #define MyAppVersionText "@PROJECT_VERSION@"
#define MyAppPublisher "Xaymars Technology Workshop" #define MyAppPublisher "Xaymars Technology Workshop"
#define MyAppURL "https://xaymar.com/" #define MyAppURL "https://xaymar.com/"
#define MyAppCopyright "@PROJECT_COPYRIGHT_YEARS@ @PROJECT_AUTHORS@" #define MyAppCopyright "@PROJECT_COPYRIGHT@"
[Setup] [Setup]
; NOTE: The value of AppId uniquely identifies this application. ; NOTE: The value of AppId uniquely identifies this application.

View file

@ -512,7 +512,7 @@
<key>FOLLOW_SYMBOLIC_LINKS</key> <key>FOLLOW_SYMBOLIC_LINKS</key>
<false/> <false/>
<key>IDENTIFIER</key> <key>IDENTIFIER</key>
<string>com.xaymar.StreamFX</string> <string>com.xaymar.@PROJECT_NAME@</string>
<key>LOCATION</key> <key>LOCATION</key>
<integer>0</integer> <integer>0</integer>
<key>NAME</key> <key>NAME</key>
@ -528,7 +528,7 @@
<key>USE_HFS+_COMPRESSION</key> <key>USE_HFS+_COMPRESSION</key>
<false/> <false/>
<key>VERSION</key> <key>VERSION</key>
<string>1.0</string> <string>@PROJECT_VERSION_CMAKE@</string>
</dict> </dict>
<key>TYPE</key> <key>TYPE</key>
<integer>0</integer> <integer>0</integer>
@ -691,7 +691,7 @@
<key>LANGUAGE</key> <key>LANGUAGE</key>
<string>English</string> <string>English</string>
<key>VALUE</key> <key>VALUE</key>
<string>@PROJECT_FULL_NAME@</string> <string>@PROJECT_TITLE@</string>
</dict> </dict>
</array> </array>
</dict> </dict>

View file

@ -14,7 +14,7 @@ OBS_MODULE_USE_DEFAULT_LOCALE("@PROJECT_NAME@", "en-US")
MODULE_EXPORT const char* obs_module_name() MODULE_EXPORT const char* obs_module_name()
{ {
return "@PROJECT_FULL_NAME@"; return "@PROJECT_TITLE@";
} }
MODULE_EXPORT const char* obs_module_description() MODULE_EXPORT const char* obs_module_description()

View file

@ -3,12 +3,6 @@
#include <windows.h> #include <windows.h>
#include <winver.h> #include <winver.h>
#define VER_FILEVERSION @PROJECT_VERSION_MAJOR@,@PROJECT_VERSION_MINOR@,@PROJECT_VERSION_PATCH@,@PROJECT_VERSION_TWEAK@
#define VER_FILEVERSION_STR "@VERSION_STRING@\0"
#define VER_PRODUCTVERSION @PROJECT_VERSION_MAJOR@,@PROJECT_VERSION_MINOR@,@PROJECT_VERSION_PATCH@,@PROJECT_VERSION_TWEAK@
#define VER_PRODUCTVERSION_STR "@VERSION_STRING@\0"
#ifndef DEBUG #ifndef DEBUG
#define VER_DEBUG 0 #define VER_DEBUG 0
#else #else
@ -16,8 +10,8 @@
#endif #endif
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION FILEVERSION @PROJECT_VERSION_CMAKE@
PRODUCTVERSION VER_PRODUCTVERSION PRODUCTVERSION @PROJECT_VERSION_CMAKE@
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS (VER_DEBUG) FILEFLAGS (VER_DEBUG)
FILEOS VOS__WINDOWS32 FILEOS VOS__WINDOWS32
@ -26,31 +20,22 @@ FILESUBTYPE VFT2_UNKNOWN
BEGIN BEGIN
BLOCK "StringFileInfo" BLOCK "StringFileInfo"
BEGIN BEGIN
BLOCK "040904E4" BLOCK "040904B0"
BEGIN BEGIN
VALUE "CompanyName", "@PROJECT_COMPANY_NAME@\0" VALUE "OriginalFilename", "@PROJECT_NAME@" ".dll\0"
VALUE "FileDescription", "@PROJECT_DESCRIPTION@\0"
VALUE "FileVersion", VER_FILEVERSION_STR
VALUE "InternalName", "@PROJECT_NAME@\0" VALUE "InternalName", "@PROJECT_NAME@\0"
VALUE "ProductName", "@PROJECT_TITLE@\0"
VALUE "FileDescription", "@PROJECT_DESCRIPTION@\0"
VALUE "CompanyName", "@PROJECT_AUTHORS@\0"
VALUE "LegalCopyright", "@PROJECT_COPYRIGHT@\0" VALUE "LegalCopyright", "@PROJECT_COPYRIGHT@\0"
VALUE "LegalTrademarks1", "@PROJECT_LEGAL_TRADEMARKS_1@\0" VALUE "LegalTrademarks", "@PROJECT_TRADEMARKS@\0"
VALUE "LegalTrademarks2", "@PROJECT_LEGAL_TRADEMARKS_1@\0" VALUE "FileVersion", "@VERSION_STRING@\0"
VALUE "OriginalFilename", "@PROJECT_NAME@\0" VALUE "ProductVersion", "@VERSION_STRING@\0"
VALUE "ProductName", "@PROJECT_PRODUCT_NAME@\0"
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"
BEGIN BEGIN
/* The following line should only be modified for localized versions. */ VALUE "Translation", 0x0409, 0x04B0
/* 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
END END