@@ -16,6 +16,7 @@ FOREACH (p
1616 CMP0042 # CMake 3.0
1717 CMP0028
1818 CMP0068
19+ CMP0057
1920 )
2021 IF (POLICY ${p} )
2122 cmake_policy (SET ${p} NEW )
@@ -203,6 +204,12 @@ IF($ENV{ALIBUILD_O2_TESTS})
203204 SET (CHECK_ROOTMACRO_COMPILE 1)
204205ENDIF ()
205206
207+ # A LIST OF MACROS TO EXCLUDE FROM THE TEST
208+ # To be used only in exceptional cases, such as when the macro
209+ # uses symbols from outside the standard O2 build/runtime
210+ # environment.
211+ SET (IGNORE_MACROS)
212+
206213# UNIT TESTS VERIFYING CONSISTENT STATE OF OUR ROOT MACROS AND THE EXECUTION ENVIRONMENT
207214if (CHECK_ROOTMACRO_COMPILE AND HAVESIMULATION)
208215 # On Mac OS GLOB_RECURSE returns both .C and .c files, i.e. case insensitive
@@ -211,14 +218,18 @@ if(CHECK_ROOTMACRO_COMPILE AND HAVESIMULATION)
211218 LIST (FILTER MACRO_FILES INCLUDE REGEX "^.*\\ .C$" )
212219 SET (TEST_NO 0)
213220 FOREACH (MACRO_FILE ${MACRO_FILES} )
214- string (REPLACE ${CMAKE_SOURCE_DIR} "" MACRO_FILE_LABEL ${MACRO_FILE} )
215- MATH (EXPR TEST_NO "${TEST_NO} + 1" )
216- ADD_TEST (NAME ${MACRO_FILE_LABEL}
217- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
218- COMMAND root -n -b -l -q -e ".L ${MACRO_FILE} "
219- )
220- SET_PROPERTY (TEST ${MACRO_FILE_LABEL} PROPERTY ENVIRONMENT "LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH} :${CMAKE_BINARY_DIR} /lib" )
221- SET_PROPERTY (TEST ${MACRO_FILE_LABEL} APPEND PROPERTY ENVIRONMENT "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH} :${CMAKE_BINARY_DIR} /lib" )
222- SET_PROPERTY (TEST ${MACRO_FILE_LABEL} APPEND PROPERTY ENVIRONMENT "ROOT_HIST=0" )
221+ IF (NOT ${MACRO_FILE} IN_LIST IGNORE_MACROS)
222+ string (REPLACE ${CMAKE_SOURCE_DIR} "" MACRO_FILE_LABEL ${MACRO_FILE} )
223+ MATH (EXPR TEST_NO "${TEST_NO} + 1" )
224+ ADD_TEST (NAME ${MACRO_FILE_LABEL}
225+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
226+ COMMAND root -n -b -l -q -e ".L ${MACRO_FILE} "
227+ )
228+ SET_PROPERTY (TEST ${MACRO_FILE_LABEL} PROPERTY ENVIRONMENT "LD_LIBRARY_PATH=$ENV{LD_LIBRARY_PATH} :${CMAKE_BINARY_DIR} /lib" )
229+ SET_PROPERTY (TEST ${MACRO_FILE_LABEL} APPEND PROPERTY ENVIRONMENT "DYLD_LIBRARY_PATH=$ENV{DYLD_LIBRARY_PATH} :${CMAKE_BINARY_DIR} /lib" )
230+ SET_PROPERTY (TEST ${MACRO_FILE_LABEL} APPEND PROPERTY ENVIRONMENT "ROOT_HIST=0" )
231+ ELSE ()
232+ MESSAGE (STATUS "EXCLUDING ROOT MACRO ${MACRO_FILE} FROM CHECK" )
233+ ENDIF ()
223234 ENDFOREACH ()
224235endif ()
0 commit comments