diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f731632..226f408 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -368,10 +368,23 @@ endif ( MACOSX_FRAMEWORK )
 # ******* Auto Generated Lookup Tables ******
 
 include(ExternalProject)
-ExternalProject_Add(gentables
-    DOWNLOAD_COMMAND ""
-    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables
-    BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gentables
-    INSTALL_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gentables/make_tables.exe "${CMAKE_BINARY_DIR}/"
-)
+if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm OR VCPKG_TARGET_ARCHITECTURE STREQUAL arm64)
+  ExternalProject_Add(gentables
+      DOWNLOAD_COMMAND ""
+      SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables
+      BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gentables
+      CONFIGURE_COMMAND
+          "${CMAKE_COMMAND}" "${CMAKE_CURRENT_SOURCE_DIR}/gentables" -G "${CMAKE_GENERATOR}" -A Win32 -B "${CMAKE_CURRENT_BINARY_DIR}/gentables"
+      BUILD_COMMAND
+          "${CMAKE_COMMAND}" --build "${CMAKE_CURRENT_BINARY_DIR}/gentables"
+      INSTALL_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gentables/make_tables.exe "${CMAKE_BINARY_DIR}/"
+  )
+else()
+  ExternalProject_Add(gentables
+      DOWNLOAD_COMMAND ""
+      SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gentables
+      BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/gentables
+      INSTALL_COMMAND ${CMAKE_CURRENT_BINARY_DIR}/gentables/make_tables.exe "${CMAKE_BINARY_DIR}/"
+  )
+endif()
 add_dependencies(libfluidsynth-OBJ gentables)
