*/
CV_EXPORTS_W const String& getBuildInformation();
+/** @brief Returns library version string
+
+For example "3.4.1-dev".
+
+@sa getMajorVersion, getMinorVersion, getRevisionVersion
+*/
+CV_EXPORTS_W String getVersionString();
+
+/** @brief Returns major library version */
+CV_EXPORTS_W int getVersionMajor();
+
+/** @brief Returns minor library version */
+CV_EXPORTS_W int getVersionMinor();
+
+/** @brief Returns revision field of the library version */
+CV_EXPORTS_W int getVersionRevision();
+
/** @brief Returns the number of ticks.
The function returns the number of ticks after the certain event (for example, when the machine was
// these constants are wrapped inside functions to prevent inlining
private static String getVersion() { return "@OPENCV_VERSION@"; }
private static String getNativeLibraryName() { return "opencv_java@OPENCV_VERSION_MAJOR@@OPENCV_VERSION_MINOR@@OPENCV_VERSION_PATCH@"; }
- private static int getVersionMajor() { return @OPENCV_VERSION_MAJOR@; }
- private static int getVersionMinor() { return @OPENCV_VERSION_MINOR@; }
- private static int getVersionRevision() { return @OPENCV_VERSION_PATCH@; }
- private static String getVersionStatus() { return "@OPENCV_VERSION_STATUS@"; }
+ private static int getVersionMajorJ() { return @OPENCV_VERSION_MAJOR@; }
+ private static int getVersionMinorJ() { return @OPENCV_VERSION_MINOR@; }
+ private static int getVersionRevisionJ() { return @OPENCV_VERSION_PATCH@; }
+ private static String getVersionStatusJ() { return "@OPENCV_VERSION_STATUS@"; }
public static final String VERSION = getVersion();
public static final String NATIVE_LIBRARY_NAME = getNativeLibraryName();
- public static final int VERSION_MAJOR = getVersionMajor();
- public static final int VERSION_MINOR = getVersionMinor();
- public static final int VERSION_REVISION = getVersionRevision();
- public static final String VERSION_STATUS = getVersionStatus();
+ public static final int VERSION_MAJOR = getVersionMajorJ();
+ public static final int VERSION_MINOR = getVersionMinorJ();
+ public static final int VERSION_REVISION = getVersionRevisionJ();
+ public static final String VERSION_STATUS = getVersionStatusJ();
assertEquals(5f, val2);
}
+ public void testVersion() {
+ assertEquals(Core.VERSION_MAJOR, Core.getVersionMajor());
+ assertEquals(Core.VERSION_MINOR, Core.getVersionMinor());
+ assertEquals(Core.VERSION_REVISION, Core.getVersionRevision());
+ assertEquals(Core.VERSION, Core.getVersionString());
+ }
+
}
return build_info;
}
+String getVersionString() { return String(CV_VERSION); }
+
+int getVersionMajor() { return CV_VERSION_MAJOR; }
+
+int getVersionMinor() { return CV_VERSION_MINOR; }
+
+int getVersionRevision() { return CV_VERSION_REVISION; }
+
String format( const char* fmt, ... )
{
AutoBuffer<char, 1024> buf;
}, cv::Exception);
}
+TEST(Core_Version, consistency)
+{
+ // this test verifies that OpenCV version loaded in runtime
+ // is the same this test has been built with
+ EXPECT_EQ(CV_VERSION_MAJOR, cv::getVersionMajor());
+ EXPECT_EQ(CV_VERSION_MINOR, cv::getVersionMinor());
+ EXPECT_EQ(CV_VERSION_REVISION, cv::getVersionRevision());
+ EXPECT_EQ(String(CV_VERSION), cv::getVersionString());
+}
+
}} // namespace