aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libtorch/fix-cmake.patch
blob: 436efdebedfc19f9cda0f6091beb7102a518ddab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 07edb30..1ca26e3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1247,8 +1247,7 @@ if(USE_MIMALLOC)
   set(MI_BUILD_OBJECT OFF)
   set(MI_BUILD_TESTS OFF)
   add_definitions(-DUSE_MIMALLOC)
-  add_subdirectory(third_party/mimalloc)
-  include_directories(third_party/mimalloc/include)
+  find_package(mimalloc CONFIG REQUIRED)
 endif()
 
 if(USE_MIMALLOC AND USE_MIMALLOC_ON_MKL)
@@ -1316,10 +1315,7 @@ if(BUILD_SHARED_LIBS)
     DIRECTORY ${PROJECT_SOURCE_DIR}/cmake/Modules_CUDA_fix
     DESTINATION share/cmake/Caffe2/
     COMPONENT dev)
-  install(
-    FILES ${PROJECT_SOURCE_DIR}/cmake/Modules/FindCUDAToolkit.cmake
-    DESTINATION share/cmake/Caffe2/
-    COMPONENT dev)
+ 
   install(
     FILES ${PROJECT_SOURCE_DIR}/cmake/Modules/FindCUSPARSELT.cmake
     DESTINATION share/cmake/Caffe2/
diff --git a/aten/src/ATen/CMakeLists.txt b/aten/src/ATen/CMakeLists.txt
index 085af37..1c61f27 100644
--- a/aten/src/ATen/CMakeLists.txt
+++ b/aten/src/ATen/CMakeLists.txt
@@ -515,7 +515,7 @@ if(NOT EMSCRIPTEN AND NOT INTERN_BUILD_MOBILE)
     list(APPEND ATen_THIRD_PARTY_INCLUDE ${CMAKE_BINARY_DIR}/include)
     link_directories(${CMAKE_BINARY_DIR}/sleef/lib)
   else()
-    add_library(sleef SHARED IMPORTED)
+    add_library(sleef UNKNOWN IMPORTED)
     find_library(SLEEF_LIBRARY sleef)
     if(NOT SLEEF_LIBRARY)
       message(FATAL_ERROR "Cannot find sleef")
@@ -523,7 +523,7 @@ if(NOT EMSCRIPTEN AND NOT INTERN_BUILD_MOBILE)
     message("Found sleef: ${SLEEF_LIBRARY}")
     set_target_properties(sleef PROPERTIES IMPORTED_LOCATION "${SLEEF_LIBRARY}")
   endif()
-  list(APPEND ATen_CPU_DEPENDENCY_LIBS sleef)
+  list(APPEND ATen_CPU_DEPENDENCY_LIBS ${SLEEF_LIBRARY})
 
   if(NOT MSVC)
     set(CMAKE_C_FLAGS_DEBUG ${OLD_CMAKE_C_FLAGS_DEBUG})
@@ -534,8 +534,8 @@ if(USE_CUDA AND NOT USE_ROCM)
   add_definitions(-DCUTLASS_ENABLE_TENSOR_CORE_MMA=1)
   add_definitions(-DCUTLASS_ENABLE_SM90_EXTENDED_MMA_SHAPES=1)
   add_definitions(-DCUTE_SM90_EXTENDED_MMA_SHAPES_ENABLED)
-  list(APPEND ATen_CUDA_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party/cutlass/include)
-  list(APPEND ATen_CUDA_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/../../../third_party/cutlass/tools/util/include)
+  find_package(NvidiaCutlass CONFIG REQUIRED)
+  list(APPEND ATen_CUDA_DEPENDENCY_LIBS nvidia::cutlass::cutlass)
   if($ENV{ATEN_STATIC_CUDA})
     list(APPEND ATen_CUDA_DEPENDENCY_LIBS
       ${CUDA_LIBRARIES}
diff --git a/c10/CMakeLists.txt b/c10/CMakeLists.txt
index 34577ca..5462cfe 100644
--- a/c10/CMakeLists.txt
+++ b/c10/CMakeLists.txt
@@ -121,8 +121,7 @@ if(NOT BUILD_LIBTORCHLESS)
   endif()
 
   if(USE_MIMALLOC)
-    target_link_libraries(c10 PRIVATE "mimalloc-static")
-    add_dependencies(c10 mimalloc-static)
+    target_link_libraries(c10 PRIVATE "mimalloc")
   endif()
 
   if(LINUX)
@@ -163,7 +162,7 @@ if(NOT BUILD_LIBTORCHLESS)
   # Note: for now, we will put all export path into one single Caffe2Targets group
   # to deal with the cmake deployment need. Inside the Caffe2Targets set, the
   # individual libraries like libc10.so and libcaffe2.so are still self-contained.
-  install(TARGETS c10 EXPORT Caffe2Targets DESTINATION lib)
+  install(TARGETS c10 EXPORT Caffe2Targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
 endif()
 
 install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
@@ -173,5 +172,5 @@ install(FILES ${CMAKE_BINARY_DIR}/c10/macros/cmake_macros.h
         DESTINATION include/c10/macros)
 
 if(MSVC AND C10_BUILD_SHARED_LIBS)
-  install(FILES $<TARGET_PDB_FILE:c10> DESTINATION lib OPTIONAL)
+  install(FILES $<TARGET_PDB_FILE:c10> DESTINATION bin OPTIONAL)
 endif()
diff --git a/c10/cuda/CMakeLists.txt b/c10/cuda/CMakeLists.txt
index 3327dab..4a0476f 100644
--- a/c10/cuda/CMakeLists.txt
+++ b/c10/cuda/CMakeLists.txt
@@ -82,7 +82,7 @@ if(NOT BUILD_LIBTORCHLESS)
 # Note: for now, we will put all export path into one single Caffe2Targets group
 # to deal with the cmake deployment need. Inside the Caffe2Targets set, the
 # individual libraries like libc10.so and libcaffe2.so are still self-contained.
-install(TARGETS c10_cuda EXPORT Caffe2Targets DESTINATION lib)
+install(TARGETS c10_cuda EXPORT Caffe2Targets  RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}")
 
 endif()
 
diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt
index d2d23b7..51930dd 100644
--- a/caffe2/CMakeLists.txt
+++ b/caffe2/CMakeLists.txt
@@ -86,7 +86,7 @@ endif()
 # ---[ Caffe2 build
 # Note: the folders that are being commented out have not been properly
 # addressed yet.
-
+if(FALSE)
 if(NOT MSVC AND USE_XNNPACK)
   if(NOT TARGET fxdiv)
     set(FXDIV_BUILD_TESTS OFF CACHE BOOL "")
@@ -96,6 +96,7 @@ if(NOT MSVC AND USE_XNNPACK)
       "${CMAKE_BINARY_DIR}/FXdiv")
   endif()
 endif()
+endif()
 
 add_subdirectory(core)
 add_subdirectory(serialize)
@@ -557,7 +558,7 @@ if(USE_CUDA)
   endif()
 
   target_link_libraries(caffe2_nvrtc PRIVATE caffe2::nvrtc ${DELAY_LOAD_FLAGS})
-  install(TARGETS caffe2_nvrtc DESTINATION "${TORCH_INSTALL_LIB_DIR}")
+  install(TARGETS caffe2_nvrtc RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}")
   if(USE_NCCL)
     list(APPEND Caffe2_GPU_SRCS
       ${TORCH_SRC_DIR}/csrc/cuda/nccl.cpp)
@@ -1134,7 +1135,7 @@ if(USE_XPU)
   endif()
 endif()
 
-if(NOT MSVC AND USE_XNNPACK)
+if(FALSE)
   TARGET_LINK_LIBRARIES(torch_cpu PRIVATE fxdiv)
 endif()
 
@@ -1251,11 +1252,11 @@ if(USE_KINETO)
     ${TORCH_ROOT}/third_party/kineto/libkineto/src)
 endif()
 
-target_include_directories(torch_cpu PRIVATE
-  ${TORCH_ROOT}/third_party/cpp-httplib)
+target_link_libraries(torch_cpu PRIVATE httplib::httplib nlohmann_json::nlohmann_json)
+if(APPLE)
+  target_link_libraries(torch_cpu PUBLIC "-framework CoreFoundation" "-framework CFNetwork")
 
-target_include_directories(torch_cpu PRIVATE
-  ${TORCH_ROOT}/third_party/nlohmann/include)
+endif()
 
 install(DIRECTORY "${TORCH_SRC_DIR}/csrc"
   DESTINATION ${TORCH_INSTALL_INCLUDE_DIR}/torch
@@ -1536,17 +1537,17 @@ endif()
 
 caffe2_interface_library(torch torch_library)
 
-install(TARGETS torch_cpu torch_cpu_library EXPORT Caffe2Targets DESTINATION "${TORCH_INSTALL_LIB_DIR}")
+install(TARGETS torch_cpu torch_cpu_library EXPORT Caffe2Targets RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}")
 
 if(USE_CUDA)
-  install(TARGETS torch_cuda torch_cuda_library EXPORT Caffe2Targets DESTINATION "${TORCH_INSTALL_LIB_DIR}")
+  install(TARGETS torch_cuda torch_cuda_library EXPORT Caffe2Targets RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}")
 elseif(USE_ROCM)
-  install(TARGETS torch_hip torch_hip_library EXPORT Caffe2Targets DESTINATION "${TORCH_INSTALL_LIB_DIR}")
+  install(TARGETS torch_hip torch_hip_library EXPORT Caffe2Targets RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}")
 elseif(USE_XPU)
-  install(TARGETS torch_xpu torch_xpu_library EXPORT Caffe2Targets DESTINATION "${TORCH_INSTALL_LIB_DIR}")
+  install(TARGETS torch_xpu torch_xpu_library EXPORT Caffe2Targets RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}")
 endif()
 
-install(TARGETS torch torch_library EXPORT Caffe2Targets DESTINATION "${TORCH_INSTALL_LIB_DIR}")
+install(TARGETS torch torch_library EXPORT Caffe2Targets RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}")
 
 target_link_libraries(torch PUBLIC torch_cpu_library)
 
@@ -1685,7 +1686,7 @@ if(BUILD_SHARED_LIBS)
       target_link_libraries(torch_global_deps torch::nvtoolsext)
     endif()
   endif()
-  install(TARGETS torch_global_deps DESTINATION "${TORCH_INSTALL_LIB_DIR}")
+  install(TARGETS torch_global_deps RUNTIME DESTINATION "${TORCH_INSTALL_BIN_DIR}" LIBRARY DESTINATION "${TORCH_INSTALL_LIB_DIR}" ARCHIVE DESTINATION "${TORCH_INSTALL_LIB_DIR}")
 endif()
 
 # ---[ Caffe2 HIP sources.
diff --git a/cmake/Codegen.cmake b/cmake/Codegen.cmake
index 724d993..f743939 100644
--- a/cmake/Codegen.cmake
+++ b/cmake/Codegen.cmake
@@ -36,11 +36,13 @@ endfunction()
 ################################################################################
 
 # -- [ Deterine commit hash
-execute_process(
-    COMMAND "${Python_EXECUTABLE}" -c "from tools.generate_torch_version import get_sha;print(get_sha('.'), end='')"
-    OUTPUT_VARIABLE COMMIT_SHA
-    WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/..
-)
+if(NOT DEFINED COMMIT_SHA) 
+  execute_process(
+      COMMAND "${Python_EXECUTABLE}" -c "from tools.generate_torch_version import get_sha;print(get_sha('.'), end='')"
+      OUTPUT_VARIABLE COMMIT_SHA
+      WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/..
+  )
+endif()
 
 # ---[ Write the macros file
 configure_file(
diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake
index 5227204..9acaf75 100644
--- a/cmake/Dependencies.cmake
+++ b/cmake/Dependencies.cmake
@@ -46,6 +46,7 @@ if(USE_CUDA)
     # A helper variable recording the list of Caffe2 dependent libraries
     # torch::cudart is dealt with separately, due to CUDA_ADD_LIBRARY
     # design reason (it adds CUDA_LIBRARIES itself).
+    find_package(NvidiaCutlass CONFIG REQUIRED)
     set(Caffe2_PUBLIC_CUDA_DEPENDENCY_LIBS )
     if(NOT CAFFE2_USE_NVRTC)
       caffe2_update_option(USE_NVRTC OFF)
@@ -378,6 +379,9 @@ if(INTERN_BUILD_MOBILE OR NOT DISABLE_NNPACK_AND_FAMILY)
   set(USE_PTHREADPOOL ON CACHE BOOL "" FORCE)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_PTHREADPOOL")
 
+  find_package(unofficial-pthreadpool CONFIG REQUIRED)
+  add_library(pthreadpool ALIAS unofficial::pthreadpool)
+
   if(NOT TARGET pthreadpool)
     if(USE_SYSTEM_PTHREADPOOL)
       add_library(pthreadpool SHARED IMPORTED)
@@ -412,6 +416,9 @@ endif()
 if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "^(s390x|ppc64le)$")
   # ---[ Caffe2 uses cpuinfo library in the thread pool
   # ---[ But it doesn't support s390x/powerpc and thus not used on s390x/powerpc
+  find_package(cpuinfo CONFIG REQUIRED)
+  add_library(cpuinfo ALIAS cpuinfo::cpuinfo)
+  add_library(clog ALIAS cpuinfo::clog)
   if(NOT TARGET cpuinfo AND USE_SYSTEM_CPUINFO)
     add_library(cpuinfo SHARED IMPORTED)
     find_library(CPUINFO_LIBRARY cpuinfo)
@@ -476,8 +483,10 @@ endif()
 
 # ---[ NNPACK
 if(USE_NNPACK)
-  include(${CMAKE_CURRENT_LIST_DIR}/External/nnpack.cmake)
-  if(NNPACK_FOUND)
+
+  find_package(unofficial-nnpack CONFIG REQUIRED)
+  add_library(nnpack ALIAS unofficial::nnpack::nnpack)
+  if(nnpack_FOUND)
     if(TARGET nnpack)
       # ---[ NNPACK is being built together with Caffe2: explicitly specify dependency
       list(APPEND Caffe2_DEPENDENCY_LIBS nnpack)
@@ -492,6 +501,12 @@ if(USE_NNPACK)
 endif()
 
 # ---[ XNNPACK
+if(USE_XNNPACK)
+  find_package(unofficial-xnnpack CONFIG REQUIRED)
+  add_library(XNNPACK ALIAS unofficial::xnnpack::XNNPACK)
+  add_library(microkernels-prod ALIAS unofficial::xnnpack::microkernels-prod)
+  list(APPEND Caffe2_DEPENDENCY_LIBS XNNPACK microkernels-prod)
+endif()
 if(USE_XNNPACK AND NOT USE_SYSTEM_XNNPACK)
   if(NOT DEFINED XNNPACK_SOURCE_DIR)
     set(XNNPACK_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/XNNPACK" CACHE STRING "XNNPACK source directory")
@@ -702,7 +717,7 @@ if(BUILD_TEST OR BUILD_MOBILE_BENCHMARK OR BUILD_MOBILE_TEST)
 endif()
 
 # ---[ FBGEMM
-if(USE_FBGEMM)
+if(FALSE)
   set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
   if(NOT DEFINED FBGEMM_SOURCE_DIR)
     set(FBGEMM_SOURCE_DIR "${CAFFE2_THIRD_PARTY_ROOT}/fbgemm" CACHE STRING "FBGEMM source directory")
@@ -755,6 +770,9 @@ endif()
 
 if(USE_FBGEMM)
   caffe2_update_option(USE_FBGEMM ON)
+  find_package(fbgemmLibrary REQUIRED)
+  list(APPEND Caffe2_DEPENDENCY_LIBS fbgemm)
+
 else()
   caffe2_update_option(USE_FBGEMM OFF)
   message(WARNING
@@ -804,6 +822,8 @@ if(USE_ITT)
 endif()
 
 # ---[ Caffe2 depends on FP16 library for half-precision conversions
+find_package(unofficial-fp16 CONFIG REQUIRED)
+add_library(fp16 ALIAS unofficial::fp16::fp16)
 if(NOT TARGET fp16 AND NOT USE_SYSTEM_FP16)
   set(CAFFE2_THIRD_PARTY_ROOT "${PROJECT_SOURCE_DIR}/third_party")
   # PSIMD is required by FP16
@@ -1155,6 +1175,7 @@ if(USE_DISTRIBUTED AND USE_TENSORPIPE)
   if(MSVC)
     message(WARNING "Tensorpipe cannot be used on Windows.")
   else()
+    if(FALSE)
     if(USE_CUDA)
       set(TP_USE_CUDA ON CACHE BOOL "" FORCE)
       set(TP_ENABLE_CUDA_IPC ON CACHE BOOL "" FORCE)
@@ -1177,6 +1198,9 @@ if(USE_DISTRIBUTED AND USE_TENSORPIPE)
     if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0.0")
       unset(CMAKE_POLICY_VERSION_MINIMUM)
     endif()
+    endif()
+    find_package(unofficial-tensorpipe CONFIG REQUIRED)
+    add_library(tensorpipe ALIAS unofficial::tensorpipe::tensorpipe)
 
     list(APPEND Caffe2_DEPENDENCY_LIBS tensorpipe)
     list(APPEND Caffe2_DEPENDENCY_LIBS nlohmann)
@@ -1329,7 +1353,7 @@ if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO AND NOT INTERN_DISABLE_ONNX)
       caffe2_interface_library(onnx onnx_library)
     endif()
     list(APPEND Caffe2_DEPENDENCY_WHOLE_LINK_LIBS onnx_library)
-  else()
+  elseif(FALSE)
     add_library(onnx SHARED IMPORTED)
     find_library(ONNX_LIBRARY onnx)
     if(NOT ONNX_LIBRARY)
@@ -1345,6 +1369,8 @@ if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO AND NOT INTERN_DISABLE_ONNX)
     message("-- Found onnx: ${ONNX_LIBRARY} ${ONNX_PROTO_LIBRARY}")
     list(APPEND Caffe2_DEPENDENCY_LIBS onnx_proto onnx)
   endif()
+  find_package(ONNX CONFIG REQUIRED)
+  list(APPEND Caffe2_DEPENDENCY_LIBS ONNX::onnx ONNX::onnx_proto)
   # Recover the build shared libs option.
   set(BUILD_SHARED_LIBS ${TEMP_BUILD_SHARED_LIBS})
 endif()
@@ -1515,6 +1541,9 @@ if(NOT INTERN_BUILD_MOBILE)
   endif()
 
   if(USE_KLEIDIAI)
+    find_package(KleidiAI CONFIG REQUIRED)
+    list(APPEND Caffe2_DEPENDENCY_LIBS KleidiAI::kleidiai)
+  elseif(FALSE)
     if(CMAKE_C_COMPILER_ID STREQUAL "Clang" AND CMAKE_C_COMPILER_VERSION VERSION_LESS "11" )
         message(WARNING "KleidiAI: Using non-supported Clang version. Expected 11 or newer, received ${CMAKE_C_COMPILER_VERSION}.")
     endif()
@@ -1586,6 +1615,7 @@ endif()
 #
 set(TEMP_BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS})
 set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE)
