From 3dd8145d5a6e402ca90482b2b5794f9fea843460 Mon Sep 17 00:00:00 2001 From: Rui Yang Date: Fri, 27 Sep 2024 11:06:08 -0700 Subject: [PATCH] Adding a combined version define in MaterialX C++ Signed-off-by: Rui Yang --- source/MaterialXCore/Library.h | 5 +++++ source/MaterialXTest/MaterialXCore/Library.cpp | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 source/MaterialXTest/MaterialXCore/Library.cpp diff --git a/source/MaterialXCore/Library.h b/source/MaterialXCore/Library.h index 1a92c634a7..4105c37324 100644 --- a/source/MaterialXCore/Library.h +++ b/source/MaterialXCore/Library.h @@ -6,6 +6,11 @@ #ifndef MATERIALX_LIBRARY_H #define MATERIALX_LIBRARY_H +#define MATERIALX_GENERATE_INDEX(major, minor, build) \ + ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(build))) +#define MATERIALX_VERSION_INDEX \ + MATERIALX_GENERATE_INDEX(MATERIALX_MAJOR_VERSION, MATERIALX_MINOR_VERSION, MATERIALX_BUILD_VERSION) + /// @file /// Library-wide includes and types. This file should be the first include for /// any public header in the MaterialX library. diff --git a/source/MaterialXTest/MaterialXCore/Library.cpp b/source/MaterialXTest/MaterialXCore/Library.cpp new file mode 100644 index 0000000000..f3bc54c0aa --- /dev/null +++ b/source/MaterialXTest/MaterialXCore/Library.cpp @@ -0,0 +1,16 @@ +// +// Copyright Contributors to the MaterialX Project +// SPDX-License-Identifier: Apache-2.0 +// + +#include + +#include + +namespace mx = MaterialX; + +TEST_CASE("Version comparison", "[library]") +{ + // Test for version comparison + REQUIRE(MATERIALX_VERSION_INDEX > MATERIALX_GENERATE_INDEX(1, 38, 8)); +}