// file      : libbrep/version.hxx.in -*- C++ -*-
// license   : MIT; see accompanying LICENSE file

#ifndef BREP_VERSION // Note: using the version macro itself.

// The numeric version format is AAAAABBBBBCCCCCDDDE where:
//
// AAAAA - major version number
// BBBBB - minor version number
// CCCCC - bugfix version number
// DDD   - alpha / beta (DDD + 500) version number
// E     - final (0) / snapshot (1)
//
// When DDDE is not 0, 1 is subtracted from AAAAABBBBBCCCCC. For example:
//
// Version      AAAAABBBBBCCCCCDDDE
//
// 0.1.0        0000000001000000000
// 0.1.2        0000000001000020000
// 1.2.3        0000100002000030000
// 2.2.0-a.1    0000200001999990010
// 3.0.0-b.2    0000299999999995020
// 2.2.0-a.1.z  0000200001999990011
//
#define BREP_VERSION       $brep.version.project_number$ULL
#define BREP_VERSION_STR   "$brep.version.project$"
#define BREP_VERSION_ID    "$brep.version.project_id$"

#define BREP_VERSION_MAJOR $brep.version.major$
#define BREP_VERSION_MINOR $brep.version.minor$
#define BREP_VERSION_PATCH $brep.version.patch$

#define BREP_PRE_RELEASE   $brep.version.pre_release$

#define BREP_SNAPSHOT      $brep.version.snapshot_sn$ULL
#define BREP_SNAPSHOT_ID   "$brep.version.snapshot_id$"

#include <libbutl/version.hxx>

$libbutl.check(LIBBUTL_VERSION, LIBBUTL_SNAPSHOT)$

#include <libbpkg/version.hxx>

$libbpkg.check(LIBBPKG_VERSION, LIBBPKG_SNAPSHOT)$

#include <libbbot/version.hxx>

$libbbot.check(LIBBBOT_VERSION, LIBBBOT_SNAPSHOT)$

#include <odb/version.hxx>

$libodb.check(LIBODB_VERSION, LIBODB_SNAPSHOT)$

#include <odb/pgsql/version.hxx>

$libodb_pgsql.check(LIBODB_PGSQL_VERSION, LIBODB_PGSQL_SNAPSHOT)$

// For now these are the same.
//
#define LIBBREP_VERSION BREP_VERSION
#define LIBBREP_VERSION_STR BREP_VERSION_STR
#define LIBBREP_VERSION_ID BREP_VERSION_ID

#endif // BREP_VERSION