http://www.ros.org/wiki/rosbuild says:

You can override the system defaults by set()ting different values in three places, listed here in increasing priority (i.e., later settings overwrite earlier ones):

  1. The current package's CMakeLists.txt (i.e., the content *preceding* the rosbuild_init() invocation)
  2. If present, $(ROS_ROOT)/rosconfig.cmake
  3. If present, rosconfig.cmake in the current package's top-level directory


But ROS_ROOT/core/rosbuild/rosconfig.cmake says:

  3 # To change your build configuration, create a file called
  4 # 'rosconfig.cmake' and put it where it will be loaded from here.
  5 # The order of processing is the following, with later steps overriding
  6 # earlier ones:
  7 #  - read this file
  8 #  - if present, read $(ROS_ROOT)/rosconfig.cmake
  9 #  - if present, read rosconfig.cmake from the current packages's top-level
 10 #      directory.
 11 #  - read the rest of the package's CMakeLists.txt (i.e., the content after
 12 #      the invocation of rospack(), which is how we get here


This is contradictory and should be fixed.  Also, which explanation is correct?