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 . This policy was introduced in CMake version 3.0. CMake version |release| warns when the policy is not set and uses ``OLD`` behavior. Use the :command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly. .. include:: DEPRECATED.txt