Skip to content
This repository was archived by the owner on Sep 26, 2025. It is now read-only.

Commit 6a2760d

Browse files
Transitioned to IntelSYCL, updated pybind11 version
1 parent 9c5757d commit 6a2760d

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

kde_skbuild/CMakeLists.txt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
cmake_minimum_required(VERSION 3.22 FATAL_ERROR)
1+
cmake_minimum_required(VERSION 3.22...3.27 FATAL_ERROR)
22

3-
project(oneapi_kde_skbuild LANGUAGES C CXX)
3+
project(oneapi_kde_skbuild VERSION 0.1 LANGUAGES C CXX DESCRIPTION "Example of DPC++-based Python extension")
44

55
if (NOT DEFINED DPCTL_MODULE_PATH)
66
if (DEFINED ENV{DPCTL_MODULE_PATH})
@@ -11,7 +11,7 @@ if (NOT DEFINED DPCTL_MODULE_PATH)
1111
endif()
1212

1313
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${DPCTL_MODULE_PATH})
14-
find_package(IntelDPCPP REQUIRED)
14+
find_package(IntelSYCL REQUIRED)
1515

1616
set(CMAKE_CXX_STANDARD 17)
1717
set(CMAKE_CXX_STANDARD_REQUIRED True)
@@ -24,12 +24,12 @@ include(GNUInstallDirs)
2424
include(FetchContent)
2525
FetchContent_Declare(
2626
pybind11
27-
URL https://github.com/pybind/pybind11/archive/refs/tags/v2.10.2.tar.gz
28-
URL_HASH SHA256=93bd1e625e43e03028a3ea7389bba5d3f9f2596abc074b068e70f4ef9b1314ae
27+
URL https://github.com/pybind/pybind11/archive/refs/tags/v2.11.1.tar.gz
28+
URL_HASH SHA256=d475978da0cdc2d43b73f30910786759d593a9d8ee05b1b6846d1eb16c6d2e0c
2929
)
3030
FetchContent_MakeAvailable(pybind11)
3131

32-
find_package(PythonExtensions REQUIRED)
32+
find_package(Python REQUIRED COMPONENTS Development.Module)
3333
set(CYTHON_FLAGS "-t -w ${CMAKE_SOURCE_DIR}")
3434
find_package(Cython REQUIRED)
3535
find_package(Dpctl REQUIRED)
@@ -41,6 +41,7 @@ pybind11_add_module(${py_module_name}
4141
MODULE
4242
${CMAKE_SOURCE_DIR}/src/pybind11_kde.cpp
4343
)
44+
add_sycl_to_target(TARGET ${py_module_name} SOURCES ${CMAKE_SOURCE_DIR}/src/pybind11_kde.cpp)
4445
target_link_options(${py_module_name} PRIVATE -fsycl-device-code-split=per_kernel)
4546
target_include_directories(${py_module_name}
4647
PUBLIC ${CMAKE_SOURCE_DIR}/src ${Dpctl_INCLUDE_DIR}
@@ -55,11 +56,11 @@ set(cy_module_name _cython_kde)
5556
# subdirectory must be known for add_cython_target bails out
5657
add_subdirectory(${CMAKE_SOURCE_DIR}/src)
5758
add_cython_target(${cy_module_name} ${CMAKE_SOURCE_DIR}/src/_cython_kde.pyx CXX PY3 OUTPUT_VAR _generated_src)
58-
add_library(${cy_module_name} MODULE ${_generated_src})
59+
python_add_library(${cy_module_name} MODULE ${_generated_src})
60+
add_sycl_to_target(TARGET ${py_module_name} SOURCES ${_generated_src})
5961

6062
target_include_directories(${cy_module_name} PRIVATE ${NumPy_INCLUDE_DIR} ${Dpctl_INCLUDE_DIR} ${CMAKE_SOURCE_DIR}/src)
6163
target_link_options(${cy_module_name} PRIVATE -fsycl-device-code-split=per_kernel)
62-
python_extension_module(${cy_module_name})
6364
install(TARGETS ${cy_module_name} LIBRARY DESTINATION kde_skbuild)
6465

6566
set(ignoreMe "${SKBUILD}")

0 commit comments

Comments
 (0)