# QT\_NO\_KEYWORDS added to SMTK

**URL:** https://discourse.kitware.com/t/qt-no-keywords-added-to-smtk/829
**Category:** Software Process
**Created:** [April 26, 2022, 3:31pm UTC](https://discourse.kitware.com/t/qt-no-keywords-added-to-smtk/829 "2022-04-26T15:31:45Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![aron.helser](https://discourse.kitware.com/user_avatar/discourse.kitware.com/aron.helser/32/149_2.png) [@aron.helser](https://discourse.kitware.com/u/aron.helser)
#### Post date: [April 26, 2022, 3:31pm UTC](https://discourse.kitware.com/t/qt-no-keywords-added-to-smtk/829/1 "2022-04-26T15:31:45Z")

</div>

To be a good citizen, and to work with the latest TBB library, SMTK has enabled QT\_NO\_KEYWORDS builds. In practice, this means that SMTK plugins and apps should adopt this change as well. The required changes are simple:

- For source files that use QT, replace:
  - `slots:` with `Q_SLOTS:`
  - `signals:` with `Q_SIGNALS:`
  - `emit` with `Q_EMIT`
  - `foreach` with `Q_FOREACH`

- In CMake code for each QT using lib/plugin/app, so the compiler will enforce:
  - `target_compile_definitions(myTarget PRIVATE QT_NO_KEYWORDS)`
  - This can only be done if all used headers are compliant.
