@@ -164,14 +164,30 @@ endif()
164
164
add_subdirectory (third-party )
165
165
166
166
if (NOT DEFINED FXDIV_SOURCE_DIR )
167
- set (ORIGINAL_CMAKE_POSITION_INDEPENDENT_CODE_FLAG
168
- ${CMAKE_POSITION_INDEPENDENT_CODE}
167
+ include (GNUInstallDirs )
168
+ get_extra_cmake_args_for_external_project (FXDIV_EXTRA_CMAKE_ARGS )
169
+ set (FXDIV_SOURCE_DIR
170
+ "${CMAKE_CURRENT_LIST_DIR} /backends/xnnpack/third-party/FXdiv"
169
171
)
170
- set (FXDIV_SOURCE_DIR "backends/xnnpack/third-party/FXdiv" )
171
- add_subdirectory ("${FXDIV_SOURCE_DIR} " )
172
- set (CMAKE_POSITION_INDEPENDENT_CODE
173
- ${ORIGINAL_CMAKE_POSITION_INDEPENDENT_CODE_FLAG}
172
+ set (FXDIV_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR} /fxdiv" )
173
+ set (FXDIV_INSTALL_DIR "${FXDIV_BINARY_DIR} /install" )
174
+ set (FXDIV_HEADER "${FXDIV_INSTALL_DIR} /${CMAKE_INSTALL_INCLUDEDIR} /fxdiv.h" )
175
+ ExternalProject_Add (
176
+ fxdivExternalProject
177
+ SOURCE_DIR "${FXDIV_SOURCE_DIR} "
178
+ BINARY_DIR "${FXDIV_BINARY_DIR} "
179
+ INSTALL_DIR "${FXDIV_INSTALL_DIR} "
180
+ BUILD_BYPRODUCTS "${FXDIV_HEADER} "
181
+ CMAKE_ARGS "${FXDIV_EXTRA_CMAKE_ARGS} "
182
+ -D
183
+ CMAKE_INSTALL_PREFIX =<INSTALL_DIR>
184
+ -D
185
+ FXDIV_BUILD_TESTS=OFF
186
+ -D
187
+ FXDIV_BUILD_BENCHMARKS=OFF
174
188
)
189
+ add_library (fxdiv INTERFACE IMPORTED )
190
+ set_property (TARGET fxdiv PROPERTY IMPORTED_LOCATION "${FXDIV_HEADER} " )
175
191
endif ()
176
192
177
193
if (EXECUTORCH_BUILD_CPUINFO )
@@ -227,7 +243,6 @@ if(EXECUTORCH_BUILD_PTHREADPOOL)
227
243
set (PTHREADPOOL_SOURCE_DIR
228
244
"${CMAKE_CURRENT_LIST_DIR} /backends/xnnpack/third-party/pthreadpool"
229
245
)
230
- include (ExternalProject )
231
246
include (GNUInstallDirs )
232
247
set (PTHREADPOOL_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR} /pthreadpool" )
233
248
set (PTHREADPOOL_INSTALL_DIR "${PTHREADPOOL_BINARY_DIR} /install" )
0 commit comments