# CMakePresets.json - how to pass CMAKE\_TOOLCHAIN\_FILE ?

**URL:** https://discourse.cmake.org/t/cmakepresets-json-how-to-pass-cmake-toolchain-file/2786
**Category:** Usage
**Created:** [February 17, 2021, 1:16pm UTC](https://discourse.cmake.org/t/cmakepresets-json-how-to-pass-cmake-toolchain-file/2786 "2021-02-17T13:16:40Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Lukasz\_Tyrala](https://discourse.cmake.org/user_avatar/discourse.cmake.org/lukasz_tyrala/32/1216_2.png) [@Lukasz\_Tyrala](https://discourse.cmake.org/u/Lukasz_Tyrala)
#### Post date: [February 17, 2021, 1:16pm UTC](https://discourse.cmake.org/t/cmakepresets-json-how-to-pass-cmake-toolchain-file/2786/1 "2021-02-17T13:16:40Z")

</div>

First: CMakePreset.json is a great improvement!

Please let me know how to provide toolchain file in CMakePresets.json

```json
{
  "version": 1,
  "cmakeMinimumRequired": {
    "major": 3,
    "minor": 19,
    "patch": 0
  },
  "configurePresets": [
    {
      "name": "default",
      "displayName": "Default Config",
      "description": "Default build using Ninja generator",
      "generator": "Ninja",
      "binaryDir": "${sourceDir}/../../build/",
      "cacheVariables": {
        "CMAKE_TOOLCHAIN_FILE": "/path/to/GccToolchain.cmake"
      }
    }
  ]
}

```

```auto
# just preset option will not work:
cmake --preset=default

# I need to provide Toolcahin path anyway in commandline:
cmake --preset=default -DCMAKE_TOOLCHAIN_FILE='/path/to/GccToolchain.cmake'

```

---

<div class="post-metadata">

### Author: ![kyle.edwards](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/k/65b543/32.png) [@kyle.edwards](https://discourse.cmake.org/u/kyle.edwards)
#### Post date: [February 17, 2021, 2:09pm UTC](https://discourse.cmake.org/t/cmakepresets-json-how-to-pass-cmake-toolchain-file/2786/2 "2021-02-17T14:09:40Z")

</div>

Including `CMAKE_TOOLCHAIN_FILE` in the presets file should theoretically work. Please [open an issue](https://gitlab.kitware.com/cmake/cmake/-/issues) to report this.

---

<div class="post-metadata">

### Author: ![Lukasz\_Tyrala](https://discourse.cmake.org/user_avatar/discourse.cmake.org/lukasz_tyrala/32/1216_2.png) [@Lukasz\_Tyrala](https://discourse.cmake.org/u/Lukasz_Tyrala)
#### Post date: [February 17, 2021, 8:32pm UTC](https://discourse.cmake.org/t/cmakepresets-json-how-to-pass-cmake-toolchain-file/2786/3 "2021-02-17T20:32:09Z")

</div>

it worked!  
`"CMAKE_TOOLCHAIN_FILE": { "type": "PATH", "value": "${sourceDir}/../../../../cmake/GccToolchain.cmake" },`  
I guess I had to mess up the file path on the first try.
