bundle.pybind.services.cmake ============================ .. py:module:: bundle.pybind.services.cmake Classes ------- .. autoapisummary:: bundle.pybind.services.cmake.CMakeService Module Contents --------------- .. py:class:: CMakeService A utility class for running CMake commands. .. py:class:: BuildType(*args, **kwds) Bases: :py:obj:`enum.Enum` Enum-like class for CMake build types. .. py:attribute:: DEBUG :value: 'Debug' .. py:attribute:: RELEASE :value: 'Release' .. py:attribute:: RELWITHDEBINFO :value: 'RelWithDebInfo' .. py:attribute:: MINSIZEREL :value: 'MinSizeRel' .. py:method:: configure(source_dir: pathlib.Path, build_dir_name: str, install_prefix: pathlib.Path | None = None, build_type: BuildType = BuildType.RELEASE, extra_args: list[str] | None = None) -> None :staticmethod: :async: Configures a CMake project. :param source_dir: The root directory of the source code (contains CMakeLists.txt). :param build_dir_name: The name of the build directory, relative to source_dir. :param install_prefix: Optional path for CMAKE_INSTALL_PREFIX. :param extra_args: Optional list of extra arguments to pass to cmake. .. py:method:: build(source_dir: pathlib.Path, build_dir_name: str, target: str | None = None, build_type: BuildType = BuildType.RELEASE, extra_args: list[str] | None = None) -> None :staticmethod: :async: Builds a CMake project. :param source_dir: The root directory of the source code (used as CWD for the command). :param build_dir_name: The name of the build directory, relative to source_dir. :param target: Optional build target (e.g., "install"). :param extra_args: Optional list of extra arguments to pass to cmake --build.