Skip to content

Commit 331a0d4

Browse files
committed
Allow to ignore certain macros from CI check
This allows to list macros that should be excluded from the CI check (for instance if they require symbols not usually available within the O2 software stack).
1 parent a051543 commit 331a0d4

File tree

1 file changed

+20
-9
lines changed

1 file changed

+20
-9
lines changed

CMakeLists.txt

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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)
204205
ENDIF()
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
207214
if(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()
224235
endif()

0 commit comments

Comments
 (0)