On 10/24/2014 10:02 AM, Brad King wrote:
> I bisected it down to:
> 
> commit 5abfde6cb8a1ae0b2825797eab6c2e9842eb7c49
> Author: Ben Boeckel <ben.boec...@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.

Here is a minimal standalone example:

 $ cat regression.cmake
 function(func var_name)
   list(APPEND ${var_name} value)
   set(${var_name} ${${var_name}} PARENT_SCOPE)
   set(${var_name} ${${var_name}} PARENT_SCOPE)
 endfunction()
 func(var)
 message(STATUS " var=[${var}]")
 func(var)
 message(STATUS " var=[${var}]")

 $ cmake-3.0 -P regression.cmake
 --  var=[value]
 --  var=[value;value]

 $ cmake-3.1 -P regression.cmake
 --  var=[value]
 --  var=[value]

-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Reply via email to