Commit Graph

53 Commits

Author SHA1 Message Date
MechaCat02
03362b59fe [Build] Linux→Windows cross-compile toolchain (clang-cl + xwin)
Some checks failed
Orchestrator / Commit Message Validation (push) Has been skipped
Orchestrator / Lint (push) Successful in 1m19s
Orchestrator / Windows (x86-64) (push) Failing after 5m16s
Orchestrator / Linux (x86-64) (push) Failing after 13m23s
Orchestrator / Create Release (push) Has been skipped
New CMake preset `cross-win-clangcl` for Ninja Multi-Config on
non-Windows hosts. Toolchain: clang-cl (MSVC-ABI), lld-link, xwin SDK/CRT
splat. Shader compilation routes through wine fxc.exe with FXC_PATH
env forwarding and unix→Windows path translation via `winepath -w`.
Plus per-file build fixes (constexpr→const, llvm-rc forward-slash,
zlib-ng AVX guard, /RTCsu MSVC-only). third_party/snappy bumped to
fabi/sylpheed-crossbuild for the target-aware POSIX-gate header.

Produces `xenia_canary.exe` (Debug MSVC) suitable for use as the
audit oracle under Wine for xenia-rs work. See
docs/CROSS_BUILD_SETUP.md for the full reproduction recipe.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-05 23:52:27 +02:00
Herman S.
4bd93883ac [Build] Convert buildshaders to custom build rules 2026-03-04 20:57:42 +09:00
Herman S.
71c5702ee8 [Build] Convert build system to raw cmake and remove premake layer 2026-03-04 17:37:36 +09:00
Herman S.
09a15fbedc [Testing] Get tests running (dirty hack for linux) 2026-02-13 13:32:39 +09:00
Margen67
cbde83b912 Update Premake to 5.0-beta7 2025-08-15 20:51:48 +02:00
Margen67
8b6cb9c287 [Premake, 3PP] Formatting/cleanup 2025-08-11 21:03:31 -07:00
Margen67
3b3c41ab2a [tools/build/premake.py] Formatting 2025-07-29 01:46:45 -07:00
Margen67
7f7e4fd381 chmod +x 2025-07-29 00:08:50 -07:00
Margen67
4a5f63650d Add .py file extension to Python 2025-07-28 23:54:52 -07:00
Xphalnos
2300b8455c [Tools] Updating: vswhere.exe and premake5.exe 2024-11-25 09:11:26 +01:00
p01arst0rm
a1bb6cc142 moved vswhere to tools directory 2022-12-28 14:17:24 -06:00
Triang3l
037310f8dc [Android] Unified xenia-app with windowed apps and build prerequisites 2022-07-11 21:45:57 +03:00
Alex Messier
53320d7ef2 Add descriptive error message when pkg-config fails
The pkg_config helper for premake was not checking for errors. When it
failed to run, either when it is not installed or the queried package is
not found, a cryptic error message would be printed:

"Error: .../xenia/third_party/premake-core/src/base/string.lua:36: attempt to index a nil value (upvalue 's')"

