From 316dd587ff2e01a6500b79e71880c84453942b06 Mon Sep 17 00:00:00 2001
From: Axel Naumann <Axel.Naumann@cern.ch>
Date: Thu, 31 Jan 2019 16:46:54 +0100
Subject: [PATCH] [cmake] Look for ROOT headers in [v7/]inc/, too:

Before, many headers were not found, because they were specified as
Math/Foo.h, and ${CMAKE_CURRENT_SOURCE_DIR}/Math/Foo.h does not exist
(missing "inc"). This fixes the broken build system dependency which
did not trigger the dictionary to be re-generated after a header
modification.
---
 cmake/modules/RootNewMacros.cmake | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/cmake/modules/RootNewMacros.cmake b/cmake/modules/RootNewMacros.cmake
index f245445482f..04498718782 100644
--- a/cmake/modules/RootNewMacros.cmake
+++ b/cmake/modules/RootNewMacros.cmake
@@ -231,13 +231,21 @@ function(ROOT_GENERATE_DICTIONARY dictionary)
           list(APPEND _list_of_header_dependencies ${f})
         endif()
       endforeach()
-    elseif(CMAKE_PROJECT_NAME STREQUAL ROOT AND
-           EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${fp}) # only for ROOT project
-      list(APPEND headerfiles ${CMAKE_CURRENT_SOURCE_DIR}/${fp})
-      list(APPEND _list_of_header_dependencies ${CMAKE_CURRENT_SOURCE_DIR}/${fp})
     elseif(IS_ABSOLUTE ${fp})
       list(APPEND headerfiles ${fp})
       list(APPEND _list_of_header_dependencies ${fp})
+    elseif(CMAKE_PROJECT_NAME STREQUAL ROOT AND
+           EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/inc/${fp})
+      list(APPEND headerfiles ${CMAKE_CURRENT_SOURCE_DIR}/inc/${fp})
+      list(APPEND _list_of_header_dependencies ${CMAKE_CURRENT_SOURCE_DIR}/inc/${fp})
+    elseif(CMAKE_PROJECT_NAME STREQUAL ROOT AND
+           EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/v7/inc/${fp})
+      list(APPEND headerfiles ${CMAKE_CURRENT_SOURCE_DIR}/v7/inc/${fp})
+      list(APPEND _list_of_header_dependencies ${CMAKE_CURRENT_SOURCE_DIR}/v7/inc/${fp})
+    elseif(CMAKE_PROJECT_NAME STREQUAL ROOT AND
+           EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${fp})
+      list(APPEND headerfiles ${CMAKE_CURRENT_SOURCE_DIR}/${fp})
+      list(APPEND _list_of_header_dependencies ${CMAKE_CURRENT_SOURCE_DIR}/${fp})
     elseif(NOT CMAKE_PROJECT_NAME STREQUAL ROOT)
       find_file(headerFile ${fp} HINTS ${localinclude} ${incdirs} NO_DEFAULT_PATH)
       find_file(headerFile ${fp} NO_SYSTEM_ENVIRONMENT_PATH)
-- 
GitLab