DEFINE_SYMBOLΒΆ

Define a preprocessor symbol when compiling this target's sources.

CMake adds this definition when compiling sources of a SHARED library, a MODULE library, or an EXECUTABLE with ENABLE_EXPORTS enabled. If DEFINE_SYMBOL is not set, the default definition is of the form <target>_EXPORTS (with some substitutions if the target is not a valid C identifier).

The symbol is only defined while compiling the target itself and is not propagated to dependent targets.

On POSIX platforms, this can optionally be used to control the visibility of symbols.

CMake provides support for such decorations with the GenerateExportHeader module.

See also the COMPILE_DEFINITIONS under Target Compile Properties.