Minimalistic Hello World tests
Go to file
2023-07-29 12:13:56 +01:00
Aurora [*] Update AuProcess [test] for IO handle update 2023-07-29 12:13:56 +01:00
Build_Scripts@dbaaabeab8 [*] Update Runtime 2023-07-28 17:31:59 +01:00
Build_UserScripts [*] Update Runtime 2023-07-28 17:31:59 +01:00
Include@f30d2db9a2 [+] Add extended file watcher tests (with whole directory test) 2022-04-11 20:14:39 +01:00
Tests [*] Update AuProcess [test] for IO handle update 2023-07-29 12:13:56 +01:00
Vendor [*] Update Runtime 2023-07-28 17:31:59 +01:00
.gitignore [*] Added dependencies 2022-02-19 22:45:49 +00:00
.gitmodules [*] Update Runtime 2023-07-28 17:31:59 +01:00
AuroraSolution.lua [*] updated build script 2023-04-22 01:45:04 +01:00
LICENSE [*] Added dependencies 2022-02-19 22:45:49 +00:00
Linux_x64_NoToolkit [+] Add extended file watcher tests (with whole directory test) 2022-04-11 20:14:39 +01:00
README.md [+] AuDebug tests 2022-12-14 20:45:12 +00:00
Win_x64_Lite.bat [+/*] Updated and added a few tests (a hell of a lot more pending) 2022-04-01 05:14:58 +01:00
Win_x64_NoToolkit.bat [+/*] Updated and added a few tests (a hell of a lot more pending) 2022-04-01 05:14:58 +01:00
Win_x64_wxWidgets.bat [+/*] Updated and added a few tests (a hell of a lot more pending) 2022-04-01 05:14:58 +01:00
Win_x86_Lite.bat [+/*] Updated and added a few tests (a hell of a lot more pending) 2022-04-01 05:14:58 +01:00
Win_x86_x64_Lite.bat [*] Linux no go. Interim NT update. 2022-06-06 17:36:02 +01:00
Win_x86_x64_NoToolkit.bat [+] AuDebug tests 2022-12-14 20:45:12 +00:00

Hello

Aurora runtime basic tests and demos for barebones use cases.

Getting ready

git clone --recursive https://gitea.reece.sx/AuroraSupport/HelloAurora

Building

Building for Windows

Tools required: MSVC (modernish?), premake5

No special steps are required. Assuming premake is present in %PATH%, run .\Win_x64_NoToolkit.bat and open the sln generated in the .\Build\Workspace directory.

Cross-arch: --target-x86_[32/64] can be added to either family of scripts to readd the specified architecture.

Important: if you wish to work with JavaScript projects in the future, you must ensure you have an x86_64 build of premake5.

Building for Linux

  • Procure or build; and install libc++ (clangs native not fit-for-linux STL)

Build:

  git clone https://github.com/llvm/llvm-project.git
  cd llvm-project
  mkdir build
  cmake \
    -G Ninja \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_C_COMPILER=clang \
    -DCMAKE_CXX_COMPILER=clang++ \
    -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
    -DLLVM_EXTERNAL_LIT=/usr/bin/lit \
    -DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=NO \
    -B build \
    -S llvm
  ninja -C build cxx cxxabi
  ninja -C build check-cxx check-cxxabi
  ninja -C build install-cxx install-cxxabi

Note: We use libc++ as a one-size-fits-all cross-platform STL solution. Its' core platform abstraction might suck, but it does well to maintain modern container and utility support. Plus, it's the defacto standard for embedded systems, meme web technology, and non-standard pc things including games consoles and mac. Pipeline and software dependencies can be better optimized and QA'd once normalized to one or two main STL targets. The bits that do suck, like thread primitives, aren't used by most developers who care about performance anyway. The quirks that are there, like locale fetch issues, don't affect us.

  • Procure or compile; and install premake

Build:

git clone https://gitea.reece.sx/AuroraPipeline/premake
cd premake
make -f Bootstrap.mak linux
cp bin/release/premake5 /usr/bin/premake5
chmod +x /usr/bin/premake5
  • Run the final premake script
./Linux_x64_NoToolkit.sh
  • Compile...
cd Build/Workspace
make -jthreadsN config=[debug/stage/ship]_linux

Cross-arch: none yet.

Regeneration/rebuild

Repeat the last batch/bash script; and rerun make/msbuild, or reload all in Visual Studio