code: def run(self):
      try:
          out = subprocess.check_output(["cmake", "--version"])
      except OSError:
          raise RuntimeError(
              "CMake must be installed to build the following extensions: "
              + ", ".join(e.name for e in self.extensions)
          )
  
      cmake_version = LooseVersion(
          re.search(r"version\s*([\d.]+)", out.decode()).group(1)
      )
      if cmake_version < "3.15":
          raise RuntimeError("CMake >= 3.15 is required")
  
      for ext in self.extensions:
          self.build_extension(ext)
  
file_path: kompute/setup.py
imports: import os
  import re
  import platform
  import sys
  import sysconfig
  import subprocess
  from setuptools import setup, Extension
  from setuptools.command.build_ext import build_ext
  from distutils.version import LooseVersion
label_desc: Use image node_id 1 for calling the CMakeBuild obj's underlying member method code with example usage: obj.run() without return types