Use the torch-cli target instead of a second Torch build.

Torch is added with add_subdirectory() and linked into the game, then built all
over again through ExternalProject purely to obtain the standalone executable
that packs assets. That second build is configured from scratch: it does not
inherit the options this project sets (so it re-enables the game factories that
were turned off here) and it re-resolves every dependency, fetching them over
the network at build time.

tools/Torch now builds that executable as torch-cli beside the library, so
refer to it directly.

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -607,21 +607,13 @@
 endif()
 
 if(NOT CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch")
-include(ExternalProject)
-ExternalProject_Add(TorchExternal
-	PREFIX TorchExternal
-    SOURCE_DIR ${CMAKE_SOURCE_DIR}/tools/Torch
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/Torch
-)
-ExternalProject_Get_Property(TorchExternal install_dir)
-if (MSVC)
-  set(TORCH_EXECUTABLE ${install_dir}/src/TorchExternal-build/$<CONFIGURATION>/torch)
-else()
-  set(TORCH_EXECUTABLE ${install_dir}/src/TorchExternal-build/torch)
-endif()
+# tools/Torch already builds the torch-cli executable next to the library it
+# is linked against, so use that rather than configuring and building the whole
+# of Torch a second time.
+set(TORCH_EXECUTABLE $<TARGET_FILE:torch-cli>)
 add_custom_target(
     ExtractAssets
-    DEPENDS TorchExternal
+    DEPENDS torch-cli
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
     COMMAND ${TORCH_EXECUTABLE} o2r baserom.z64
     COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/sf64.o2r" "${CMAKE_BINARY_DIR}/sf64.o2r"
@@ -629,7 +621,7 @@
 
 add_custom_target(
     GeneratePortO2R
-    DEPENDS TorchExternal
+    DEPENDS torch-cli
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
     COMMAND ${TORCH_EXECUTABLE} pack port starship.o2r o2r
     COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/starship.o2r" "${CMAKE_BINARY_DIR}/starship.o2r"
