mirror of https://github.com/ZDoom/fluidsynth.git
parent
82a354d515
commit
2f35afe79e
|
@ -0,0 +1,79 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifndef PRODUCT_VERSION_MAJOR
|
||||||
|
#define PRODUCT_VERSION_MAJOR @PRODUCT_VERSION_MAJOR@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PRODUCT_VERSION_MINOR
|
||||||
|
#define PRODUCT_VERSION_MINOR @PRODUCT_VERSION_MINOR@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PRODUCT_VERSION_PATCH
|
||||||
|
#define PRODUCT_VERSION_PATCH @PRODUCT_VERSION_PATCH@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PRODUCT_VERSION_BUILD
|
||||||
|
#define PRODUCT_VERSION_BUILD @PRODUCT_VERSION_REVISION@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FILE_VERSION_MAJOR
|
||||||
|
#define FILE_VERSION_MAJOR @PRODUCT_VERSION_MAJOR@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FILE_VERSION_MINOR
|
||||||
|
#define FILE_VERSION_MINOR @PRODUCT_VERSION_MINOR@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FILE_VERSION_PATCH
|
||||||
|
#define FILE_VERSION_PATCH @PRODUCT_VERSION_PATCH@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FILE_VERSION_BUILD
|
||||||
|
#define FILE_VERSION_BUILD @PRODUCT_VERSION_REVISION@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __TO_STRING
|
||||||
|
#define __TO_STRING_IMPL(x) #x
|
||||||
|
#define __TO_STRING(x) __TO_STRING_IMPL(x)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define PRODUCT_VERSION_MAJOR_MINOR_STR __TO_STRING(PRODUCT_VERSION_MAJOR) "." __TO_STRING(PRODUCT_VERSION_MINOR)
|
||||||
|
#define PRODUCT_VERSION_MAJOR_MINOR_PATCH_STR PRODUCT_VERSION_MAJOR_MINOR_STR "." __TO_STRING(PRODUCT_VERSION_PATCH)
|
||||||
|
#define PRODUCT_VERSION_FULL_STR PRODUCT_VERSION_MAJOR_MINOR_PATCH_STR "." __TO_STRING(PRODUCT_VERSION_BUILD)
|
||||||
|
#define PRODUCT_VERSION_RESOURCE PRODUCT_VERSION_MAJOR,PRODUCT_VERSION_MINOR,PRODUCT_VERSION_PATCH,PRODUCT_VERSION_BUILD
|
||||||
|
#define PRODUCT_VERSION_RESOURCE_STR PRODUCT_VERSION_FULL_STR "\0"
|
||||||
|
|
||||||
|
#define FILE_VERSION_MAJOR_MINOR_STR __TO_STRING(FILE_VERSION_MAJOR) "." __TO_STRING(FILE_VERSION_MINOR)
|
||||||
|
#define FILE_VERSION_MAJOR_MINOR_PATCH_STR FILE_VERSION_MAJOR_MINOR_STR "." __TO_STRING(FILE_VERSION_PATCH)
|
||||||
|
#define FILE_VERSION_FULL_STR FILE_VERSION_MAJOR_MINOR_PATCH_STR "." __TO_STRING(FILE_VERSION_BUILD)
|
||||||
|
#define FILE_VERSION_RESOURCE FILE_VERSION_MAJOR,FILE_VERSION_MINOR,FILE_VERSION_PATCH,FILE_VERSION_BUILD
|
||||||
|
#define FILE_VERSION_RESOURCE_STR FILE_VERSION_FULL_STR "\0"
|
||||||
|
|
||||||
|
#ifndef PRODUCT_COMMENTS
|
||||||
|
#define PRODUCT_COMMENTS "@PRODUCT_COMMENTS@\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PRODUCT_COMPANY_NAME
|
||||||
|
#define PRODUCT_COMPANY_NAME "@PRODUCT_COMPANY_NAME@\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PRODUCT_COMPANY_COPYRIGHT
|
||||||
|
#define PRODUCT_COMPANY_COPYRIGHT "@PRODUCT_COMPANY_COPYRIGHT@\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PRODUCT_FILE_DESCRIPTION
|
||||||
|
#define PRODUCT_FILE_DESCRIPTION "@PRODUCT_FILE_DESCRIPTION@\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PRODUCT_INTERNAL_NAME
|
||||||
|
#define PRODUCT_INTERNAL_NAME "@PRODUCT_NAME@\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PRODUCT_ORIGINAL_FILENAME
|
||||||
|
#define PRODUCT_ORIGINAL_FILENAME "@PRODUCT_ORIGINAL_FILENAME@\0"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PRODUCT_BUNDLE
|
||||||
|
#define PRODUCT_BUNDLE "@PRODUCT_BUNDLE@\0"
|
||||||
|
#endif
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
#include "VersionInfo.h"
|
||||||
|
#include "winres.h"
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION FILE_VERSION_RESOURCE
|
||||||
|
PRODUCTVERSION PRODUCT_VERSION_RESOURCE
|
||||||
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
||||||
|
#ifdef _DEBUG
|
||||||
|
FILEFLAGS 0x1L
|
||||||
|
#else
|
||||||
|
FILEFLAGS 0x0L
|
||||||
|
#endif
|
||||||
|
FILEOS VOS__WINDOWS32
|
||||||
|
FILETYPE VFT_DLL
|
||||||
|
FILESUBTYPE VFT2_UNKNOWN
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904E4"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Comments", PRODUCT_COMMENTS
|
||||||
|
VALUE "CompanyName", PRODUCT_COMPANY_NAME
|
||||||
|
VALUE "FileDescription", PRODUCT_FILE_DESCRIPTION
|
||||||
|
VALUE "FileVersion", FILE_VERSION_RESOURCE_STR
|
||||||
|
VALUE "InternalName", PRODUCT_INTERNAL_NAME
|
||||||
|
VALUE "LegalCopyright", PRODUCT_COMPANY_COPYRIGHT
|
||||||
|
VALUE "OriginalFilename", PRODUCT_ORIGINAL_FILENAME
|
||||||
|
VALUE "ProductName", PRODUCT_BUNDLE
|
||||||
|
VALUE "ProductVersion", PRODUCT_VERSION_RESOURCE_STR
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 1252
|
||||||
|
END
|
||||||
|
END
|
||||||
|
|
|
@ -0,0 +1,107 @@
|
||||||
|
include (CMakeParseArguments)
|
||||||
|
|
||||||
|
set (GenerateProductVersionCurrentDir ${CMAKE_CURRENT_LIST_DIR})
|
||||||
|
|
||||||
|
# generate_product_version() function
|
||||||
|
#
|
||||||
|
# This function uses VersionInfo.in template file and VersionResource.rc file
|
||||||
|
# to generate WIN32 resource with version information and general resource strings.
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# generate_product_version(
|
||||||
|
# SomeOutputResourceVariable
|
||||||
|
# NAME MyGreatProject
|
||||||
|
# ICON ${PATH_TO_APP_ICON}
|
||||||
|
# VERSION_MAJOR 2
|
||||||
|
# VERSION_MINOR 3
|
||||||
|
# VERSION_PATH ${BUILD_COUNTER}
|
||||||
|
# VERSION_REVISION ${BUILD_REVISION}
|
||||||
|
# )
|
||||||
|
# where BUILD_COUNTER and BUILD_REVISION could be values from your CI server.
|
||||||
|
#
|
||||||
|
# You can use generated resource for your executable targets:
|
||||||
|
# add_executable(target-name ${target-files} ${SomeOutputResourceVariable})
|
||||||
|
#
|
||||||
|
# You can specify resource strings in arguments:
|
||||||
|
# NAME - name of executable (no defaults, ex: Microsoft Word)
|
||||||
|
# BUNDLE - bundle (${NAME} is default, ex: Microsoft Office)
|
||||||
|
# ICON - path to application icon (${CMAKE_SOURCE_DIR}/product.ico by default)
|
||||||
|
# VERSION_MAJOR - 1 is default
|
||||||
|
# VERSION_MINOR - 0 is default
|
||||||
|
# VERSION_PATCH - 0 is default
|
||||||
|
# VERSION_REVISION - 0 is default
|
||||||
|
# COMPANY_NAME - your company name (no defaults)
|
||||||
|
# COMPANY_COPYRIGHT - ${COMPANY_NAME} (C) Copyright ${CURRENT_YEAR} is default
|
||||||
|
# COMMENTS - ${NAME} v${VERSION_MAJOR}.${VERSION_MINOR} is default
|
||||||
|
# ORIGINAL_FILENAME - ${NAME} is default
|
||||||
|
# INTERNAL_NAME - ${NAME} is default
|
||||||
|
# FILE_DESCRIPTION - ${NAME} is default
|
||||||
|
function(generate_product_version outfiles)
|
||||||
|
set (options)
|
||||||
|
set (oneValueArgs
|
||||||
|
NAME
|
||||||
|
BUNDLE
|
||||||
|
VERSION_MAJOR
|
||||||
|
VERSION_MINOR
|
||||||
|
VERSION_PATCH
|
||||||
|
VERSION_REVISION
|
||||||
|
COMPANY_NAME
|
||||||
|
COMPANY_COPYRIGHT
|
||||||
|
COMMENTS
|
||||||
|
ORIGINAL_FILENAME
|
||||||
|
INTERNAL_NAME
|
||||||
|
FILE_DESCRIPTION)
|
||||||
|
set (multiValueArgs)
|
||||||
|
cmake_parse_arguments(PRODUCT "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||||
|
|
||||||
|
if (NOT PRODUCT_BUNDLE OR "${PRODUCT_BUNDLE}" STREQUAL "")
|
||||||
|
set(PRODUCT_BUNDLE "${PRODUCT_NAME}")
|
||||||
|
endif()
|
||||||
|
# if (NOT PRODUCT_ICON OR "${PRODUCT_ICON}" STREQUAL "")
|
||||||
|
# set(PRODUCT_ICON "${CMAKE_SOURCE_DIR}/product.ico")
|
||||||
|
# endif()
|
||||||
|
|
||||||
|
if (NOT PRODUCT_VERSION_MAJOR OR "${PRODUCT_VERSION_MAJOR}" STREQUAL "")
|
||||||
|
set(PRODUCT_VERSION_MAJOR 1)
|
||||||
|
endif()
|
||||||
|
if (NOT PRODUCT_VERSION_MINOR OR "${PRODUCT_VERSION_MINOR}" STREQUAL "")
|
||||||
|
set(PRODUCT_VERSION_MINOR 0)
|
||||||
|
endif()
|
||||||
|
if (NOT PRODUCT_VERSION_PATCH OR "${PRODUCT_VERSION_PATCH}" STREQUAL "")
|
||||||
|
set(PRODUCT_VERSION_PATCH 0)
|
||||||
|
endif()
|
||||||
|
if (NOT PRODUCT_VERSION_REVISION OR "${PRODUCT_VERSION_REVISION}" STREQUAL "")
|
||||||
|
set(PRODUCT_VERSION_REVISION 0)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (NOT PRODUCT_COMPANY_COPYRIGHT OR "${PRODUCT_COMPANY_COPYRIGHT}" STREQUAL "")
|
||||||
|
string(TIMESTAMP PRODUCT_CURRENT_YEAR "%Y")
|
||||||
|
set(PRODUCT_COMPANY_COPYRIGHT "${PRODUCT_COMPANY_NAME} (C) Copyright ${PRODUCT_CURRENT_YEAR}")
|
||||||
|
endif()
|
||||||
|
if (NOT PRODUCT_COMMENTS OR "${PRODUCT_COMMENTS}" STREQUAL "")
|
||||||
|
set(PRODUCT_COMMENTS "${PRODUCT_NAME} v${PRODUCT_VERSION_MAJOR}.${PRODUCT_VERSION_MINOR}")
|
||||||
|
endif()
|
||||||
|
if (NOT PRODUCT_ORIGINAL_FILENAME OR "${PRODUCT_ORIGINAL_FILENAME}" STREQUAL "")
|
||||||
|
set(PRODUCT_ORIGINAL_FILENAME "${PRODUCT_NAME}")
|
||||||
|
endif()
|
||||||
|
if (NOT PRODUCT_INTERNAL_NAME OR "${PRODUCT_INTERNAL_NAME}" STREQUAL "")
|
||||||
|
set(PRODUCT_INTERNAL_NAME "${PRODUCT_NAME}")
|
||||||
|
endif()
|
||||||
|
if (NOT PRODUCT_FILE_DESCRIPTION OR "${PRODUCT_FILE_DESCRIPTION}" STREQUAL "")
|
||||||
|
set(PRODUCT_FILE_DESCRIPTION "${PRODUCT_NAME}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set (_VersionInfoFile ${CMAKE_CURRENT_BINARY_DIR}/VersionInfo.h)
|
||||||
|
set (_VersionResourceFile ${CMAKE_CURRENT_BINARY_DIR}/VersionResource.rc)
|
||||||
|
configure_file(
|
||||||
|
${GenerateProductVersionCurrentDir}/VersionInfo.in
|
||||||
|
${_VersionInfoFile}
|
||||||
|
@ONLY)
|
||||||
|
configure_file(
|
||||||
|
${GenerateProductVersionCurrentDir}/VersionResource.rc
|
||||||
|
${_VersionResourceFile}
|
||||||
|
COPYONLY)
|
||||||
|
list(APPEND ${outfiles} ${_VersionInfoFile} ${_VersionResourceFile})
|
||||||
|
set (${outfiles} ${${outfiles}} PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
|
|
@ -203,6 +203,23 @@ set ( public_main_HEADER
|
||||||
${CMAKE_SOURCE_DIR}/include/fluidsynth.h
|
${CMAKE_SOURCE_DIR}/include/fluidsynth.h
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if ( WIN32 AND NOT MINGW )
|
||||||
|
include(generate_product_version)
|
||||||
|
generate_product_version(
|
||||||
|
VersionFilesOutputVariable
|
||||||
|
NAME "Fluidsynth"
|
||||||
|
BUNDLE "Fluidsynth"
|
||||||
|
VERSION_MAJOR ${FLUIDSYNTH_VERSION_MAJOR}
|
||||||
|
VERSION_MINOR ${FLUIDSYNTH_VERSION_MINOR}
|
||||||
|
VERSION_PATCH ${FLUIDSYNTH_VERSION_MICRO}
|
||||||
|
VERSION_REVISION 0
|
||||||
|
COMMENTS "Fluidsynth"
|
||||||
|
COMPANY_NAME "Fluidsynth LGPL"
|
||||||
|
ORIGINAL_FILENAME "libfluidsynth.dll"
|
||||||
|
FILE_DESCRIPTION "Fluidsynth"
|
||||||
|
)
|
||||||
|
endif ( WIN32 AND NOT MINGW )
|
||||||
|
|
||||||
link_directories (
|
link_directories (
|
||||||
${GLIB_LIBDIR}
|
${GLIB_LIBDIR}
|
||||||
${GLIB_LIBRARY_DIRS}
|
${GLIB_LIBRARY_DIRS}
|
||||||
|
@ -242,6 +259,7 @@ add_library ( libfluidsynth
|
||||||
${libfluidsynth_SOURCES}
|
${libfluidsynth_SOURCES}
|
||||||
${public_HEADERS}
|
${public_HEADERS}
|
||||||
${public_main_HEADER}
|
${public_main_HEADER}
|
||||||
|
${VersionFilesOutputVariable}
|
||||||
)
|
)
|
||||||
|
|
||||||
if ( MACOSX_FRAMEWORK )
|
if ( MACOSX_FRAMEWORK )
|
||||||
|
|
Loading…
Reference in New Issue