Commit Graph

33 Commits

Author SHA1 Message Date
bjorn 91fb120dcc tup: pico rules; 2020-07-27 17:20:58 -06:00
bjorn 6eab6d2a40 tup: rm manual GL flavor config; 2020-07-06 20:34:53 -06:00
bjorn 3139730d8d tup: Allow custom CMake build folder; 2020-07-06 20:22:57 -06:00
bjorn fdd95bfa39 tup: link against egl and glesv3 on android; 2020-07-02 20:14:29 -06:00
bjorn 40cde54abf tup: android config update; 2020-07-02 10:24:06 -06:00
bjorn 0a27a0b17b Fix ANDROID_ASSETS option; 2020-06-29 17:51:15 -06:00
bjorn 6c6c5fd360 CMake android support; 2020-06-29 17:20:26 -06:00
bjorn 27b04b2bde vrapi: Add support for focus awareness; 2020-06-25 15:00:12 -06:00
bjorn 8b281d56e3 Android: Organize tup rules; Fix manifest; 2020-06-25 13:27:18 -06:00
bjorn a1aa3c8ae8 Finish vrapi driver; 2020-06-09 18:02:03 -06:00
bjorn b34c03bcc8 Tup build system for android; 2020-06-09 18:02:03 -06:00
bjorn 21ea7488d1 tup windows support; 2020-05-15 15:01:10 -06:00
bjorn 8cdc92a485 Tuprules: Separate library variables for each platform;
Will make it easier for windows/android...
2020-05-11 18:48:18 -06:00
bjorn 6f6de92d19 Add preliminary WebXR backend; 2020-03-04 22:47:24 -08:00
bjorn a18121b5ee tup: fully support web builds; 2020-03-03 19:27:58 -08:00
bjorn 8dcc97745e Tup: emscripten support; LuaJIT flag; 2020-03-02 23:06:42 -08:00
bjorn 1db51ed25f tup: fix typo; 2019-12-31 19:40:39 -08:00
bjorn c9b1f257bf api: try new file naming convention; Tupfile: cleanup;
I assume full responsibility for any catastrophes this causes.
2019-12-31 19:31:44 -08:00
bjorn c55c6ff4d0 Typo; 2019-12-13 19:56:55 -08:00
bjorn e2d8f8c645 platform -> os;
The function names are staying the same for now.
2019-12-13 19:55:46 -08:00
bjorn 709dd42214 Only distribute msdfgen when data module is enabled; 2019-12-13 07:33:23 -08:00
bjorn 33991b41ad tup macOS fixes;
- Need to use dylib suffix.
- Need pagezero stuff (should we only do this when using LuaJIT?)
- rpath is totally different.
- stb_vorbis alloca broke?
2019-12-13 07:27:37 -08:00
bjorn 6f24da9f7f Rework Tupfiles;
- One toplevel Tupfile that makes it more clear what happens.
- Add config flags for -Werror, -fsanitize, and separate debug/optimize flags.
- Automatically integrate with libs built by CMake (build folder, rpath, libs folder).
- Disabling modules actually works, only the stuff that's needed is built.
2019-12-13 06:52:57 -08:00
bjorn eb0c564cf9 tup organization; 2019-12-13 03:39:04 -08:00
bjorn 2f9400a5f7 Adjust includes; 2019-12-10 13:01:28 -08:00
bjorn b518a4c983 rm misc physfs; 2019-12-10 12:38:06 -08:00
bjorn 50279d1d9f LOVR_USE_LUAJIT define is not used; 2019-10-22 20:21:41 -07:00
bjorn b35ebc15b6 rm LOVR_USE_SSE;
It doesn't really improve performance on an average LÖVR app and
isn't worth the complexity.
2019-10-22 16:46:54 -07:00
bjorn 2e44926767 Cleanup; 2019-09-26 20:19:50 -07:00
bjorn 82b865d851 Tuprules: Always use C99;
Now that we mostly use the clang/gcc atomics, just use c99 all the
time instead of conditionally changing the C standard.
2019-07-10 16:25:47 -07:00
bjorn 5745ffa226 tup: Add LibOVR include path when CONFIG_OCULUS is set; 2019-06-25 18:19:36 -07:00
bjorn 16c4040b27 tup: Custom CFLAGS/LDFLAGS, fix THREAD_MODULE config; 2019-06-11 19:58:33 -07:00
bjorn de6d3dab5b Add tup build system;
It's still a rough draft and likely only works on my machine, but can be
improved over time.

Rough explanation:

- tup.config contains high-level build configuration defaults.
- Tuprules.tup contains mostly compiler flags (generated from the
  tup.config) and declares some macros used to compile code.
- Tupfile takes all generated object files and links them into the
  lovr executable.
- src/Tupdefault defines the default build steps for src and all
  subdirectories, which is to compile all .c files to .o files and put
  them in the <objects> bucket for linking by the toplevel Tupfile.

It's possible to have multiple configs active at once for different
platforms, projects, etc.  To do this, create a folder for each build
variant you want, and place a tup.config in each folder (it can be a
symlink, which is helpful).  Then, invoking `tup` will build all your
variants, or you can build a specific one by doing `tup <foldername>`.
2019-06-10 04:06:22 -07:00