diff options
-rw-r--r-- | build/root.build | 2 | ||||
-rw-r--r-- | buildfile | 5 | ||||
-rw-r--r-- | manifest | 2 | ||||
-rw-r--r-- | msvc-common/msvc-filter.cxx | 2 | ||||
-rw-r--r-- | msvc-common/version-impl.in | 44 |
5 files changed, 53 insertions, 2 deletions
diff --git a/build/root.build b/build/root.build index 47e4683..833ec58 100644 --- a/build/root.build +++ b/build/root.build @@ -10,3 +10,5 @@ hxx{*}: extension = ixx{*}: extension = ixx txx{*}: extension = txx cxx{*}: extension = cxx + +cxx.poptions =+ "-I$src_root" @@ -48,7 +48,10 @@ msvc-common/: { import libs = libbutl%lib{butl} - exe{msvc-filter}: cxx{msvc-filter} $libs + exe{msvc-filter}: cxx{msvc-filter} hxx{version-impl} $libs + + hxx{version-impl}: in{version-impl} $src_root/file{manifest} + hxx{version-impl}: dist = true } # Don't install INSTALL file. @@ -12,4 +12,4 @@ build-email: builds@build2.org requires: c++14 depends: * build2 >= 0.5.0- depends: * bpkg >= 0.5.0- -depends: libbutl == [0.5.0-b.0.1 0.5.0-b.1) +depends: libbutl [0.5.0-b.0.1 0.5.0-b.1) diff --git a/msvc-common/msvc-filter.cxx b/msvc-common/msvc-filter.cxx index 85cd3b9..93e3ad4 100644 --- a/msvc-common/msvc-filter.cxx +++ b/msvc-common/msvc-filter.cxx @@ -20,6 +20,8 @@ #include <butl/process> #include <butl/fdstream> +#include <msvc-common/version-impl> + using namespace std; using namespace butl; diff --git a/msvc-common/version-impl.in b/msvc-common/version-impl.in new file mode 100644 index 0000000..3e787f3 --- /dev/null +++ b/msvc-common/version-impl.in @@ -0,0 +1,44 @@ +// file : msvc-common/version-impl.in -*- C++ -*- +// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef MSVC_FILTER_VERSION // Note: using the version macro itself. + +// Note: using build2 standard versioning scheme. The numeric version format +// is AAABBBCCCDDDE where: +// +// AAA - major version number +// BBB - minor version number +// CCC - bugfix version number +// DDD - alpha / beta (DDD + 500) version number +// E - final (0) / snapshot (1) +// +// When DDDE is not 0, 1 is subtracted from AAABBBCCC. For example: +// +// Version AAABBBCCCDDDE +// +// 0.1.0 0000010000000 +// 0.1.2 0000010010000 +// 1.2.3 0010020030000 +// 2.2.0-a.1 0020019990010 +// 3.0.0-b.2 0029999995020 +// 2.2.0-a.1.z 0020019990011 +// +#define MSVC_FILTER_VERSION $msvc-linux.version.project_number$ULL +#define MSVC_FILTER_VERSION_STR "$msvc-linux.version.project$" +#define MSVC_FILTER_VERSION_ID "$msvc-linux.version.project_id$" + +#define MSVC_FILTER_VERSION_MAJOR $msvc-linux.version.major$ +#define MSVC_FILTER_VERSION_MINOR $msvc-linux.version.minor$ +#define MSVC_FILTER_VERSION_PATCH $msvc-linux.version.patch$ + +#define MSVC_FILTER_PRE_RELEASE $msvc-linux.version.pre_release$ + +#define MSVC_FILTER_SNAPSHOT $msvc-linux.version.snapshot_sn$ULL +#define MSVC_FILTER_SNAPSHOT_ID "$msvc-linux.version.snapshot_id$" + +#include <butl/version> + +$libbutl.check(LIBBUTL_VERSION, LIBBUTL_SNAPSHOT)$ + +#endif // MSVC_FILTER_VERSION |