[llvm] [SYCL] Add libsycl, a SYCL RT library implementation project (PR #144372)

Kseniya Tikhomirova via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 2 06:26:59 PDT 2025


================
@@ -0,0 +1,111 @@
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../runtimes/cmake/Modules")
+include(WarningFlags)
+
+function(add_sycl_rt_library LIB_NAME LIB_OBJ_NAME)
+  if (NOT LLVM_ENABLE_PIC)
+    message( FATAL_ERROR "Position-Independent Code generation is required for libsycl shared library" )
+  endif()
+  # Add an optional argument so we can get the library name to
+  # link with for Windows Debug version
+  cmake_parse_arguments(ARG "" "IMPLIB_NAME" "COMPILE_OPTIONS;SOURCES" ${ARGN})
+
+  add_library(${LIB_OBJ_NAME} OBJECT ${ARG_SOURCES})
+
+  # Common compilation step setup
+  target_compile_definitions(${LIB_OBJ_NAME} PRIVATE $<$<BOOL:${MSVC}>:_LIBSYCL_BUILD_SYCL_DLL>)
+  cxx_add_warning_flags(${LIB_OBJ_NAME} ${LIBSYCL_ENABLE_WERROR} ${LIBSYCL_ENABLE_PEDANTIC})
+
+  target_include_directories(
+    ${LIB_OBJ_NAME}
+    PRIVATE
+      ${CMAKE_CURRENT_SOURCE_DIR}
+      ${LIBSYCL_BUILD_INCLUDE_DIR}
+  )
+
+  add_library(${LIB_NAME} SHARED
+              $<TARGET_OBJECTS:${LIB_OBJ_NAME}>)
+
+  add_dependencies(${LIB_OBJ_NAME}
+    sycl-headers
+  )
+
+  set_target_properties(${LIB_NAME} PROPERTIES LINKER_LANGUAGE CXX)
+
+  if (WIN32)
+    target_link_libraries(${LIB_NAME} PRIVATE shlwapi)
----------------
KseniyaTikhomirova wrote:

removed in https://github.com/llvm/llvm-project/pull/144372/commits/6e473009602cdf0ce5cb2fb2f4fe27acc60125d2#diff-012c1c75642ff105a8083560c92d539c11a7d62cbe4946820528c77ba8875270

https://github.com/llvm/llvm-project/pull/144372


More information about the llvm-commits mailing list