@@ -170,14 +170,30 @@ endif()
170
170
add_subdirectory (third-party )
171
171
172
172
if (NOT DEFINED FXDIV_SOURCE_DIR )
173
- set (ORIGINAL_CMAKE_POSITION_INDEPENDENT_CODE_FLAG
174
- ${CMAKE_POSITION_INDEPENDENT_CODE}
173
+ include (GNUInstallDirs )
174
+ get_extra_cmake_args_for_external_project (FXDIV_EXTRA_CMAKE_ARGS )
175
+ set (FXDIV_SOURCE_DIR
176
+ "${CMAKE_CURRENT_LIST_DIR} /backends/xnnpack/third-party/FXdiv"
175
177
)
176
- set (FXDIV_SOURCE_DIR "backends/xnnpack/third-party/FXdiv" )
177
- add_subdirectory ("${FXDIV_SOURCE_DIR} " )
178
- set (CMAKE_POSITION_INDEPENDENT_CODE
179
- ${ORIGINAL_CMAKE_POSITION_INDEPENDENT_CODE_FLAG}
178
+ set (FXDIV_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR} /fxdiv" )
179
+ set (FXDIV_INSTALL_DIR "${FXDIV_BINARY_DIR} /install" )
180
+ set (FXDIV_HEADER "${FXDIV_INSTALL_DIR} /${CMAKE_INSTALL_INCLUDEDIR} /fxdiv.h" )
181
+ ExternalProject_Add (
182
+ fxdivExternalProject
183
+ SOURCE_DIR "${FXDIV_SOURCE_DIR} "
184
+ BINARY_DIR "${FXDIV_BINARY_DIR} "
185
+ INSTALL_DIR "${FXDIV_INSTALL_DIR} "
186
+ BUILD_BYPRODUCTS "${FXDIV_HEADER} "
187
+ CMAKE_ARGS "${FXDIV_EXTRA_CMAKE_ARGS} "
188
+ -D
189
+ CMAKE_INSTALL_PREFIX =<INSTALL_DIR>
190
+ -D
191
+ FXDIV_BUILD_TESTS=OFF
192
+ -D
193
+ FXDIV_BUILD_BENCHMARKS=OFF
180
194
)
195
+ add_library (fxdiv INTERFACE IMPORTED )
196
+ set_property (TARGET fxdiv PROPERTY IMPORTED_LOCATION "${FXDIV_HEADER} " )
181
197
endif ()
182
198
183
199
if (EXECUTORCH_BUILD_CPUINFO )
@@ -233,7 +249,6 @@ if(EXECUTORCH_BUILD_PTHREADPOOL)
233
249
set (PTHREADPOOL_SOURCE_DIR
234
250
"${CMAKE_CURRENT_LIST_DIR} /backends/xnnpack/third-party/pthreadpool"
235
251
)
236
- include (ExternalProject )
237
252
include (GNUInstallDirs )
238
253
set (PTHREADPOOL_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR} /pthreadpool" )
239
254
set (PTHREADPOOL_INSTALL_DIR "${PTHREADPOOL_BINARY_DIR} /install" )
0 commit comments