File tree Expand file tree Collapse file tree 8 files changed +63
-16
lines changed
Expand file tree Collapse file tree 8 files changed +63
-16
lines changed Original file line number Diff line number Diff line change @@ -39,7 +39,8 @@ set(_module_src
3939pybind11_add_module (${python_module_name} MODULE ${_module_src} )
4040add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_module_src} )
4141
42- target_link_libraries (${python_module_name} PRIVATE DpctlExtCAPI )
42+ # Ensure Cython modules build first so _usmarray.h exists
43+ add_dependencies (${python_module_name} _usmarray )
4344
4445if (_dpnp_sycl_targets)
4546 # make fat binary
@@ -71,6 +72,7 @@ target_include_directories(
7172 ${CMAKE_CURRENT_SOURCE_DIR} /../common
7273 ${CMAKE_SOURCE_DIR} /dpnp/backend/include
7374 ${CMAKE_SOURCE_DIR} /dpctl_ext/tensor/libtensor/include
75+ ${CMAKE_BINARY_DIR} # For generated Cython headers
7476)
7577
7678# treat below headers as system to suppress the warnings there during the build
Original file line number Diff line number Diff line change @@ -33,7 +33,8 @@ set(_module_src ${CMAKE_CURRENT_SOURCE_DIR}/fft_py.cpp)
3333pybind11_add_module (${python_module_name} MODULE ${_module_src} )
3434add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_module_src} )
3535
36- target_link_libraries (${python_module_name} PRIVATE DpctlExtCAPI )
36+ # Ensure Cython modules build first so _usmarray.h exists
37+ add_dependencies (${python_module_name} _usmarray )
3738
3839if (_dpnp_sycl_targets)
3940 # make fat binary
@@ -62,6 +63,7 @@ set_target_properties(
6263target_include_directories (
6364 ${python_module_name}
6465 PRIVATE
66+ ${CMAKE_BINARY_DIR} # For generated Cython headers
6567 ${CMAKE_SOURCE_DIR} /dpnp/backend/include
6668 ${CMAKE_SOURCE_DIR} /dpctl_ext/tensor/libtensor/include
6769)
@@ -70,7 +72,11 @@ target_include_directories(
7072target_include_directories (
7173 ${python_module_name}
7274 SYSTEM
73- PRIVATE ${SYCL_INCLUDE_DIR} ${Dpctl_INCLUDE_DIRS} ${Dpctl_TENSOR_INCLUDE_DIR}
75+ PRIVATE
76+ ${SYCL_INCLUDE_DIR}
77+ ${Dpctl_INCLUDE_DIRS}
78+ ${Dpctl_TENSOR_INCLUDE_DIR}
79+ ${CMAKE_BINARY_DIR} # For generated Cython headers
7480)
7581
7682if (WIN32 )
Original file line number Diff line number Diff line change @@ -36,7 +36,8 @@ set(_module_src
3636pybind11_add_module (${python_module_name} MODULE ${_module_src} )
3737add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_module_src} )
3838
39- target_link_libraries (${python_module_name} PRIVATE DpctlExtCAPI )
39+ # Ensure Cython modules build first so _usmarray.h exists
40+ add_dependencies (${python_module_name} _usmarray )
4041
4142if (_dpnp_sycl_targets)
4243 # make fat binary
@@ -65,6 +66,7 @@ set_target_properties(
6566target_include_directories (
6667 ${python_module_name}
6768 PRIVATE
69+ ${CMAKE_BINARY_DIR} # For generated Cython headers
6870 ${CMAKE_CURRENT_SOURCE_DIR} /../common
6971 ${CMAKE_SOURCE_DIR} /dpnp/backend/include
7072 ${CMAKE_SOURCE_DIR} /dpctl_ext/tensor/libtensor/include
@@ -74,7 +76,11 @@ target_include_directories(
7476target_include_directories (
7577 ${python_module_name}
7678 SYSTEM
77- PRIVATE ${SYCL_INCLUDE_DIR} ${Dpctl_INCLUDE_DIRS} ${Dpctl_TENSOR_INCLUDE_DIR}
79+ PRIVATE
80+ ${SYCL_INCLUDE_DIR}
81+ ${Dpctl_INCLUDE_DIRS}
82+ ${Dpctl_TENSOR_INCLUDE_DIR}
83+ ${CMAKE_BINARY_DIR} # For generated Cython headers
7884)
7985
8086if (WIN32 )
Original file line number Diff line number Diff line change @@ -55,7 +55,9 @@ set(_module_src
5555
5656pybind11_add_module (${python_module_name} MODULE ${_module_src} )
5757add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_module_src} )
58- target_link_libraries (${python_module_name} PRIVATE DpctlExtCAPI )
58+
59+ # Ensure Cython modules build first so _usmarray.h exists
60+ add_dependencies (${python_module_name} _usmarray )
5961
6062if (_dpnp_sycl_targets)
6163 # make fat binary
@@ -83,12 +85,15 @@ set_target_properties(
8385
8486target_include_directories (
8587 ${python_module_name}
86- PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} /../common
88+ PRIVATE
89+ ${CMAKE_CURRENT_SOURCE_DIR} /../common
90+ ${CMAKE_BINARY_DIR} # For generated Cython headers
8791)
8892
8993target_include_directories (
9094 ${python_module_name}
9195 PRIVATE
96+ ${CMAKE_BINARY_DIR} # For generated Cython headers
9297 ${CMAKE_CURRENT_SOURCE_DIR} /../../
9398 ${CMAKE_CURRENT_SOURCE_DIR} /../common
9499 ${CMAKE_SOURCE_DIR} /dpnp/backend/include
@@ -99,7 +104,11 @@ target_include_directories(
99104target_include_directories (
100105 ${python_module_name}
101106 SYSTEM
102- PRIVATE ${SYCL_INCLUDE_DIR} ${Dpctl_INCLUDE_DIRS} ${Dpctl_TENSOR_INCLUDE_DIR}
107+ PRIVATE
108+ ${SYCL_INCLUDE_DIR}
109+ ${Dpctl_INCLUDE_DIRS}
110+ ${Dpctl_TENSOR_INCLUDE_DIR}
111+ ${CMAKE_BINARY_DIR} # For generated Cython headers
103112)
104113
105114if (WIN32 )
Original file line number Diff line number Diff line change @@ -41,7 +41,8 @@ set(_module_src
4141pybind11_add_module (${python_module_name} MODULE ${_module_src} )
4242add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_module_src} )
4343
44- target_link_libraries (${python_module_name} PRIVATE DpctlExtCAPI )
44+ # Ensure Cython modules build first so _usmarray.h exists
45+ add_dependencies (${python_module_name} _usmarray )
4546
4647if (_dpnp_sycl_targets)
4748 # make fat binary
@@ -70,6 +71,7 @@ set_target_properties(
7071target_include_directories (
7172 ${python_module_name}
7273 PRIVATE
74+ ${CMAKE_BINARY_DIR} # For generated Cython headers
7375 ${CMAKE_CURRENT_SOURCE_DIR} /../common
7476 ${CMAKE_SOURCE_DIR} /dpnp/backend/include
7577 ${CMAKE_SOURCE_DIR} /dpctl_ext/tensor/libtensor/include
@@ -79,7 +81,11 @@ target_include_directories(
7981target_include_directories (
8082 ${python_module_name}
8183 SYSTEM
82- PRIVATE ${SYCL_INCLUDE_DIR} ${Dpctl_INCLUDE_DIRS} ${Dpctl_TENSOR_INCLUDE_DIR}
84+ PRIVATE
85+ ${SYCL_INCLUDE_DIR}
86+ ${Dpctl_INCLUDE_DIRS}
87+ ${Dpctl_TENSOR_INCLUDE_DIR}
88+ ${CMAKE_BINARY_DIR} # For generated Cython headers
8389)
8490
8591if (WIN32 )
Original file line number Diff line number Diff line change @@ -67,7 +67,8 @@ set(_module_src
6767pybind11_add_module (${python_module_name} MODULE ${_module_src} )
6868add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_module_src} )
6969
70- target_link_libraries (${python_module_name} PRIVATE DpctlExtCAPI )
70+ # Ensure Cython modules build first so _usmarray.h exists
71+ add_dependencies (${python_module_name} _usmarray )
7172
7273if (WIN32 )
7374 if (${CMAKE_VERSION} VERSION_LESS "3.27" )
@@ -87,6 +88,7 @@ set_target_properties(
8788target_include_directories (
8889 ${python_module_name}
8990 PRIVATE
91+ ${CMAKE_BINARY_DIR} # For generated Cython headers
9092 ${CMAKE_CURRENT_SOURCE_DIR} /../../
9193 ${CMAKE_CURRENT_SOURCE_DIR} /../common
9294 ${CMAKE_SOURCE_DIR} /dpnp/backend/include
@@ -97,7 +99,11 @@ target_include_directories(
9799target_include_directories (
98100 ${python_module_name}
99101 SYSTEM
100- PRIVATE ${SYCL_INCLUDE_DIR} ${Dpctl_INCLUDE_DIRS} ${Dpctl_TENSOR_INCLUDE_DIR}
102+ PRIVATE
103+ ${SYCL_INCLUDE_DIR}
104+ ${Dpctl_INCLUDE_DIRS}
105+ ${Dpctl_TENSOR_INCLUDE_DIR}
106+ ${CMAKE_BINARY_DIR} # For generated Cython headers
101107)
102108
103109if (_dpnp_sycl_targets)
Original file line number Diff line number Diff line change @@ -90,7 +90,8 @@ set(python_module_name _vm_impl)
9090pybind11_add_module (${python_module_name} MODULE ${_module_src} )
9191add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_module_src} )
9292
93- target_link_libraries (${python_module_name} PRIVATE DpctlExtCAPI )
93+ # Ensure Cython modules build first so _usmarray.h exists
94+ add_dependencies (${python_module_name} _usmarray )
9495
9596if (WIN32 )
9697 if (${CMAKE_VERSION} VERSION_LESS "3.27" )
@@ -110,6 +111,7 @@ set_target_properties(
110111target_include_directories (
111112 ${python_module_name}
112113 PRIVATE
114+ ${CMAKE_BINARY_DIR} # For generated Cython headers
113115 ${CMAKE_CURRENT_SOURCE_DIR} /../common
114116 ${CMAKE_SOURCE_DIR} /dpnp/backend/include
115117 ${CMAKE_SOURCE_DIR} /dpctl_ext/tensor/libtensor/include
@@ -119,7 +121,11 @@ target_include_directories(
119121target_include_directories (
120122 ${python_module_name}
121123 SYSTEM
122- PRIVATE ${SYCL_INCLUDE_DIR} ${Dpctl_INCLUDE_DIRS} ${Dpctl_TENSOR_INCLUDE_DIR}
124+ PRIVATE
125+ ${SYCL_INCLUDE_DIR}
126+ ${Dpctl_INCLUDE_DIRS}
127+ ${Dpctl_TENSOR_INCLUDE_DIR}
128+ ${CMAKE_BINARY_DIR} # For generated Cython headers
123129)
124130
125131if (WIN32 )
Original file line number Diff line number Diff line change @@ -36,7 +36,8 @@ set(_module_src
3636pybind11_add_module (${python_module_name} MODULE ${_module_src} )
3737add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_module_src} )
3838
39- target_link_libraries (${python_module_name} PRIVATE DpctlExtCAPI )
39+ # Ensure Cython modules build first so _usmarray.h exists
40+ add_dependencies (${python_module_name} _usmarray )
4041
4142if (_dpnp_sycl_targets)
4243 # make fat binary
@@ -65,6 +66,7 @@ set_target_properties(
6566target_include_directories (
6667 ${python_module_name}
6768 PRIVATE
69+ ${CMAKE_BINARY_DIR} # For generated Cython headers
6870 ${CMAKE_CURRENT_SOURCE_DIR} /../../
6971 ${CMAKE_CURRENT_SOURCE_DIR} /../common
7072 ${CMAKE_SOURCE_DIR} /dpnp/backend/include
@@ -75,7 +77,11 @@ target_include_directories(
7577target_include_directories (
7678 ${python_module_name}
7779 SYSTEM
78- PRIVATE ${SYCL_INCLUDE_DIR} ${Dpctl_INCLUDE_DIRS} ${Dpctl_TENSOR_INCLUDE_DIR}
80+ PRIVATE
81+ ${SYCL_INCLUDE_DIR}
82+ ${Dpctl_INCLUDE_DIRS}
83+ ${Dpctl_TENSOR_INCLUDE_DIR}
84+ ${CMAKE_BINARY_DIR} # For generated Cython headers
7985)
8086
8187if (WIN32 )
You can’t perform that action at this time.
0 commit comments