Fix this by checking the return status when calling pkg-config and
printing a descriptive error message.
2022-04-05 00:11:54 -05:00
Rick Gibbed
7fc93185f2 Replace premake5 binary with CI artifact. 2022-01-02 15:49:18 -06:00
Rick Gibbed
094c20bd4e Update premake-core. 2022-01-02 15:43:59 -06:00
Triang3l
dbd518f137 [Android] Clone Premake from sdcard to a hidden directory 2021-11-02 03:03:45 +03:00
Triang3l
7e6cf349e2 [Build] Use first-party premake-androidndk (#1878) 2021-10-30 00:01:27 +03:00
Triang3l
6ce5330f5f [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
Jonathan Goyvaerts
48bb93a9ca [Linux] Fix pkg-config trailing space causing premake to output an extra empty library -l
Fixes #1868
2021-07-21 09:40:20 -05:00
Triang3l
a7efdd9ed8 [Build] Run pkg_config only on Linux, not all non-Windows 2021-07-20 20:16:39 +03:00
gibbed
2ac388527b Disable Edit and Continue for test suites.
Disable Edit and Continue for test suites. Edit and Continue in MSVC
can cause the __LINE__ macro to produce invalid values, which breaks
the usability of Catch2 output on failed tests.
2021-06-26 01:06:41 -05:00
Joel Linn
ceb382f8ec Update Catch2 test framework
- Use their main() method to fix command line options. Fix CLion testing
- Change to correct tag syntax.
2021-06-02 22:28:43 -05:00
Joel Linn
8f44a14131 [Linux] Helper methods for pkg-config
- Fixes linking on GCC by putting libs in link group
2021-06-02 22:28:43 -05:00
gibbed
6ab665f6e2 Use xenia-base entrypoint for test suites.
Use xenia-base entrypoint for test suites. Fixes a bug where we were expecting
wchar data in main, which is incorrect, causing invalid args to be parsed.
2020-11-25 21:33:54 -06:00
gibbed
a4170621a7 Update premake-core. 2020-11-23 22:01:43 -06:00
Triang3l
d76e408681 [Build] Add Android to platform_files.lua 2020-11-22 00:15:36 +03:00
Triang3l
4786e93c96 [Build] Better Android detection in tools/build/premake 2020-11-21 16:22:38 +03:00
Triang3l
3f9e86e785 [Build] Clone premake to internal storage on Android 2020-11-21 16:22:26 +03:00
Joel Linn
adebaba799 Allow building without git. 2020-10-28 20:31:36 -05:00
Joel Linn
9828e085b0 Fix building premake on Windows.
Broken before when vswhere emitted unicode characters.
2020-04-08 16:17:06 -05:00
gibbed
637a8464a7 Update premake. 2020-04-08 09:02:56 -05:00
gibbed
3e6c2bb47c Fix up handling of positional options in cvar handling.
- Fix up handling of positional options in cvar handling so that executables
  other than app can handle them properly.
- Fix command-line arguments for xenia-vfs-dump.
2019-08-24 07:41:55 -05:00
Jonathan Goyvaerts
81fe22f1c8 Get rid of gflags alltogether 2019-08-03 02:34:19 +02:00
Jonathan Goyvaerts
c1af632562 Replace all gflag implementations with cvar implementations 2019-08-03 02:34:07 +02:00
gibbed
b594f97027 Oops. Forgot json import in premake build script. 2019-04-18 10:28:32 -05:00
gibbed
2dbd86ae23 Rework Xenia/premake build scripts to use VsDevCmd for VS2017+ instead
of vcvarsall.bat, this removes Windows Universal CRT SDK as a required
dependency.
2019-04-18 10:18:43 -05:00
gibbed
8658514e63 Oops. Missed a commit. Fix vswhere path in premake build script. 2019-04-18 09:32:05 -05:00
gibbed
ffbc99926b - Update premake build script for VS2017+ build support.
- Update premake (for VS2019 support).
- Update Xenia build script to detect VS2017+ version.
- Update Xenia premake scripts due to updated premake.
- Fix cc override in Xenia build script.
2019-04-18 09:28:31 -05:00
DrChat
02e37be4e5 Merge branch 'linux' of git://github.com/dougvj/xenia into linux
# Conflicts:
#	.travis.yml
2017-12-14 19:20:02 -06:00
Kriskras99
882f01533d Python 3 support (#755)
* Python 3 support

* Fix import_vs_environment in xenia-build

* Drop support for Python 2

* Fix CIs and xb.bat

* Require Python3.4+ because of Ubuntu Trusty

* popen.communicate returns bytes instead of string

* Useful info in travis

* universal_newlines should be True

* Changed shebang to python 3

* Python 3 shebang fix

* Clang python 3 shebang fix
2017-09-21 16:42:57 -05:00
Doug Johnson
4abb1623ea Add _gtk and _x11 as linux specific platform files 2017-07-11 11:47:24 -06:00
Dr. Chat
599f21d5c6 Update catch 2017-05-11 17:55:41 -05:00
Dr. Chat
8c16f91b7b Update premake to support vs2017. 2017-04-23 22:02:43 -05:00
Dr. Chat
50cc2385dd travis: clang-3.9 2017-02-05 22:01:13 -06:00
DrChat
da0a468126 Import the VS environment when building premake. 2017-01-27 13:04:26 -06:00
gibbed
367742ee54 Include .inc files in generated project files. 2016-06-24 00:06:40 -05:00
sephiroth99
204e885d3d Add 'posix' as a platform suffix 2016-01-20 11:09:45 -05:00
Ben Vanik
5fb2c7cca1 1 linking and running tests for travis. 2016-01-01 20:55:32 +00:00
Ben Vanik
c93b93fe55 Standardizing wchar->char in main(). 2016-01-01 12:46:26 -08:00
Ben Vanik
8770e6e6cf Adding yaml-cpp for #428, use rando fork until jbeder/yaml-cpp#342 lands. 2016-01-01 12:13:36 -08:00