---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.3
alternate:
  - https://catboost.ai/docs/en/installation/cli-installation-local-copy-installation.md
---
> **Documentation Index:** Fetch the complete configuration index at https://catboost.ai/docs/en/llms.txt

# Build the CLI binary app from a local source repository

{% note warning %}

<!-- source: en/_includes/work_src/reusage-installation/ya-make-to-cmake-switch.md -->
CatBoost uses [CMake](https://cmake.org/)-based build process since [this commit](https://github.com/catboost/catboost/commit/c5c642ca0b8e093336d0229ac4b14c78db3915bb). Previously `Ya Make` (Yandex's build system) had been used.
<!-- endsource: en/_includes/work_src/reusage-installation/ya-make-to-cmake-switch.md -->

Select the appropriate build method below accordingly.

{% endnote %}

## Source code

<!-- source: en/_includes/work_src/reusage-installation/get-source-code-from-github.md -->
CatBoost source code is stored as a [Git](https://git-scm.com/) repository on GitHub at <https://github.com/catboost/catboost/>. You can obtain a local copy of this Git repository by running the following command from a command line interpreter (you need to have Git command line tools installed):

    git clone https://github.com/catboost/catboost.git
<!-- endsource: en/_includes/work_src/reusage-installation/get-source-code-from-github.md -->

## Build using CMake  {#cmake}

Build `catboost` target. See [Build native artifacts](https://catboost.ai/docs/en/installation/build-native-artifacts.md).

## Build using Ya Make  {#ya-make}

1. [Setup build environment](https://catboost.ai/docs/en/installation/build-environment-setup-for-ya-make.md)

1. Open the `catboost/catboost/app` directory from the local copy of the CatBoost repository.

1. Run the following command:

    ```
    ../../ya make -r [optional parameters]
    ```

    Parameter | Description
    ----- | -----
    `-DCUDA_ROOT` | The path to CUDA. This parameter is required to support training on GPU.
    `-DHAVE_CUDA=no` | Disable CUDA support. This speeds up compilation.<br/><br/>By default, the package is built with CUDA support if CUDA Toolkit is installed.
    `-o` | The directory to output the compiled package to. By default, the current directory is used.
