[cmake, arm] fix windows/arm64 build
Signed-off-by: crueter <crueter@crueter.xyz>
This commit is contained in:
parent
58b4ace06e
commit
575fc4e26c
3 changed files with 20 additions and 3 deletions
|
@ -366,6 +366,12 @@ if (YUZU_USE_CPM)
|
||||||
|
|
||||||
# boost
|
# boost
|
||||||
set(BOOST_INCLUDE_LIBRARIES algorithm icl pool container heap asio headers process filesystem crc variant)
|
set(BOOST_INCLUDE_LIBRARIES algorithm icl pool container heap asio headers process filesystem crc variant)
|
||||||
|
if (MSVC AND ARCHITECURE_arm64)
|
||||||
|
set(BOOST_USE_PREBUILT OFF)
|
||||||
|
set(BOOST_CONTEXT_ASM OFF)
|
||||||
|
set(BOOST_B2_OPTIONS=address-model=64 architecture=arm target-os=windows toolset=msvc)
|
||||||
|
endif()
|
||||||
|
|
||||||
AddJsonPackage(boost)
|
AddJsonPackage(boost)
|
||||||
|
|
||||||
# really annoying thing where boost::headers doesn't work with cpm
|
# really annoying thing where boost::headers doesn't work with cpm
|
||||||
|
|
|
@ -11,10 +11,17 @@ function(download_bundled_external remote_path lib_name cpm_key prefix_var versi
|
||||||
set(package_repo "no_platform")
|
set(package_repo "no_platform")
|
||||||
set(package_extension "no_platform")
|
set(package_extension "no_platform")
|
||||||
|
|
||||||
|
# TODO(crueter): Need to convert ffmpeg to a CI.
|
||||||
if (WIN32 OR FORCE_WIN_ARCHIVES)
|
if (WIN32 OR FORCE_WIN_ARCHIVES)
|
||||||
set(CACHE_KEY "windows")
|
if (ARCHITECTURE_arm64)
|
||||||
set(package_repo "ext-windows-bin/raw/master/")
|
set(CACHE_KEY "windows")
|
||||||
set(package_extension ".7z")
|
set(package_repo "ext-windows-arm64-bin/raw/master/")
|
||||||
|
set(package_extension ".zip")
|
||||||
|
elseif(ARCHITECTURE_x86_64)
|
||||||
|
set(CACHE_KEY "windows")
|
||||||
|
set(package_repo "ext-windows-bin/raw/master/")
|
||||||
|
set(package_extension ".7z")
|
||||||
|
endif()
|
||||||
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||||
set(CACHE_KEY "linux")
|
set(CACHE_KEY "linux")
|
||||||
set(package_repo "ext-linux-bin/raw/master/")
|
set(package_repo "ext-linux-bin/raw/master/")
|
||||||
|
|
|
@ -58,6 +58,8 @@ CallbackOrAccessOneWord DynarmicCP15::CompileSendOneWord(bool two, unsigned opc1
|
||||||
_mm_lfence();
|
_mm_lfence();
|
||||||
#elif defined(ARCHITECTURE_x86_64)
|
#elif defined(ARCHITECTURE_x86_64)
|
||||||
asm volatile("mfence\n\tlfence\n\t" : : : "memory");
|
asm volatile("mfence\n\tlfence\n\t" : : : "memory");
|
||||||
|
#elif defined(_MSC_VER) && defined(ARCHITECTURE_arm64)
|
||||||
|
_Memory_barrier();
|
||||||
#elif defined(ARCHITECTURE_arm64)
|
#elif defined(ARCHITECTURE_arm64)
|
||||||
asm volatile("dsb sy\n\t" : : : "memory");
|
asm volatile("dsb sy\n\t" : : : "memory");
|
||||||
#else
|
#else
|
||||||
|
@ -75,6 +77,8 @@ CallbackOrAccessOneWord DynarmicCP15::CompileSendOneWord(bool two, unsigned opc1
|
||||||
_mm_mfence();
|
_mm_mfence();
|
||||||
#elif defined(ARCHITECTURE_x86_64)
|
#elif defined(ARCHITECTURE_x86_64)
|
||||||
asm volatile("mfence\n\t" : : : "memory");
|
asm volatile("mfence\n\t" : : : "memory");
|
||||||
|
#elif defined(_MSC_VER) && defined(ARCHITECTURE_arm64)
|
||||||
|
_Memory_barrier();
|
||||||
#elif defined(ARCHITECTURE_arm64)
|
#elif defined(ARCHITECTURE_arm64)
|
||||||
asm volatile("dmb sy\n\t" : : : "memory");
|
asm volatile("dmb sy\n\t" : : : "memory");
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue