netgen icon indicating copy to clipboard operation
netgen copied to clipboard

Prevent creating malformed version

Open catap opened this issue 3 years ago • 0 comments

Let assume that I run a cmake with option -DNETGEN_VERSION_GIT="v6.2.2204" (or without this option at all) to avoid calling git which won't work when I've downloaded sources from GitHub as .zip file.

If I try to compile sources and run it, it fails with error like:

libc++abi: terminating with uncaught exception of type std::invalid_argument: stoi: no conversion

after some digging I've discovered that netgen_version.hpp looks like:

#ifndef NETGEN_VERSION_HPP_INCLUDED
#define NETGEN_VERSION_HPP_INCLUDED
#define NETGEN_VERSION "6.2.0-v6.2.0.0-v6.2.0.0"
#define NETGEN_VERSION_MAJOR 6
#define NETGEN_VERSION_MINOR 2
#define NETGEN_VERSION_PATCH 0
#define NETGEN_VERSION_TWEAK v6.2.0.0
#define NETGEN_VERSION_HASH "v6.2.0.0"
#endif // NETGEN_VERSION_HPP_INCLUDED

This is happened because string(REGEX REPLACE copied original string to target and replaces it by regex. If regex doesn't match => it still copied an original value.

So, this commit prevented this mess from happened.

catap avatar Dec 07 '22 01:12 catap