#pragma once

#ifndef VERSION_INFO_@PRODUCT_NAME@_H__
#define VERSION_INFO_@PRODUCT_NAME@_H__

#include "scs_version.h"

#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_TWEAK
#define PRODUCT_VERSION_TWEAK @PRODUCT_VERSION_TWEAK@
#endif

#ifndef PRODUCT_VERSION_REVISION
#define PRODUCT_VERSION_REVISION @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_TWEAK
#define FILE_VERSION_TWEAK @PRODUCT_VERSION_TWEAK@
#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_REVISION)
#define PRODUCT_VERSION_RESOURCE               PRODUCT_VERSION_MAJOR,PRODUCT_VERSION_MINOR,PRODUCT_VERSION_PATCH,PRODUCT_VERSION_TWEAK
#define PRODUCT_VERSION_RESOURCE_STR           PRODUCT_VERSION_FULL_STR " " SCS_VERSION_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__ (PRODUCT_VERSION_REVISION)
#define FILE_VERSION_RESOURCE               FILE_VERSION_MAJOR,FILE_VERSION_MINOR,FILE_VERSION_PATCH,FILE_VERSION_TWEAK
#define FILE_VERSION_RESOURCE_STR           FILE_VERSION_FULL_STR "\0"

#ifndef PRODUCT_ICON
#define PRODUCT_ICON "@PRODUCT_ICON@"
#endif

#ifndef PRODUCT_COMMENTS
#define PRODUCT_COMMENTS           "@PRODUCT_COMMENTS@\0"
#endif

#ifndef PRODUCT_VENDOR_NAME
#define PRODUCT_VENDOR_NAME        "@PRODUCT_VENDOR_NAME@\0"
#endif

#ifndef PRODUCT_LEGAL_COPYRIGHT
#define PRODUCT_LEGAL_COPYRIGHT    "@PRODUCT_LEGAL_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

#endif

