• Brad King's avatar
    Fix crash on $<TARGET_PROPERTY:...,LOCATION> genex (#16134) · f500a784
    Brad King authored
    Policy CMP0026 deprecated the LOCATION property, and we have long
    provided a $<TARGET_FILE:...> generator expression.  However, if
    a project tries to use $<TARGET_PROPERTY:...,LOCATION> we should
    at least not crash.
    The compatibility implementation of the LOCATION property uses
    cmGlobalGenerator::CreateGenerationObjects to create the structures
    needed to evaluate the property before generation starts.  The
    implementation assumed that accessing the property could only be done
    during configuration (via the typical get_property command use case).
    The $<TARGET_PROPERTY:...,LOCATION> genex causes the LOCATION property
    to be accessed during generation.  Calling CreateGenerationObjects
    during generation blows away all the objects currently being used for
    generation and is not safe.  Add a condition to call it only when
    configuration is not finished.