@@ -116,9 +116,11 @@ set(_sorting_sources
116
116
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/sorting/argsort.cpp
117
117
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/sorting/searchsorted.cpp
118
118
)
119
+ set (_static_lib_sources
120
+ ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/simplify_iteration_space.cpp
121
+ )
119
122
set (_tensor_impl_sources
120
123
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/tensor_ctors.cpp
121
- ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/simplify_iteration_space.cpp
122
124
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/accumulators.cpp
123
125
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/copy_and_cast_usm_to_usm.cpp
124
126
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/copy_numpy_ndarray_into_usm_ndarray.cpp
@@ -138,17 +140,14 @@ set(_tensor_impl_sources
138
140
)
139
141
set (_tensor_elementwise_impl_sources
140
142
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/tensor_elementwise.cpp
141
- ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/simplify_iteration_space.cpp
142
143
${_elementwise_sources}
143
144
)
144
145
set (_tensor_reductions_impl_sources
145
146
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/tensor_reductions.cpp
146
- ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/simplify_iteration_space.cpp
147
147
${_reduction_sources}
148
148
)
149
149
set (_tensor_sorting_impl_sources
150
150
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/tensor_sorting.cpp
151
- ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/simplify_iteration_space.cpp
152
151
${_sorting_sources}
153
152
)
154
153
set (_linalg_sources
@@ -157,7 +156,6 @@ set(_linalg_sources
157
156
)
158
157
set (_tensor_linalg_impl_sources
159
158
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/tensor_linalg.cpp
160
- ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/simplify_iteration_space.cpp
161
159
${_linalg_sources}
162
160
)
163
161
set (_accumulator_sources
@@ -168,40 +166,54 @@ ${CMAKE_CURRENT_SOURCE_DIR}/libtensor/source/accumulators/cumulative_sum.cpp
168
166
)
169
167
set (_tensor_accumulation_impl_sources
170
168
${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/tensor_accumulation.cpp
171
- ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/source/simplify_iteration_space.cpp
172
169
${_accumulator_sources}
173
170
)
174
171
172
+ set (_static_lib_trgt simplify_iteration_space )
173
+
174
+ add_library (${_static_lib_trgt} STATIC ${_static_lib_sources} )
175
+ target_include_directories (${_static_lib_trgt} PRIVATE
176
+ ${Python_INCLUDE_DIRS} ${DPCTL_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} /libtensor/include
177
+ )
178
+ target_link_libraries (${_static_lib_trgt} PRIVATE pybind11::headers ${Python_LIBRARIES} )
179
+ set_target_properties (${_static_lib_trgt} PROPERTIES POSITION_INDEPENDENT_CODE ON )
180
+
175
181
set (_py_trgts )
176
182
177
183
set (python_module_name _tensor_impl )
178
184
pybind11_add_module (${python_module_name} MODULE ${_tensor_impl_sources} )
179
185
add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_tensor_impl_sources} )
186
+ target_link_libraries (${python_module_name} PRIVATE ${_static_lib_trgt} )
180
187
list (APPEND _py_trgts ${python_module_name} )
181
188
182
189
set (python_module_name _tensor_elementwise_impl )
183
190
pybind11_add_module (${python_module_name} MODULE ${_tensor_elementwise_impl_sources} )
184
191
add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_tensor_elementwise_impl_sources} )
192
+ target_link_libraries (${python_module_name} PRIVATE ${_static_lib_trgt} )
185
193
list (APPEND _py_trgts ${python_module_name} )
186
194
187
195
set (python_module_name _tensor_reductions_impl )
188
196
pybind11_add_module (${python_module_name} MODULE ${_tensor_reductions_impl_sources} )
189
197
add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_tensor_reductions_impl_sources} )
198
+ target_link_libraries (${python_module_name} PRIVATE ${_static_lib_trgt} )
190
199
list (APPEND _py_trgts ${python_module_name} )
191
200
192
201
set (python_module_name _tensor_sorting_impl )
193
202
pybind11_add_module (${python_module_name} MODULE ${_tensor_sorting_impl_sources} )
194
203
add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_tensor_sorting_impl_sources} )
204
+ target_link_libraries (${python_module_name} PRIVATE ${_static_lib_trgt} )
195
205
list (APPEND _py_trgts ${python_module_name} )
196
206
197
207
set (python_module_name _tensor_linalg_impl )
198
208
pybind11_add_module (${python_module_name} MODULE ${_tensor_linalg_impl_sources} )
199
209
add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_tensor_linalg_impl_sources} )
210
+ target_link_libraries (${python_module_name} PRIVATE ${_static_lib_trgt} )
200
211
list (APPEND _py_trgts ${python_module_name} )
201
212
202
213
set (python_module_name _tensor_accumulation_impl )
203
214
pybind11_add_module (${python_module_name} MODULE ${_tensor_accumulation_impl_sources} )
204
215
add_sycl_to_target (TARGET ${python_module_name} SOURCES ${_tensor_accumulation_impl_sources} )
216
+ target_link_libraries (${python_module_name} PRIVATE ${_static_lib_trgt} )
205
217
list (APPEND _py_trgts ${python_module_name} )
206
218
207
219
set (_clang_prefix "" )
0 commit comments