@@ -5,68 +5,68 @@ foreach(_cy_file ${_cython_sources})
55 build_dpctl_ext(${_trgt} ${_cy_file} "dpctl/utils" )
66endforeach ()
77
8+ set (_pybind11_targets)
9+
810set (python_module_name _device_queries)
911set (_module_src ${CMAKE_CURRENT_SOURCE_DIR} /src/device_queries.cpp)
1012pybind11_add_module(${python_module_name} MODULE
1113 ${_module_src}
1214)
1315add_sycl_to_target(TARGET ${python_module_name} SOURCES ${_module_src} )
14- if (DPCTL_GENERATE_COVERAGE)
15- if (DPCTL_GENERATE_COVERAGE_FOR_PYBIND11_EXTENSIONS)
16- target_compile_options (${python_module_name}
17- PRIVATE -fprofile-instr-generate -fcoverage-mapping
18- )
19- endif ()
20- target_link_options (${python_module_name}
21- PRIVATE -fprofile-instr-generate -fcoverage-mapping
22- )
23- endif ()
24- if (_dpctl_sycl_targets)
25- # make fat binary
26- target_compile_options (
27- ${python_module_name}
28- PRIVATE
29- -fsycl-targets=${_dpctl_sycl_targets}
30- )
31- target_link_options (
32- ${python_module_name}
33- PRIVATE
34- -fsycl-targets=${_dpctl_sycl_targets}
35- )
36- endif ()
37- target_link_libraries (${python_module_name} PRIVATE DpctlCAPI)
38- install (TARGETS ${python_module_name} DESTINATION "dpctl/utils" )
16+ list (APPEND _pybind11_targets ${python_module_name} )
3917
4018
4119set (python_module_name _seq_order_keeper)
4220set (_module_src ${CMAKE_CURRENT_SOURCE_DIR} /src/order_keeper.cpp)
4321pybind11_add_module(${python_module_name} MODULE
4422 ${_module_src}
4523)
46- target_include_directories (${python_module_name} PRIVATE ${CUMAKE_CURRENT_SOURCE_DIR } /src)
24+ target_include_directories (${python_module_name} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR } /src)
4725add_sycl_to_target(TARGET ${python_module_name} SOURCES ${_module_src} )
48- if (DPCTL_GENERATE_COVERAGE)
49- if (DPCTL_GENERATE_COVERAGE_FOR_PYBIND11_EXTENSIONS)
50- target_compile_options (${python_module_name}
51- PRIVATE -fprofile-instr-generate -fcoverage-mapping
52- )
53- endif ()
54- target_link_options (${python_module_name}
55- PRIVATE -fprofile-instr-generate -fcoverage-mapping
56- )
57- endif ()
58- if (_dpctl_sycl_targets)
59- # make fat binary
60- target_compile_options (
61- ${python_module_name}
62- PRIVATE
63- -fsycl-targets=${_dpctl_sycl_targets}
64- )
65- target_link_options (
66- ${python_module_name}
26+ list (APPEND _pybind11_targets ${python_module_name} )
27+
28+ set (_linker_options "LINKER:${DPCTL_LDFLAGS} " )
29+ foreach (python_module_name ${_pybind11_targets} )
30+ target_compile_options (${python_module_name} PRIVATE -fno-sycl-id-queries-fit-in-int)
31+ target_link_options (${python_module_name} PRIVATE -fsycl-device-code-split=per_kernel)
32+ target_include_directories (${python_module_name}
6733 PRIVATE
68- -fsycl-targets=${_dpctl_sycl_targets}
34+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/include
35+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source /
6936 )
70- endif ()
71- target_link_libraries (${python_module_name} PRIVATE DpctlCAPI)
72- install (TARGETS ${python_module_name} DESTINATION "dpctl/utils" )
37+ target_link_options (${python_module_name} PRIVATE ${_linker_options} )
38+ if (DPCTL_GENERATE_COVERAGE)
39+ if (DPCTL_GENERATE_COVERAGE_FOR_PYBIND11_EXTENSIONS)
40+ target_compile_options (${python_module_name}
41+ PRIVATE -fprofile-instr-generate -fcoverage-mapping
42+ )
43+ endif ()
44+ target_link_options (${python_module_name}
45+ PRIVATE -fprofile-instr-generate -fcoverage-mapping
46+ )
47+ endif ()
48+ if (_dpctl_sycl_targets)
49+ # make fat binary
50+ target_compile_options (
51+ ${python_module_name}
52+ PRIVATE
53+ -fsycl-targets=${_dpctl_sycl_targets}
54+ )
55+ target_link_options (
56+ ${python_module_name}
57+ PRIVATE
58+ -fsycl-targets=${_dpctl_sycl_targets}
59+ )
60+ endif ()
61+ # TODO: update source so they refernece individual libraries instead of
62+ # dpctl4pybind11.hpp. It will allow to simplify dependency tree
63+ target_link_libraries (${python_module_name} PRIVATE DpctlCAPI)
64+ if (DPCTL_WITH_REDIST)
65+ set_target_properties (
66+ ${python_module_name}
67+ PROPERTIES
68+ INSTALL_RPATH "$ORIGIN/../../../.."
69+ )
70+ endif ()
71+ install (TARGETS ${python_module_name} DESTINATION "dpctl/utils" )
72+ endforeach ()
0 commit comments