diff --git a/.github/workflows/Windows_build.yml b/.github/workflows/Windows_build.yml index 46bf9e626..3622da815 100644 --- a/.github/workflows/Windows_build.yml +++ b/.github/workflows/Windows_build.yml @@ -69,9 +69,9 @@ jobs: with: fetch-depth: 0 - name: Setup - run: python xenia-build.py setup + run: git submodule update --init --depth=1 -j $env:NUMBER_OF_PROCESSORS (Select-String -CaseSensitive '(?<=path = )(?!third_party\/(FidelityFX-(CAS|FSR)|premake-(androidndk|cmake|export-compile-commands))).+' .gitmodules).Matches.Value - name: Build - run: python xenia-build.py build --no_premake --config=Release --target=src\xenia-app + run: python xenia-build.py build --config=Release --target=src\xenia-app - name: Prepare artifacts id: prepare_artifacts run: | diff --git a/premake5.lua b/premake5.lua index 7a8f08b48..b3b2d9c16 100644 --- a/premake5.lua +++ b/premake5.lua @@ -1,7 +1,13 @@ include("tools/build") -require("third_party/premake-export-compile-commands/export-compile-commands") -require("third_party/premake-androidndk/androidndk") -require("third_party/premake-cmake/cmake") +if _ACTION == "export-compile-commands" then + require("third_party/premake-export-compile-commands/export-compile-commands") +end +if os.istarget("android") then + require("third_party/premake-androidndk/androidndk") +end +if _ACTION == "cmake" then + require("third_party/premake-cmake/cmake") +end location(build_root) targetdir(build_bin) @@ -191,22 +197,24 @@ filter({"language:C", "toolset:clang or gcc"}) -- "platforms:Linux" "implicit-function-declaration", }) -filter("platforms:Android-*") - system("android") - systemversion("24") - cppstl("c++") - staticruntime("On") - -- Hidden visibility is needed to prevent dynamic relocations in FFmpeg - -- AArch64 Neon libavcodec assembly with PIC (accesses extern lookup tables - -- using `adrp` and `add`, without the Global Object Table, expecting that all - -- FFmpeg symbols that aren't a part of the FFmpeg API are hidden by FFmpeg's - -- original build system) by resolving those relocations at link time instead. - visibility("Hidden") - links({ - "android", - "dl", - "log", - }) +if os.istarget("android") then + filter("platforms:Android-*") + system("android") + systemversion("24") + cppstl("c++") + staticruntime("On") + -- Hidden visibility is needed to prevent dynamic relocations in FFmpeg + -- AArch64 Neon libavcodec assembly with PIC (accesses extern lookup tables + -- using `adrp` and `add`, without the Global Object Table, expecting that all + -- FFmpeg symbols that aren't a part of the FFmpeg API are hidden by FFmpeg's + -- original build system) by resolving those relocations at link time instead. + visibility("Hidden") + links({ + "android", + "dl", + "log", + }) +end filter("platforms:Windows") system("windows") diff --git a/src/xenia/ui/premake5.lua b/src/xenia/ui/premake5.lua index 4c54c67ed..0188c1118 100644 --- a/src/xenia/ui/premake5.lua +++ b/src/xenia/ui/premake5.lua @@ -14,9 +14,11 @@ project("xenia-ui") "*_demo.cc", "windowed_app_main_*.cc", }) - filter("platforms:Android-*") - -- Exports JNI functions. - wholelib("On") + if os.istarget("android") then + filter("platforms:Android-*") + -- Exports JNI functions. + wholelib("On") + end filter("platforms:Windows") links({