vcpkg/ports/fluidsynth/force-x86-gentables.patch

39 lines
1.9 KiB
Diff

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)