[fluidsynth] add Windows ARM support (#7837)

* [fluidsynth] add Windows ARM support

* [fluidysnth] use target architecture instead of triplet
This commit is contained in:
driver1998 2019-08-28 05:48:58 +08:00 committed by Curtis J Bezault
parent e64f2a493a
commit ef30526658
3 changed files with 38 additions and 3 deletions

View File

@ -1,4 +1,4 @@
Source: fluidsynth
Version: 2.0.5
Version: 2.0.5-1
Description: FluidSynth reads and handles MIDI events from the MIDI input device. It is the software analogue of a MIDI synthesizer. FluidSynth can also play midifiles using a Soundfont.
Build-Depends: glib
Build-Depends: glib

View File

@ -0,0 +1,34 @@
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)

View File

@ -7,11 +7,12 @@ vcpkg_from_github(
REF v2.0.5
SHA512 5344ac889d2927dc2465bae40096d756a9bf9b1100e287ba0621c55ffc76f9cb8fa763f6bc832d701cd0ad2997965cf344f58ae4b3dd445eb3491e3659c093d9
HEAD_REF master
PATCHES
force-x86-gentables.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA # Disable this option if project cannot be built with Ninja
OPTIONS -Denable-pkgconfig=0
)