@@ -38,29 +38,35 @@ if(IGC_OPTION__LLVM_PREFERRED_VERSION VERSION_GREATER_EQUAL 23 AND EXISTS ${IGC_
3838 execute_process (COMMAND ${CMAKE_COMMAND } -E copy_directory ${IGC_OPTION__LLVM_SOURCES_DIR} /libc ${IGC_LLVM_WORKSPACE_SRC} /libc )
3939endif ()
4040
41- message ( STATUS "[LLVM] : Applying patches for LLVM from version ${DIR_WITH_PATCHES} " )
41+ set (IGC_OPTION__APPLY_LLVM_PATCHES ON CACHE BOOL "Apply patches to LLVM sources during build " )
4242
43- # For Interim mode, dir with patches set to /trunk
44- if (IGC_OPTION__LLVM_INTERIM OR IGC_BUILD_LLVM_INTERIM)
45- set (IGC_LLVM_PATCHES_DIR ${CMAKE_CURRENT_SOURCE_DIR } /trunk)
46- set (IGC_LLVM_INTERIM_PATCHES ON )
47- message (STATUS "[LLVM] : IGC_LLVM_INTERIM mode is enabled, apply patches from /trunk dir" )
48- else ()
49- set (IGC_LLVM_PATCHES_DIR ${CMAKE_CURRENT_SOURCE_DIR } /releases)
50- set (IGC_LLVM_INTERIM_PATCHES OFF )
51- endif ()
43+ if (IGC_OPTION__APPLY_LLVM_PATCHES)
44+ message (STATUS "[LLVM] : Applying patches for LLVM from version ${DIR_WITH_PATCHES} " )
5245
53- execute_process (COMMAND
54- ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR } /apply_patches.py
55- --llvm-version ${IGC_OPTION__LLVM_PREFERRED_VERSION}
56- --patch-interim ${IGC_LLVM_INTERIM_PATCHES}
57- --llvm-project-dir ${IGC_LLVM_WORKSPACE_SRC}
58- --patches-dir ${IGC_LLVM_PATCHES_DIR}
59- --patch-executable ${Patch_EXECUTABLE}
60- --patch-disable ${PATCH_DISABLE}
61- RESULT_VARIABLE PATCH_SCRIPT_RESULT
62- )
46+ # For Interim mode, dir with patches set to /trunk
47+ if (IGC_OPTION__LLVM_INTERIM OR IGC_BUILD_LLVM_INTERIM)
48+ set (IGC_LLVM_PATCHES_DIR ${CMAKE_CURRENT_SOURCE_DIR } /trunk)
49+ set (IGC_LLVM_INTERIM_PATCHES ON )
50+ message (STATUS "[LLVM] : IGC_LLVM_INTERIM mode is enabled, apply patches from /trunk dir" )
51+ else ()
52+ set (IGC_LLVM_PATCHES_DIR ${CMAKE_CURRENT_SOURCE_DIR } /releases)
53+ set (IGC_LLVM_INTERIM_PATCHES OFF )
54+ endif ()
6355
64- if (NOT PATCH_SCRIPT_RESULT EQUAL 0)
65- message (FATAL_ERROR "[LLVM] : Could not apply LLVM patches." )
56+ execute_process (COMMAND
57+ ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR } /apply_patches.py
58+ --llvm-version ${IGC_OPTION__LLVM_PREFERRED_VERSION}
59+ --patch-interim ${IGC_LLVM_INTERIM_PATCHES}
60+ --llvm-project-dir ${IGC_LLVM_WORKSPACE_SRC}
61+ --patches-dir ${IGC_LLVM_PATCHES_DIR}
62+ --patch-executable ${Patch_EXECUTABLE}
63+ --patch-disable ${PATCH_DISABLE}
64+ RESULT_VARIABLE PATCH_SCRIPT_RESULT
65+ )
66+
67+ if (NOT PATCH_SCRIPT_RESULT EQUAL 0)
68+ message (FATAL_ERROR "[LLVM] : Could not apply LLVM patches." )
69+ endif ()
70+ else ()
71+ message (STATUS "[LLVM] : Skipping internal LLVM patches (IGC_OPTION__APPLY_LLVM_PATCHES=OFF)" )
6672endif ()
0 commit comments