Commit Graph

45 Commits

Author SHA1 Message Date
bjorn cca24fe581 Tweak gitignore;
- Machine-specific excludes do not belong in lovr's gitignore.
  They should be configured using .git/info/exclude or globally.
- Preferential excludes should use .git/info/exclude (e.g.
  plugins, in-tree lua files).
- This restricts gitignore to build-system-generated artifacts.
  Honestly I'd like to remove these too, but need to monitor.
2021-07-19 00:02:10 -07:00
Nevyn Bengtsson 1756983eb3 Embed submo's to VR SDKs 2021-05-31 09:07:38 -06:00
bjorn 8038353eac tup: output to bin folder; toplevel config; 2021-02-01 23:48:15 -07:00
bjorn b356ce2546 Plugins;
- The plugins folder can contain native plugins.
- CMake will build plugins with CMakeLists in them
  - They can check the LOVR variable to see if they are being built inside LOVR.
  - They can set the LOVR_PLUGIN_TARGETS variable to a list of targets they build.
    - If blank, all non-imported targets added in the folder will be used.
  - The libraries built by their targets will be moved next to the executable or into the apk.
- The library loader now tries to load libraries next to the executable or in the APK.
  - It is "fixed function" now, this may be improved in the future.
- The lovr.filesystem C require path has been removed.
- enet and cjson have been removed.  Use plugins.
2020-12-28 12:37:35 -07:00
bjorn 11d088babd tup win32 track pdb files; 2020-10-02 19:50:00 -06:00
bjorn 28144c8143 OpenXR Android stuff; 2020-08-29 19:45:52 -06:00
bjorn 0439c932ce openxr: Move actions into resources; 2020-08-22 15:40:52 -06:00
bjorn e7d4e6cf7b Start pico headset backend; 2020-07-27 13:58:52 -06:00
bjorn 35a4c062c3 vrapi gitignore case sensitivity; 2020-07-27 13:48:06 -06:00
bjorn 87b979f51c mv Activity.java Activity_vrapi.java; 2020-07-27 12:50:27 -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 a18121b5ee tup: fully support web builds; 2020-03-03 19:27:58 -08:00
bjorn 9fdeb75802 I can't into gitignore; 2019-12-31 18:23:56 -08:00
bjorn d228dc95d7 Automatically convert binary resources;
- Teach CMake how to compile binary resources to C headers, like xxd.
- Note: tup is already using xxd to do this.
- gitignore binary resource headers to reduce git noise and avoid problematic
  interactions between git and build systems.
2019-12-29 11:25:30 -08:00
bjorn 6060dc12b1 Improve tup config;
- Add config folder that contains tup config files.  There is a default
  config added to source control, but everything else in that folder is
  gitignored so you can add your own custom configurations.
- Remove and gitignore tup.config.
- This results in the following setup:
  - You can now create a tup.config symlink that points at the config
    you want to use.
  - Or, you can use the `tup variant` command to manage multiple build
    configurations at the same time (e.g. debug, release, wasm).
2019-12-29 10:52:44 -08:00
bjorn f8ae50a3a5 Update .gitignore; 2019-12-20 03:48:53 -08:00
mcc 8cf3556cf1 Include .vs in .gitignore (visual studio code) 2019-12-17 19:50:51 -05: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 5fb3d55f37 Increase specificity of 'test' gitignore; 2019-08-26 15:46:38 -07:00
bjorn ba1e97e626 Add test folder; 2019-08-21 22:27:52 -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
bjorn 1335ab55ae Warnings/cleanup; 2019-05-20 03:41:12 -07:00
bjorn 7645f4c014 Add core folder; 2019-05-20 02:47:33 -07:00
bjorn 1cc1a978a9 rm build folder again;
This was nice to remove a step from the compilation instructions,
but it means that we can't wipe the build directory without causing
git changes.
2018-11-08 12:58:47 -08:00
bjorn 66fcf2b848 Add build folder; 2018-10-21 08:13:01 -07:00
bjorn 4be78fe2cf Adjust Tupfile ignores; 2018-09-30 18:58:51 -07:00
bjorn a3a50e5ca7 Ensure arg gets passed to lovr.load; 2018-03-30 18:48:20 -07:00
bjorn e502d53912 Update .gitignore; 2018-02-24 13:14:07 -08:00
bjorn 662572c4e0 Add boot.lua back; 2017-12-18 16:01:12 -08:00
bjorn 4881d2ebbe Ignore openvr bin directory; 2017-11-20 22:36:18 -08:00
bjorn a38fd1829f Migrate dependencies from lovr-deps; 2017-08-13 18:41:13 -07:00
bjorn 7f687f9732 No game screen; 2017-04-02 05:55:21 -07:00
bjorn 3dbafc8214 Cleanup; 2017-01-20 18:39:48 -08:00
bjorn 9aa14ecf8e Update .gitignore; 2017-01-04 23:57:11 -08:00
bjorn c2feb24118 Update .gitignore; 2016-11-14 14:47:39 -08:00
bjorn 3972b3ce56 Ignore data directory; 2016-10-24 14:15:48 -07:00
bjorn 7fab9741fe Ignore Tupfile;
It's messy anyway ;_;
2016-10-04 15:03:21 -07:00
bjorn 90147ca7bf Separate Lua API; 2016-08-09 23:28:17 -07:00
bjorn e25170ec87 Update .gitignore; 2016-07-31 17:21:39 -07:00
bjornbytes 6198ac8999 Windows works; 2016-07-15 01:16:08 -07:00
bjorn 440857a2d7 CMake wasn't that bad; 2016-07-10 16:14:12 -07:00
bjorn 6a50fae9a3 Initial commit; 2016-07-07 00:04:24 -07:00