aboutsummaryrefslogtreecommitdiff
path: root/ports/fluidsynth/force-x86-gentables.patch
blob: 7f909ec510d36c6cb6aa09d34c13a5d6bb4fce88 (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
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 356bb73..b4c43d7 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -410,14 +410,23 @@ set (GENTAB_BDIR ${CMAKE_CURRENT_BINARY_DIR}/gentables)
 # To fix cross-compiling fluidsynth from Win32 to ARM (using vcpkg), we need to pass the current generator
 # on to the external project, otherwise (for some unknown reason) the target compiler will be used rather
 # than the host compiler.
-ExternalProject_Add(gentables
-    DOWNLOAD_COMMAND ""
-    SOURCE_DIR ${GENTAB_SDIR}
-    BINARY_DIR ${GENTAB_BDIR}
-    CONFIGURE_COMMAND
-        "${CMAKE_COMMAND}" -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE} -G "${CMAKE_GENERATOR}" -B "${GENTAB_BDIR}" "${GENTAB_SDIR}"
-    BUILD_COMMAND
-        "${CMAKE_COMMAND}" --build "${GENTAB_BDIR}"
-    INSTALL_COMMAND ${GENTAB_BDIR}/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)