|
| 1 | +cmake_minimum_required(VERSION 3.21...3.27 FATAL_ERROR) |
| 2 | + |
| 3 | +if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.24") |
| 4 | + cmake_policy(SET CMP0135 NEW) |
| 5 | +endif() |
| 6 | + |
1 | 7 | project(_dpexrt_python
|
2 | 8 | DESCRIPTION "A Python C extension for numba-dpex runtime."
|
3 | 9 | VERSION $ENV{NUMBA_DPEX_VERSION}
|
4 | 10 | )
|
| 11 | + |
| 12 | +execute_process( |
| 13 | + COMMAND python -m dpctl --cmakedir |
| 14 | + OUTPUT_VARIABLE DPCTL_MODULE_PATH |
| 15 | + OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 16 | +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${DPCTL_MODULE_PATH}) |
| 17 | + |
| 18 | +execute_process( |
| 19 | + COMMAND python -c "import skbuild; print(skbuild.__path__[0]);" |
| 20 | + OUTPUT_VARIABLE SKBUILD_PATH |
| 21 | + OUTPUT_STRIP_TRAILING_WHITESPACE) |
| 22 | +set(SKBUILD_MODULE_PATH ${SKBUILD_PATH}/resources/cmake) |
| 23 | +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${SKBUILD_MODULE_PATH}) |
| 24 | + |
| 25 | +message(STATUS "CMAKE_MODULE_PATH=" "${CMAKE_MODULE_PATH}") |
| 26 | + |
| 27 | +find_package(PythonLibs REQUIRED) |
| 28 | + |
| 29 | +# find_package(IntelDPCPP REQUIRED) |
| 30 | +find_package(TBB REQUIRED) |
| 31 | + |
| 32 | +set(MKL_ARCH "intel64") |
| 33 | +set(MKL_LINK "dynamic") |
| 34 | +set(MKL_INTERFACE_FULL "intel_ilp64") |
| 35 | +set(MKL_THREADING "tbb_thread") |
| 36 | +find_package(MKL REQUIRED) |
| 37 | + |
| 38 | +set(ONEDPL_PAR_BACKEND tbb) |
| 39 | +find_package(oneDPL REQUIRED) |
| 40 | + |
| 41 | +find_package(PythonExtensions REQUIRED) |
| 42 | +find_package(NumPy REQUIRED) |
| 43 | +find_package(Dpctl REQUIRED) |
| 44 | + |
| 45 | +include(GNUInstallDirs) |
| 46 | +include_directories(.) |
| 47 | +file(GLOB SOURCES "*.c") |
| 48 | + |
| 49 | +add_library(_dpexrt_python.so SHARED ${SOURCES}) |
| 50 | + |
| 51 | +# install(TARGETS skcdpure DESTINATION .) |
0 commit comments