+if(0)
 add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/fmt)
 
 # Disable compiler feature checks for `fmt`.
@@ -1596,7 +1626,8 @@ add_subdirectory(${PROJECT_SOURCE_DIR}/third_party/fmt)
 # `fmt` is compatible with a superset of the compilers that PyTorch is, it
 # shouldn't be too bad to just disable the checks.
 set_target_properties(fmt-header-only PROPERTIES INTERFACE_COMPILE_FEATURES "")
-
+endif()
+find_package(fmt REQUIRED)
 list(APPEND Caffe2_DEPENDENCY_LIBS fmt::fmt-header-only)
 set(BUILD_SHARED_LIBS ${TEMP_BUILD_SHARED_LIBS} CACHE BOOL "Build shared libs" FORCE)
 
@@ -1745,13 +1776,10 @@ if(USE_KINETO)
   endif()
 endif()
 
-# Include google/FlatBuffers
-include(${CMAKE_CURRENT_LIST_DIR}/FlatBuffers.cmake)
 
-# Include cpp-httplib
-add_library(httplib INTERFACE IMPORTED)
-target_include_directories(httplib SYSTEM INTERFACE ${PROJECT_SOURCE_DIR}/third_party/cpp-httplib)
+find_package(FlatBuffers REQUIRED)
+add_library(flatbuffers ALIAS flatbuffers::flatbuffers)
+find_package(httplib REQUIRED)
+find_package(nlohmann_json REQUIRED)
+add_library(nlohmann ALIAS nlohmann_json)
 
