target_compile_definitions — CMake 3.4.3 Documentation (original) (raw)

Add compile definitions to a target.

target_compile_definitions( <INTERFACE|PUBLIC|PRIVATE> [items1...] [<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])

Specify compile definitions to use when compiling a given <target>. The named <target> must have been created by a command such asadd_executable() or add_library() and must not be anImported Target.

The INTERFACE, PUBLIC and PRIVATE keywords are required to specify the scope of the following arguments. PRIVATE and PUBLICitems will populate the COMPILE_DEFINITIONS property of<target>. PUBLIC and INTERFACE items will populate theINTERFACE_COMPILE_DEFINITIONS property of <target>. The following arguments specify compile definitions. Repeated calls for the same <target> append items in the order called.

Arguments to target_compile_definitions may use “generator expressions” with the syntax $<...>. See the cmake-generator-expressions(7)manual for available expressions. See the cmake-buildsystem(7)manual for more on defining buildsystem properties.