Skip to content

Commit 15daace

Browse files
dvrogozhgfxbot
authored andcommitted
Stop guessing opencl-clang library name in in-tree build
We hardcoded the name of opencl-clang as: libopencl-clang.so.${LLVM_VERSION_MAJOR} which might not be correct on some LLVM versions. For example, in case of llvm-7.1.0 we will have: libopencl-clang.so.7.1 which will cause IGC build failure in case of in-tree build path. To avoid that we instead can just reuse existing opencl-clang cmake target instead of redefining it Change-Id: I54cd1354abafb77a233b070dceaf35eb9986ecd6
1 parent 188c4d6 commit 15daace

File tree

1 file changed

+13
-14
lines changed

1 file changed

+13
-14
lines changed

IGC/BiFModule/CMakeLists.txt

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -144,16 +144,16 @@ endif()
144144
set(CL_OPTIONS "")
145145

146146
add_custom_target(GetClang)
147-
add_library(common_clang_dll SHARED IMPORTED GLOBAL)
148147

149148
if(EXISTS ${_clang7zLocation} AND NOT ${CCLANG_BUILD_INTREE_LLVM})
150149
# Use precompiled common clang bundle.
151150
message(STATUS "Use precompiled common clang from ${_clang7zLocation}")
152151
set(SYSTEM_COMMON_CLANG OFF)
153152

154-
add_dependencies(GetClang UnzipClang)
155-
153+
add_library(common_clang_dll SHARED IMPORTED GLOBAL)
156154
set_property(TARGET common_clang_dll PROPERTY "IMPORTED_LOCATION" "${IGC_TARGET__TOOLS_CLANG_DIR}/${COMMON_CLANG_LIB_FULL_NAME}")
155+
add_dependencies(common_clang_dll GetClang)
156+
add_dependencies(GetClang UnzipClang)
157157
else()
158158
# Do not use precompiled common clang.
159159
message(STATUS "Precompiled common clang bundle ${_clang7zLocation} does not exist. Try to compile from sources or use system common clang.")
@@ -164,23 +164,21 @@ endif()
164164
message("Common clang build-in-tree")
165165
set(SYSTEM_COMMON_CLANG OFF)
166166

167+
add_library(common_clang_dll ALIAS ${COMMON_CLANG_LIBRARY_NAME})
168+
167169
add_custom_target(copy_cclang_files ALL
168-
COMMAND ${CMAKE_COMMAND} -E make_directory "${IGC_TARGET__TOOLS_CLANG_DIR}"
169-
COMMAND ${CMAKE_COMMAND} -E copy "${CLANG_SOURCE_DIR}/lib/Headers/opencl-c.h" "${IGC_TARGET__TOOLS_CLANG_DIR}/"
170-
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:clang>" "${IGC_TARGET__TOOLS_CLANG_DIR}/clang${CMAKE_EXECUTABLE_SUFFIX}"
171-
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_LINKER_FILE:${COMMON_CLANG_LIBRARY_NAME}>" "${IGC_TARGET__TOOLS_CLANG_DIR}/"
172-
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_SONAME_FILE:${COMMON_CLANG_LIBRARY_NAME}>" "${IGC_TARGET__TOOLS_CLANG_DIR}/"
173-
DEPENDS clang cl_headers ${COMMON_CLANG_LIBRARY_NAME}
174-
)
170+
COMMAND ${CMAKE_COMMAND} -E make_directory "${IGC_TARGET__TOOLS_CLANG_DIR}"
171+
COMMAND ${CMAKE_COMMAND} -E copy "${CLANG_SOURCE_DIR}/lib/Headers/opencl-c.h" "${IGC_TARGET__TOOLS_CLANG_DIR}/"
172+
COMMAND ${CMAKE_COMMAND} -E copy "$<TARGET_FILE:clang>" "${IGC_TARGET__TOOLS_CLANG_DIR}/clang${CMAKE_EXECUTABLE_SUFFIX}"
173+
DEPENDS clang cl_headers ${COMMON_CLANG_LIBRARY_NAME}
174+
)
175175

176176
add_dependencies(GetClang copy_cclang_files)
177-
178-
set_property(TARGET common_clang_dll PROPERTY "IMPORTED_LOCATION" ${IGC_TARGET__TOOLS_CLANG_DIR}/${COMMON_CLANG_LIB_FULL_NAME})
179-
180177
else()
181178
find_library(SYSTEM_COMMON_CLANG ${COMMON_CLANG_LIBRARY_NAME})
182179
if(SYSTEM_COMMON_CLANG)
183180
message(STATUS "[IGC] Using system common_clang: ${SYSTEM_COMMON_CLANG}")
181+
add_library(common_clang_dll SHARED IMPORTED GLOBAL)
184182
set_property(TARGET common_clang_dll PROPERTY "IMPORTED_LOCATION" "${SYSTEM_COMMON_CLANG}")
185183
find_program(CLANG_GE7 clang-${LLVM_VERSION_MAJOR})
186184
if(CLANG_GE7)
@@ -203,9 +201,10 @@ endif()
203201
endif(SYSTEM_COMMON_CLANG)
204202
endif()
205203
endif()
206-
add_dependencies(common_clang_dll GetClang)
207204

208205
if(UNIX AND NOT SYSTEM_COMMON_CLANG)
206+
install(FILES $<TARGET_FILE:common_clang_dll> DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} COMPONENT igc-opencl)
207+
install(FILES $<TARGET_LINKER_FILE:common_clang_dll> DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} COMPONENT igc-opencl)
209208
install(FILES $<TARGET_SONAME_FILE:common_clang_dll> DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR} COMPONENT igc-opencl)
210209
endif()
211210

0 commit comments

Comments
 (0)