@@ -182,39 +182,49 @@ endif()
182
182
183
183
if (EXECUTORCH_BUILD_CPUINFO )
184
184
# --- cpuinfo
185
- set (ORIGINAL_CMAKE_POSITION_INDEPENDENT_CODE_FLAG
186
- ${CMAKE_POSITION_INDEPENDENT_CODE}
187
- )
188
- set (CMAKE_POSITION_INDEPENDENT_CODE ON )
189
- set (CPUINFO_SOURCE_DIR "backends/xnnpack/third-party/cpuinfo" )
190
- set (CPUINFO_BUILD_TOOLS
191
- OFF
192
- CACHE BOOL ""
193
- )
194
- set (CPUINFO_BUILD_UNIT_TESTS
195
- OFF
196
- CACHE BOOL ""
197
- )
198
- set (CPUINFO_BUILD_MOCK_TESTS
199
- OFF
200
- CACHE BOOL ""
201
- )
202
- set (CPUINFO_BUILD_BENCHMARKS
203
- OFF
204
- CACHE BOOL ""
185
+ set (CPUINFO_SOURCE_DIR
186
+ "${CMAKE_CURRENT_LIST_DIR} /backends/xnnpack/third-party/cpuinfo"
205
187
)
206
- set (CPUINFO_LIBRARY_TYPE
207
- "static"
208
- CACHE STRING ""
188
+ set (CPUINFO_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR} /cpuinfo" )
189
+ set (CPUINFO_INSTALL_DIR "${CPUINFO_BINARY_DIR} /install" )
190
+ set (CPUINFO_LIBRARY
191
+ "${CPUINFO_INSTALL_DIR} /${CMAKE_INSTALL_LIBDIR} /libcpuinfo.a"
209
192
)
210
- set (CPUINFO_LOG_LEVEL
211
- "error"
212
- CACHE STRING ""
193
+
194
+ get_extra_cmake_args_for_external_project (CPUINFO_EXTRA_CMAKE_ARGS )
195
+ ExternalProject_Add (
196
+ cpuinfoExternalProject
197
+ SOURCE_DIR "${CPUINFO_SOURCE_DIR} "
198
+ BINARY_DIR "${CPUINFO_BINARY_DIR} "
199
+ INSTALL_DIR "${CPUINFO_INSTALL_DIR} "
200
+ BUILD_BYPRODUCTS "${CPUINFO_LIBRARY} "
201
+ CMAKE_ARGS "${CPUINFO_EXTRA_CMAKE_ARGS} "
202
+ -D
203
+ CMAKE_POSITION_INDEPENDENT_CODE =ON
204
+ -D
205
+ CPUINFO_BUILD_TOOLS=OFF
206
+ -D
207
+ CPUINFO_BUILD_UNIT_TESTS=OFF
208
+ -D
209
+ CPUINFO_BUILD_MOCK_TESTS=OFF
210
+ -D
211
+ CPUINFO_BUILD_BENCHMARKS=OFF
212
+ -D
213
+ CPUINFO_LIBRARY_TYPE=static
214
+ -D
215
+ CPUINFO_LOG_LEVEL=error
216
+ -D
217
+ CMAKE_INSTALL_PREFIX =<INSTALL_DIR>
218
+ -D
219
+ CLOG_SOURCE_DIR = "${CPUINFO_SOURCE_DIR} /deps/clog"
213
220
)
214
- set (CLOG_SOURCE_DIR "${CPUINFO_SOURCE_DIR} /deps/clog" )
215
- add_subdirectory ("${CPUINFO_SOURCE_DIR} " )
216
- set (CMAKE_POSITION_INDEPENDENT_CODE
217
- ${ORIGINAL_CMAKE_POSITION_INDEPENDENT_CODE_FLAG}
221
+ add_library (cpuinfo STATIC IMPORTED )
222
+ set_property (TARGET cpuinfo PROPERTY IMPORTED_LOCATION "${CPUINFO_LIBRARY} " )
223
+ add_dependencies (cpuinfo cpuinfoExternalProject )
224
+ # Trailing slash matters here! "Move everything from the temporary pthreadpool
225
+ # install directory to the proper install directory."
226
+ install (DIRECTORY "${CPUINFO_INSTALL_DIR} /"
227
+ DESTINATION "${CMAKE_INSTALL_PREFIX} "
218
228
)
219
229
endif ()
220
230
0 commit comments