# CMake presets, env variables and o/s

**URL:** https://discourse.cmake.org/t/cmake-presets-env-variables-and-o-s/6699
**Category:** Usage
**Created:** [October 20, 2022, 1:30pm UTC](https://discourse.cmake.org/t/cmake-presets-env-variables-and-o-s/6699 "2022-10-20T13:30:59Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![DavidA](https://discourse.cmake.org/user_avatar/discourse.cmake.org/davida/32/128_2.png) [@DavidA](https://discourse.cmake.org/u/DavidA)
#### Post date: [October 20, 2022, 1:30pm UTC](https://discourse.cmake.org/t/cmake-presets-env-variables-and-o-s/6699/1 "2022-10-20T13:30:59Z")

</div>

Our CMake preset (for an Arm tools - based project) must define environment variable ARM\_PRODUCT\_DEF:

```
{
  "name": "arm-base-linux",
  "description": "Base configuration to target Linux with armclang, using Unix Makefiles generator.",
  "hidden": true,
  "binaryDir": "${sourceDir}/../builds/${presetName}",
  "cacheVariables": {
    "CMAKE_BUILD_TYPE": "Debug",
    "CMAKE_TOOLCHAIN_FILE": "armclang_toolchain.cmake"
  },
  "environment": {
    "ARMLMD_LICENSE_FILE": "<snip>"
    "ARM_PRODUCT_DEF": "/opt/arm/developmentstudio-2022.1/sw/mappings/gold.elmap"
  }
},

```

ARM\_PRODUCT\_DEF is different for Windows and Linux environments. Must I define a separate preset for each o/s or is their a neater way of doing it?

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.cmake.org/u/ben.boeckel)
#### Post date: [October 20, 2022, 5:26pm UTC](https://discourse.cmake.org/t/cmake-presets-env-variables-and-o-s/6699/2 "2022-10-20T17:26:12Z")

</div>

Cc: @kyle.edwards

---

<div class="post-metadata">

### Author: ![ClausKlein](https://discourse.cmake.org/user_avatar/discourse.cmake.org/clausklein/32/352_2.png) [@ClausKlein](https://discourse.cmake.org/u/ClausKlein)
#### Post date: [February 2, 2024, 6:34am UTC](https://discourse.cmake.org/t/cmake-presets-env-variables-and-o-s/6699/3 "2024-02-02T06:34:18Z")

</div>

This seems to me a common Problem and needs a responce, or not?
