1
0
Fork 0
mirror of https://github.com/bjornbytes/lovr.git synced 2024-07-02 12:33:52 +00:00
Commit graph

49 commits

Author SHA1 Message Date
bjorn 93ea56155e scribbling; 2021-02-08 16:08:29 -07:00
bjorn d2ff6c29ac Change inclusive module defines to exclusive;
This reduces the number of flags needed to get a regular build.
2021-02-07 16:45:03 -07:00
bjorn 8038353eac tup: output to bin folder; toplevel config; 2021-02-01 23:48:15 -07:00
bjorn 0c03be1090 tup updates;
- rm json and enet (they're plugins now)
- ignore a warning in stb_image
2021-01-07 14:35:28 -07:00
bjornbytes 71456dce6e tup: default CC to clang; 2020-11-21 14:14:22 -07:00
bjornbytes 842efe36c7 Handle openvr-specific warnings more precisely;
Instead of disabling a warning for the entire project, it is only
disabled while processing the OpenVR header.
2020-11-21 14:09:51 -07:00
bjorn 7031eaa96a tup: Fix windows openal path; 2020-11-12 18:08:04 -07:00
bjornbytes ca538e6594 tup: Use -Oz instead of -Os; No LTO; Linux fixes; 2020-11-12 18:08:04 -07:00
bjorn 11d088babd tup win32 track pdb files; 2020-10-02 19:50:00 -06:00
bjorn f1447fd69a lovr.graphics.get/setViewPose; lovr.graphics.get/setProjection; 2020-09-24 19:03:37 -07:00
bjorn d1317d227c Reorganize Tuprules;
A little more declarative, less duplication.

Misc changes:

- Added link time optimization
- Added -Os to link stage
- Use separate Android SDK and NDK paths
2020-08-30 21:12:39 -06:00
bjorn 28144c8143 OpenXR Android stuff; 2020-08-29 19:45:52 -06:00
bjorn 5bf597284d tup: Update WebXR flags; 2020-08-28 12:58:05 -06:00
bjorn 0439c932ce openxr: Move actions into resources; 2020-08-22 15:40:52 -06:00
bjorn 3cb291c866 rm leap motion driver;
Planning on using the new Ultraleap OpenXR API layer.  It's possible
that this will be added back if that doesn't work out.
2020-08-22 14:05:40 -06:00
bjorn 65470f1e0e Update webxr driver; rm webvr; 2020-08-16 00:31:20 -06:00
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