|
1 | 1 |
|
2 | 2 | function(build_dpnp_cython_ext _trgt _src _dest)
|
| 3 | + set(options SYCL) |
| 4 | + cmake_parse_arguments(BUILD_DPNP_EXT "${options}" "" "" ${ARGN}) |
3 | 5 | add_cython_target(${_trgt} ${_src} CXX OUTPUT_VAR _generated_src)
|
4 | 6 | message(STATUS "Using ${_trgt}")
|
5 |
| - add_library(${_trgt} MODULE ${_generated_src}) |
| 7 | + |
| 8 | + Python_add_library(${_trgt} MODULE WITH_SOABI ${_generated_src}) |
6 | 9 | set(_trgt_deps "${_trgt}_deps")
|
7 | 10 | add_custom_target(${_trgt_deps} DEPENDS ${_src})
|
8 | 11 | add_dependencies(${_trgt} ${_trgt_deps})
|
| 12 | + |
| 13 | + if (BUILD_DPNP_EXT_SYCL) |
| 14 | + add_sycl_to_target(TARGET ${_trgt} SOURCES ${_generated_src}) |
| 15 | + endif() |
| 16 | + |
9 | 17 | if (DPNP_GENERATE_COVERAGE)
|
10 | 18 | target_compile_definitions(${_trgt} PRIVATE CYTHON_TRACE=1 CYTHON_TRACE_NOGIL=1)
|
11 | 19 | target_compile_options(${_trgt} PRIVATE "-fno-sycl-use-footer")
|
12 | 20 | endif()
|
13 |
| - target_compile_definitions(${_trgt} PRIVATE NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION) |
| 21 | + |
14 | 22 | # NumPy
|
| 23 | + target_compile_definitions(${_trgt} PRIVATE NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION) |
15 | 24 | target_include_directories(${_trgt} PRIVATE ${NumPy_INCLUDE_DIR})
|
| 25 | + |
16 | 26 | # Dpctl
|
17 | 27 | target_include_directories(${_trgt} PRIVATE ${Dpctl_INCLUDE_DIR})
|
18 | 28 | target_link_directories(${_trgt} PRIVATE ${Dpctl_INCLUDE_DIR}/..)
|
19 |
| - target_link_libraries(${_trgt} DPCTLSyclInterface) |
| 29 | + target_link_libraries(${_trgt} PRIVATE DPCTLSyclInterface) |
20 | 30 |
|
21 | 31 | set(_linker_options "LINKER:${DPNP_LDFLAGS}")
|
22 | 32 | target_link_options(${_trgt} PRIVATE ${_linker_options})
|
23 |
| - python_extension_module(${_trgt}) |
24 | 33 |
|
25 | 34 | if (DPNP_GENERATE_COVERAGE)
|
26 | 35 | set(_copy_cxx_trgt "${_trgt}_copy_cxx")
|
27 | 36 | add_custom_target(
|
28 |
| - ${_copy_cxx_trgt} ALL |
29 |
| - COMMAND ${CMAKE_COMMAND} |
30 |
| - -DSOURCE_FILE=${_generated_src} |
31 |
| - -DDEST=${CMAKE_CURRENT_SOURCE_DIR} |
32 |
| - -P ${CMAKE_SOURCE_DIR}/dpnp/cmake/copy_existing.cmake |
33 |
| - DEPENDS ${_trgt} |
34 |
| - VERBATIM |
35 |
| - COMMENT "Copying Cython-generated source for target ${_trgt} to dpnp source layout" |
| 37 | + ${_copy_cxx_trgt} ALL COMMAND ${CMAKE_COMMAND} |
| 38 | + -DSOURCE_FILE=${_generated_src} |
| 39 | + -DDEST=${CMAKE_CURRENT_SOURCE_DIR} |
| 40 | + -P ${CMAKE_SOURCE_DIR}/dpnp/cmake/copy_existing.cmake |
| 41 | + DEPENDS ${_trgt} |
| 42 | + VERBATIM COMMENT "Copying Cython-generated source for target ${_trgt} to dpnp source layout" |
36 | 43 | )
|
37 | 44 | endif()
|
38 | 45 | install(TARGETS ${_trgt} LIBRARY DESTINATION ${_dest})
|
39 | 46 | endfunction()
|
40 | 47 |
|
41 | 48 | function(build_dpnp_cython_ext_with_backend _trgt _src _dest)
|
42 | 49 | build_dpnp_cython_ext(${_trgt} ${_src} ${_dest})
|
43 |
| - target_link_libraries(${_trgt} dpnp_backend_library) |
| 50 | + target_link_libraries(${_trgt} PRIVATE dpnp_backend_library) |
44 | 51 | if (UNIX)
|
45 | 52 | set_target_properties(${_trgt} PROPERTIES INSTALL_RPATH "$ORIGIN/..")
|
46 | 53 | endif()
|
|
0 commit comments