class_docstr: CMakeDefinition captures the cmake invocation arguments.
  
  It allows creating build directories with the same definition, e.g.
  ```
  build_1 = cmake_def.build("/tmp/build-1")
  build_2 = cmake_def.build("/tmp/build-2")
  
  ...
  
  build1.all()
  build2.all()
docstr: " Return the arguments to cmake invocation. 
docstr_tok: ["``","Return","the","arguments","to","cmake","invocation","."]
code: def arguments(self):
      """ " Return the arguments to cmake invocation."""
      arguments = (
          [
              "-G{}".format(self.generator),
          ]
          + self.definitions
          + [self.source]
      )
      return arguments
  
imports: import os
  import re
  from shutil import rmtree, which
  from .command import Command, default_bin
label_desc: Use image node_id 2 for calling the CMakeDefinition obj's underlying member method code with example usage: obj.arguments() and returns: arguments