- Qt 6.9
- Qt Core
- CMake Commands in Qt6 Core
- qt_disable_unicode_defines
- Qt 6.9.3 Reference Documentation

# qt_disable_unicode_defines

Prevents some unicode-related compiler definitions being set automatically on a target.

The command is defined in the `Core` component of the `Qt6` package, which can be loaded like so:

     find_package(Qt6 REQUIRED COMPONENTS Core)

This command was introduced in Qt 6.2.

## Synopsis

     qt_disable_unicode_defines(target)

If versionless commands are disabled, use `qt6_disable_unicode_defines()` instead. It supports the same set of arguments as this command.

## Description

In Qt 6, the `UNICODE` and `_UNICODE` compiler definitions are set by default for targets that link against Qt modules. This is in line with the qmake behavior, but it is a change compared to the CMake API behavior in Qt 5. Calling `qt_disable_unicode_defines()` on a `target` prevents these compiler definitions from being automatically set.

See also qt_allow_non_utf8_sources().