tree 6d8fbe3bbad0ea13517ef0a029e373486523fb53
parent 9d81f1b3aaa82d12a3a87067572b3ff5e2b9c4d2
author Brad King <brad.king@kitware.com> 1464879430 -0400
committer Brad King <brad.king@kitware.com> 1464879518 -0400

Fix crash on $<TARGET_PROPERTY:...,LOCATION> genex (#16134)

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.
