[cmake-developers] Severe behavioural change regressions in release branch
Ben Boeckel
ben.boeckel at kitware.com
Fri Oct 24 10:54:17 EDT 2014
On Fri, Oct 24, 2014 at 15:24:57 +0100, Alex Merry wrote:
> On Friday 24 October 2014 10:20:42 Brad King wrote:
> > On 10/24/2014 10:02 AM, Brad King wrote:
> > > commit 5abfde6cb8a1ae0b2825797eab6c2e9842eb7c49
> > > Author: Ben Boeckel <ben.boeckel at kitware.com>
> > > Date: Wed Mar 12 14:01:45 2014 -0400
> > >
> > > cmDefinitions: Don't store parent lookups
> > >
> > > When looking up scopes, it is faster to not store the lookup locally
> > > to
> > > keep the maps smaller and avoid extra allocations and rebalancing.
So the problem was that when redoing the "pull" logic for PARENT_SCOPE,
it was unconditional when it should be skipped if the variable is
already local.
Pushed to stage as:
variable-pull-failure
> -------------------------------------------
> cmake_minimum_required(VERSION 3.0)
> project(Minimal NONE)
>
> function(test_set)
> set(blah "value2")
> message(STATUS "before PARENT_SCOPE blah=${blah}")
> set(blah ${blah} PARENT_SCOPE)
> message(STATUS "after PARENT_SCOPE blah=${blah}")
> endfunction()
>
> set(blah value1)
> test_set()
> message(FATAL_ERROR "in parent scope, blah=${blah}")
> ------------------------------------------
Now added as a test in CMake (with minor changes).
Thanks,
--Ben
More information about the cmake-developers
mailing list