CMP0043 ------- Ignore COMPILE_DEFINITIONS_ properties CMake 2.8.12 and lower allowed setting the :prop_tgt:`COMPILE_DEFINITIONS_` target property and :prop_dir:`COMPILE_DEFINITIONS_` directory property to apply configuration-specific compile definitions. Since CMake 2.8.10, the :prop_tgt:`COMPILE_DEFINITIONS` property has supported :manual:`generator expressions ` for setting configuration-dependent content. The continued existence of the suffixed variables is redundant, and causes a maintenance burden. Population of the :prop_tgt:`COMPILE_DEFINITIONS_DEBUG >` property may be replaced with a population of :prop_tgt:`COMPILE_DEFINITIONS` directly or via :command:`target_compile_definitions`: .. code-block:: cmake # Old Interfaces: set_property(TARGET tgt APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG_MODE ) set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG DIR_DEBUG_MODE ) # New Interfaces: set_property(TARGET tgt APPEND PROPERTY COMPILE_DEFINITIONS $<$:DEBUG_MODE> ) target_compile_definitions(tgt PRIVATE $<$:DEBUG_MODE>) set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS $<$:DIR_DEBUG_MODE> ) The ``OLD`` behavior for this policy is to consume the content of the suffixed :prop_tgt:`COMPILE_DEFINITIONS_` target property when generating the compilation command. The ``NEW`` behavior for this policy is to ignore the content of the :prop_tgt:`COMPILE_DEFINITIONS_` target property . .. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.0 .. |WARNS_OR_DOES_NOT_WARN| replace:: warns .. include:: STANDARD_ADVICE.txt .. include:: DEPRECATED.txt