"Fossies" - the Fresh Open Source Software Archive

Member "cmake-3.7.1-win32-x86/share/cmake-3.7/Help/policy/CMP0043.rst" (30 Nov 2016, 1879 Bytes) of archive /windows/misc/cmake-3.7.1-win32-x86.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format (assuming markdown format). Alternatively you can here view or download the uninterpreted source code file. A member file download can also be achieved by clicking within a package contents listing on the according byte size field.

CMP0043

Ignore COMPILE_DEFINITIONS_<Config> properties

CMake 2.8.12 and lower allowed setting the :prop_tgt:COMPILE_DEFINITIONS_<CONFIG> target property and :prop_dir:COMPILE_DEFINITIONS_<CONFIG> directory property to apply configuration-specific compile definitions.

Since CMake 2.8.10, the :prop_tgt:COMPILE_DEFINITIONS property has supported generator expressions <cmake-generator-expressions(7)> 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 <COMPILE_DEFINITIONS_<CONFIG>> property may be replaced with a population of :prop_tgt:COMPILE_DEFINITIONS directly or via target_compile_definitions:

# 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 $<$<CONFIG:Debug>:DEBUG_MODE>
)
target_compile_definitions(tgt PRIVATE $<$<CONFIG:Debug>:DEBUG_MODE>)
set_property(DIRECTORY APPEND PROPERTY
  COMPILE_DEFINITIONS $<$<CONFIG:Debug>:DIR_DEBUG_MODE>
)

The OLD behavior for this policy is to consume the content of the suffixed :prop_tgt:COMPILE_DEFINITIONS_<CONFIG> target property when generating the compilation command. The NEW behavior for this policy is to ignore the content of the :prop_tgt:COMPILE_DEFINITIONS_<CONFIG> 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.