-# Include nlohmann-json
-add_library(nlohmann INTERFACE IMPORTED)
-include_directories(nlohmann SYSTEM INTERFACE ${PROJECT_SOURCE_DIR}/third_party/nlohmann/include)
diff --git a/torch/CMakeLists.txt b/torch/CMakeLists.txt
index 8b8ebdc..1777c0e 100644
--- a/torch/CMakeLists.txt
+++ b/torch/CMakeLists.txt
@@ -59,18 +59,7 @@ set(TORCH_PYTHON_INCLUDE_DIRECTORIES
     ${CMAKE_BINARY_DIR}
     ${CMAKE_BINARY_DIR}/aten/src
     ${CMAKE_BINARY_DIR}/caffe2/aten/src
-    ${CMAKE_BINARY_DIR}/third_party
-    ${CMAKE_BINARY_DIR}/third_party/onnx
-
     ${TORCH_ROOT}/third_party/valgrind-headers
-
-    ${TORCH_ROOT}/third_party/gloo
-    ${TORCH_ROOT}/third_party/onnx
-    ${TORCH_ROOT}/third_party/flatbuffers/include
-    ${TORCH_ROOT}/third_party/kineto/libkineto/include
-    ${TORCH_ROOT}/third_party/cpp-httplib
-    ${TORCH_ROOT}/third_party/nlohmann/include
-
     ${TORCH_SRC_DIR}/csrc
     ${TORCH_SRC_DIR}/csrc/api/include
     ${TORCH_SRC_DIR}/lib