Include headers from the source directory during the build
Include headers from the source directory during the build

Do not add ${CMAKE_BINARY_DIR}/include in all directories. Using
include_directories() hides problems from targets missing required
includes. Adding ${CMAKE_BINARY_DIR}/include when ROOT_LINKER_LIBRARY()
is called is bad because it allows incremental builds to succeed when a
build from scratch would fail due to missing includes. This is because
missing headers that a target needs will have been copied to the build
directory and then will be found there first instead of being found in
the corresponding source directory.

Unfortunately, we cannot completely remove ${CMAKE_BINARY_DIR}/include
from the include path because generated headers like RConfigure.h and
ROOT/RConfig.hxx exist only in that directory and are needed for
compilation, so for now we still add the include as private to each
target created by ROOT_LINKER_LIBRARY(), but only after include
directories from the source directory, not before. This means that
headers will be picked up preferentially from the source directory.

In the future we need to avoid copying all headers into the build
directory to be able to fix this.

karies/root,root-mirror/root,olifre/root,olifre/root,root-mirror/root,olifre/root,karies/root,root-mirror/root,olifre/root,olifre/root,olifre/root,karies/root,root-mirror/root,olifre/root,karies/root,karies/root,olifre/root,karies/root,root-mirror/root,olifre/root,karies/root,karies/root,root-mirror/root,karies/root,karies/root,root-mirror/root,root-mirror/root,root-mirror/root,olifre/root,olifre/root,root-mirror/root,root-mirror/root,karies/root