class_docstr: Class responsible for downloading and building the C core of igraph
  if it is not installed yet, assuming that the C core uses CMake as the
  build tool. This is the case from igraph 0.9.
class_docstr_tok: ["Class","responsible","for","downloading","and","building","the","C","core","of","igraph","if","it","is","not","installed","yet",",","assuming","that","the","C","core","uses","CMake","as","the","build","tool",".","This","is","the","case","from","igraph","0.9","."]
docstr: Compiles igraph from its source code in the given folder.
  
  Parameters:
      source_folder: absolute path to the folder that contains igraph's
          source files
      build_folder: absolute path to the folder where the build should be
          executed
      install_folder: absolute path to the folder where the built library
          should be installed
  
  Returns:
      False if the build failed or the list of libraries to link to when
      linking the Python interface to igraph
docstr_tok: ["Compiles","igraph","from","its","source","code","in","the","given","folder",".","Parameters",":","source_folder",":","absolute","path","to","the","folder","that","contains","igraph's","source","files","build_folder",":","absolute","path","to","the","folder","where","the","build","should","be","executed","install_folder",":","absolute","path","to","the","folder","where","the","built","library","should","be","installed","Returns",":","False","if","the","build","failed","or","the","list","of","libraries","to","link","to","when","linking","the","Python","interface","to","igraph"]
code: def compile_in(
      self,
      source_folder: Path,
      build_folder: Path,
      install_folder: Path,
  ) -> Union[bool, List[str]]:
      """Compiles igraph from its source code in the given folder.
  
      Parameters:
          source_folder: absolute path to the folder that contains igraph's
              source files
          build_folder: absolute path to the folder where the build should be
              executed
          install_folder: absolute path to the folder where the built library
              should be installed
  
      Returns:
          False if the build failed or the list of libraries to link to when
          linking the Python interface to igraph
      """
      with working_directory(build_folder):
          return self._compile_in(
              source_folder, build_folder, install_folder
          )
  
imports: import os
  import platform
  import sys
  from setuptools import find_packages, setup, Command, Extension
  import glob
  import shlex
  import shutil
  import subprocess
  import sysconfig
  from contextlib import contextmanager
  from pathlib import Path
  from select import select
  from shutil import which
  from time import sleep
  from typing import List, Iterable, Iterator, Optional, Tuple, TypeVar, Union
label_desc: Use image node_id 1 for calling the IgraphCCoreCMakeBuilder obj's underlying member method code with example usage: obj.compile_in(source_folder, build_folder, install_folder) and returns: self