The version kwarg must be a string. Closes #7975.
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 104fcce..83df514 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -3175,6 +3175,8 @@
             self.build.project_name = proj_name
         self.active_projectname = proj_name
         self.project_version = kwargs.get('version', 'undefined')
+        if not isinstance(self.project_version, str):
+            raise InvalidCode('The version keyword argument must be a string.')
         if self.build.project_version is None:
             self.build.project_version = self.project_version
         proj_license = mesonlib.stringlistify(kwargs.get('license', 'unknown'))