code: def gen_cmd(self, arc_path, module_name, task_type):
      if self.build_system == BUILD_SYSTEM.CMAKE:
          cmd = (
              [
                  "cd",
                  arc_root,
                  "cmake",
                  "-B",
                  self.out_root,
                  "-G",
                  '"Unix Makefiles"',
                  "-DCMAKE_BUILD_TYPE=Release",
                  "-DCMAKE_TOOLCHAIN_FILE="
                  + os.path.join(
                      self.arc_root,
                      "catboost",
                      "build",
                      "toolchains",
                      "clang.toolchain",
                  ),
                  "-DCMAKE_POSITION_INDEPENDENT_CODE=On",
              ]
              + self.tail_args
              + [
                  "&&" "cd",
                  self.tmp_build_dir,
                  "&&",
                  "make",
                  module_name,
              ]
          )
      elif self.build_system == BUILD_SYSTEM.YA:
          cmd = [
              sys.executable,
              arc_root + "/ya",
              "make",
              os.path.join(arc_root, arc_path),
              "--no-src-links",
              "-r",
              "--output",
              out_root,
              "-DPYTHON_CONFIG=" + self.py_config,
              "-DNO_DEBUGINFO",
              "-DOS_SDK=local",
              "-DHAVE_CUDA=yes"
              if task_type == "GPU"
              else "-DHAVE_CUDA=no",
          ]
  
          if not self.python_version.from_sandbox:
              cmd += ["-DUSE_ARCADIA_PYTHON=no"]
              cmd += extra_opts(self._on_win())
  
      cmd += self.tail_args
      return cmd
  
imports: from __future__ import print_function
  import glob
  import subprocess
  import shutil
  import os
  import stat
  import sys
  import platform
  import tempfile
  import hashlib
  from base64 import urlsafe_b64encode
  from argparse import ArgumentParser
  from enum import Enum
label_desc: Use image node_id 2 for calling the PythonTrait obj's underlying member method code with example usage: obj.gen_cmd(arc_path, module_name, task_type) and returns: cmd