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 cmake_policy command to set it to OLD or NEW explicitly. .. include:: DEPRECATED.txt