Skip to content

Commit 8383774

Browse files
committed
Link with libclang-cpp for out-of-tree build
Signed-off-by: Alexey Sotkin <[email protected]>
1 parent 7258431 commit 8383774

File tree

2 files changed

+20
-12
lines changed

2 files changed

+20
-12
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ before_install:
2828
llvm-${LLVM_VERSION}-dev
2929
llvm-${LLVM_VERSION}-tools
3030
libclang-${LLVM_VERSION}-dev
31+
libclang-cpp${LLVM_VERSION}-dev
3132

3233
install:
3334
- wget https://github.com/KhronosGroup/SPIRV-LLVM-Translator/releases/download/dev-build/SPIRV-LLVM-Translator-dev-build-linux-Release.zip -O /tmp/SPIRV-LLVM-Translator-dev-build-linux-${BUILD_TYPE}.zip

CMakeLists.txt

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -206,27 +206,22 @@ link_directories(
206206
${LLVM_LIBRARY_DIRS}
207207
)
208208

209-
set(ADDITIONAL_LIBS ${CMAKE_DL_LIBS})
209+
set(OPENCL_CLANG_LINK_LIBS ${CMAKE_DL_LIBS})
210210

211211
if(NOT LLVMSPIRVLib IN_LIST LLVM_AVAILABLE_LIBS)
212212
# SPIRV-LLVM-Translator is not included into LLVM as a component.
213213
# So, we need to list it here explicitly as an external library
214-
list(APPEND ADDITIONAL_LIBS LLVMSPIRVLib)
214+
list(APPEND OPENCL_CLANG_LINK_LIBS LLVMSPIRVLib)
215215
endif()
216216

217217
add_subdirectory(cl_headers)
218218

219219
set(LLVM_REQUIRES_EH ON)
220220

221-
add_llvm_library(${TARGET_NAME} SHARED
222-
${TARGET_INCLUDE_FILES}
223-
${TARGET_SOURCE_FILES}
224-
$<TARGET_OBJECTS:cl_headers>
225-
226-
DEPENDS CClangCompileOptions
227-
LINK_COMPONENTS
228-
all
229-
LINK_LIBS
221+
if(USE_PREBUILT_LLVM OR CLANG_LINK_CLANG_DYLIB)
222+
list(APPEND OPENCL_CLANG_LINK_LIBS clang-cpp)
223+
else()
224+
list(APPEND OPENCL_CLANG_LINK_LIBS
230225
# The list of clang libraries is taken from clang makefile
231226
# (build/tools/clang/tools/driver/CMakeFiles/clang.dir/link.txt)
232227
# All duplicate libraries are there on purpose
@@ -258,7 +253,19 @@ add_llvm_library(${TARGET_NAME} SHARED
258253
clangAST
259254
clangLex
260255
clangBasic
261-
${ADDITIONAL_LIBS}
256+
)
257+
endif()
258+
259+
add_llvm_library(${TARGET_NAME} SHARED
260+
${TARGET_INCLUDE_FILES}
261+
${TARGET_SOURCE_FILES}
262+
$<TARGET_OBJECTS:cl_headers>
263+
264+
DEPENDS CClangCompileOptions
265+
LINK_COMPONENTS
266+
all
267+
LINK_LIBS
268+
${OPENCL_CLANG_LINK_LIBS}
262269
)
263270

264271
# Configure resource file on Windows

0 commit comments

Comments
 (0)