Skip to content

Commit 09d9c46

Browse files
Fix dpnp build dependencies after C-API removal
1 parent d0a08e0 commit 09d9c46

File tree

8 files changed

+63
-16
lines changed

8 files changed

+63
-16
lines changed

dpnp/backend/extensions/blas/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ set(_module_src
3939
pybind11_add_module(${python_module_name} MODULE ${_module_src})
4040
add_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

4445
if(_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

dpnp/backend/extensions/fft/CMakeLists.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ set(_module_src ${CMAKE_CURRENT_SOURCE_DIR}/fft_py.cpp)
3333
pybind11_add_module(${python_module_name} MODULE ${_module_src})
3434
add_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

3839
if(_dpnp_sycl_targets)
3940
# make fat binary
@@ -62,6 +63,7 @@ set_target_properties(
6263
target_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(
7072
target_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

7682
if(WIN32)

dpnp/backend/extensions/indexing/CMakeLists.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ set(_module_src
3636
pybind11_add_module(${python_module_name} MODULE ${_module_src})
3737
add_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

4142
if(_dpnp_sycl_targets)
4243
# make fat binary
@@ -65,6 +66,7 @@ set_target_properties(
6566
target_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(
7476
target_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

8086
if(WIN32)

dpnp/backend/extensions/lapack/CMakeLists.txt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ set(_module_src
5555

5656
pybind11_add_module(${python_module_name} MODULE ${_module_src})
5757
add_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

6062
if(_dpnp_sycl_targets)
6163
# make fat binary
@@ -83,12 +85,15 @@ set_target_properties(
8385

8486
target_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

8993
target_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(
99104
target_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

105114
if(WIN32)

dpnp/backend/extensions/statistics/CMakeLists.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ set(_module_src
4141
pybind11_add_module(${python_module_name} MODULE ${_module_src})
4242
add_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

4647
if(_dpnp_sycl_targets)
4748
# make fat binary
@@ -70,6 +71,7 @@ set_target_properties(
7071
target_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(
7981
target_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

8591
if(WIN32)

dpnp/backend/extensions/ufunc/CMakeLists.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,8 @@ set(_module_src
6767
pybind11_add_module(${python_module_name} MODULE ${_module_src})
6868
add_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

7273
if(WIN32)
7374
if(${CMAKE_VERSION} VERSION_LESS "3.27")
@@ -87,6 +88,7 @@ set_target_properties(
8788
target_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(
9799
target_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

103109
if(_dpnp_sycl_targets)

dpnp/backend/extensions/vm/CMakeLists.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ set(python_module_name _vm_impl)
9090
pybind11_add_module(${python_module_name} MODULE ${_module_src})
9191
add_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

9596
if(WIN32)
9697
if(${CMAKE_VERSION} VERSION_LESS "3.27")
@@ -110,6 +111,7 @@ set_target_properties(
110111
target_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(
119121
target_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

125131
if(WIN32)

dpnp/backend/extensions/window/CMakeLists.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ set(_module_src
3636
pybind11_add_module(${python_module_name} MODULE ${_module_src})
3737
add_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

4142
if(_dpnp_sycl_targets)
4243
# make fat binary
@@ -65,6 +66,7 @@ set_target_properties(
6566
target_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(
7577
target_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

8187
if(WIN32)

0 commit comments

Comments
 (0)