# ExternalProject BUILD\_BYPRODUCTS generator expression

**URL:** <https://discourse.cmake.org/t/externalproject-build-byproducts-generator-expression/4124>\
**Category:** Code\
**Created:** [September 20, 2021, 6:20pm UTC](https://discourse.cmake.org/t/externalproject-build-byproducts-generator-expression/4124 "2021-09-20T18:20:56Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![scivision](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/s/a87d85/32.png) [@scivision](https://discourse.cmake.org/u/scivision)\
**Post date:** [September 20, 2021, 6:20pm UTC](https://discourse.cmake.org/t/externalproject-build-byproducts-generator-expression/4124/1 "2021-09-20T18:20:56Z")

</div>

Can ExternalProject BUILD\_BYPRODUCTS use generator expressions? It seems maybe not as I get errors about “\<” and “\>” not being allowed. This is to account for a library that may be built by the externalproject, or not built if it’s found via find\_package.

I have been able to implement needed functionality by if() and list(APPEND …) instead with an auxiliary variable.

---

<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:** [September 20, 2021, 8:06pm UTC](https://discourse.cmake.org/t/externalproject-build-byproducts-generator-expression/4124/2 "2021-09-20T20:06:47Z")

</div>

`add_custom_command(BYPRODUCTS)` supports a limited set of genexes starting in 3.20:

```auto
  .. versionadded:: 3.20
    Arguments to ``BYPRODUCTS`` may use a restricted set of
    ``generator expressions``.
    :ref:`Target-dependent expressions <Target-Dependent Queries>` are not
    permitted.

```
