diff --git a/premake5.lua b/premake5.lua index 81e2e5b64..accb8f91e 100644 --- a/premake5.lua +++ b/premake5.lua @@ -296,6 +296,8 @@ workspace("xenia") filter("architecture:x86_64") include("src/xenia/cpu/backend/x64") + filter("architecture:ARM64") + include("src/xenia/cpu/backend/a64") filter({}) include("src/xenia/debug/ui") diff --git a/src/xenia/app/premake5.lua b/src/xenia/app/premake5.lua index b63675682..eb9ded7da 100644 --- a/src/xenia/app/premake5.lua +++ b/src/xenia/app/premake5.lua @@ -73,6 +73,11 @@ project("xenia-app") "xenia-cpu-backend-x64", }) + filter("architecture:ARM64") + links({ + "xenia-cpu-backend-a64", + }) + -- TODO(Triang3l): The emulator itself on Android. filter("platforms:not Android-*") files({ diff --git a/src/xenia/cpu/backend/a64/premake5.lua b/src/xenia/cpu/backend/a64/premake5.lua new file mode 100644 index 000000000..de00dc64c --- /dev/null +++ b/src/xenia/cpu/backend/a64/premake5.lua @@ -0,0 +1,20 @@ +project_root = "../../../../.." +include(project_root.."/tools/build") + +group("src") +project("xenia-cpu-backend-a64") + uuid("495f3f3e-f5e8-489a-bd0f-289d0495bc08") + filter("architecture:ARM64") + kind("StaticLib") + filter("architecture:not ARM64") + kind("None") + filter({}) + language("C++") + links({ + "fmt", + "xenia-base", + "xenia-cpu", + }) + defines({ + }) + local_platform_files() diff --git a/src/xenia/cpu/ppc/testing/premake5.lua b/src/xenia/cpu/ppc/testing/premake5.lua index 66f8bf1ba..96afb593e 100644 --- a/src/xenia/cpu/ppc/testing/premake5.lua +++ b/src/xenia/cpu/ppc/testing/premake5.lua @@ -27,6 +27,10 @@ project("xenia-cpu-ppc-tests") links({ "xenia-cpu-backend-x64", }) + filter("architecture:ARM64") + links({ + "xenia-cpu-backend-a64", + }) filter("platforms:Windows-*") debugdir(project_root) debugargs({ diff --git a/src/xenia/cpu/testing/premake5.lua b/src/xenia/cpu/testing/premake5.lua index 5e70fb3f8..6cef3b744 100644 --- a/src/xenia/cpu/testing/premake5.lua +++ b/src/xenia/cpu/testing/premake5.lua @@ -19,6 +19,10 @@ test_suite("xenia-cpu-tests", project_root, ".", { links = { "xenia-cpu-backend-x64", }, + filter = 'architecture:ARM64', + links = { + "xenia-cpu-backend-a64", + }, } }, }) diff --git a/src/xenia/gpu/d3d12/premake5.lua b/src/xenia/gpu/d3d12/premake5.lua index f0ee8cc02..92633f74c 100644 --- a/src/xenia/gpu/d3d12/premake5.lua +++ b/src/xenia/gpu/d3d12/premake5.lua @@ -70,6 +70,11 @@ project("xenia-gpu-d3d12-trace-viewer") "xenia-cpu-backend-x64", }) + filter("architecture:ARM64") + links({ + "xenia-cpu-backend-a64", + }) + group("src") project("xenia-gpu-d3d12-trace-dump") uuid("686b859c-0046-44c4-a02c-41fc3fb75698") @@ -120,3 +125,8 @@ project("xenia-gpu-d3d12-trace-dump") links({ "xenia-cpu-backend-x64", }) + + filter("architecture:ARM64") + links({ + "xenia-cpu-backend-a64", + }) diff --git a/src/xenia/gpu/vulkan/premake5.lua b/src/xenia/gpu/vulkan/premake5.lua index fe51bcd2d..41f862aeb 100644 --- a/src/xenia/gpu/vulkan/premake5.lua +++ b/src/xenia/gpu/vulkan/premake5.lua @@ -68,6 +68,11 @@ project("xenia-gpu-vulkan-trace-viewer") "xenia-cpu-backend-x64", }) + filter("architecture:ARM64") + links({ + "xenia-cpu-backend-a64", + }) + filter("platforms:Linux") links({ "X11", @@ -131,6 +136,11 @@ project("xenia-gpu-vulkan-trace-dump") "xenia-cpu-backend-x64", }) + filter("architecture:ARM64") + links({ + "xenia-cpu-backend-a64", + }) + filter("platforms:Linux") links({ "X11",