#pragma once

#define FLOWSSH_VERSION_MAJOR 9
#define FLOWSSH_VERSION_MINOR 51
#define FLOWSSH_VERSION_POINT 0
#define FLOWSSH_VERSION_BUILD 0

#define FLOWSSH_VERSION_COMPANYNAME "Bitvise Limited"
#define FLOWSSH_VERSION_COPYRIGHT "Copyright (C) 2000-2025 by Bitvise Limited."
#define FLOWSSH_VERSION_PRODUCTNAME "Bitvise FlowSsh"

// common macros
#define _VERSION_RCVERM(a, b, c, d) a,b,c,d

#define _VERSION_TOSTR(x) #x
#define _VERSION_TOSTR_2(x) _VERSION_TOSTR(x)
#define _VERSION_TOSTR_L(x) L###x

#define _VERSION_VTEXTM(a, b, c, d) _VERSION_TOSTR(a##.b##.c##.##d)
#define _VERSION_VTEXTX(a, b, c ,d) _VERSION_VTEXTM(a, b, c, d)

#define _VERSION_2_VTEXTM(a, b) _VERSION_TOSTR(a##.##b)
#define _VERSION_2_VTEXTX(a, b) _VERSION_2_VTEXTM(a, b)

#define _VERSION_2_UTEXTM(a, b) _VERSION_TOSTR_L(a##.b)
#define _VERSION_2_UTEXTX(a, b) _VERSION_2_UTEXTM(a, b)

#define _VERSION_4_UTEXTM(a, b, c, d) _VERSION_TOSTR_L(a##.b##.c##.##d)
#define _VERSION_4_UTEXTX(a, b, c, d) _VERSION_4_UTEXTM(a, b, c, d)

// end of common macros

#define FLOWSSH_VERSION_RCVER _VERSION_RCVERM(FLOWSSH_VERSION_MAJOR, FLOWSSH_VERSION_MINOR, FLOWSSH_VERSION_POINT, FLOWSSH_VERSION_BUILD)
#define FLOWSSH_VERSION_VTEXT _VERSION_VTEXTX(FLOWSSH_VERSION_MAJOR, FLOWSSH_VERSION_MINOR, FLOWSSH_VERSION_POINT, FLOWSSH_VERSION_BUILD)
#define FLOWSSH_VERSION_2_VTEXT _VERSION_2_VTEXTX(FLOWSSH_VERSION_MAJOR, FLOWSSH_VERSION_MINOR)
#define FLOWSSH_VERSION_2_UTEXT _VERSION_2_UTEXTX(FLOWSSH_VERSION_MAJOR, FLOWSSH_VERSION_MINOR)
#define FLOWSSH_VERSION_4_UTEXT _VERSION_4_UTEXTX(FLOWSSH_VERSION_MAJOR, FLOWSSH_VERSION_MINOR, FLOWSSH_VERSION_POINT, FLOWSSH_VERSION_BUILD)
