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
################################################################################
# Metadata
version(GENERATE PROJECT_VERSION_CMAKE
MAJOR "${PROJECT_VERSION_MAJOR}"
MINOR "${PROJECT_VERSION_MINOR}"
@ -195,19 +197,14 @@ project(
DESCRIPTION "Additional sources, filters, transitions and encoders for OBS Studio."
HOMEPAGE_URL "https://streamfx.xaymar.com/"
)
# 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_TITLE "StreamFX (for OBS Studio)")
set(PROJECT_AUTHORS "Michael Fabian 'Xaymar' Dirks <info@xaymar.com>")
# Copyright Years (TODO: Update every year)
set(PROJECT_COPYRIGHT_YEARS "2018 - 2020")
set(PROJECT_COPYRIGHT "2017 - 2022, Michael Fabian Dirks. All Rights Reserved")
set(PROJECT_TRADEMARKS "")
list(APPEND PROJECT_TRADEMARKS
"AMD is a trademark of Advanced Micro Devices Inc."
"NVIDIA is a trademark of Nvidia Corporation"
)
################################################################################
# Platform Setup

View File

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

View File

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

View File

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

View File

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

View File

@ -3,12 +3,6 @@
#include <windows.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
#define VER_DEBUG 0
#else
@ -16,8 +10,8 @@
#endif
VS_VERSION_INFO VERSIONINFO
FILEVERSION VER_FILEVERSION
PRODUCTVERSION VER_PRODUCTVERSION
FILEVERSION @PROJECT_VERSION_CMAKE@
PRODUCTVERSION @PROJECT_VERSION_CMAKE@
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
FILEFLAGS (VER_DEBUG)
FILEOS VOS__WINDOWS32
@ -26,31 +20,22 @@ FILESUBTYPE VFT2_UNKNOWN
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904E4"
BLOCK "040904B0"
BEGIN
VALUE "CompanyName", "@PROJECT_COMPANY_NAME@\0"
VALUE "FileDescription", "@PROJECT_DESCRIPTION@\0"
VALUE "FileVersion", VER_FILEVERSION_STR
VALUE "OriginalFilename", "@PROJECT_NAME@" ".dll\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 "LegalTrademarks1", "@PROJECT_LEGAL_TRADEMARKS_1@\0"
VALUE "LegalTrademarks2", "@PROJECT_LEGAL_TRADEMARKS_1@\0"
VALUE "OriginalFilename", "@PROJECT_NAME@\0"
VALUE "ProductName", "@PROJECT_PRODUCT_NAME@\0"
VALUE "ProductVersion", VER_PRODUCTVERSION_STR
VALUE "LegalTrademarks", "@PROJECT_TRADEMARKS@\0"
VALUE "FileVersion", "@VERSION_STRING@\0"
VALUE "ProductVersion", "@VERSION_STRING@\0"
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
VALUE "Translation", 0x0409, 0x04B0
END
END