Commit Graph

368 Commits

Author SHA1 Message Date
ThePhD
d39330eab9
Overhaul function calls and usage
- add noexcept to some of the core function calls
- type usage for both trampolines and yields can now be fully tracked, at the expense of more template instantiations when using both
- exceptions should be less prone to explosion in C versions, but will break in C++ code (the trampolines need to be modified for usertype calls to avoid this problem, specifically)
2020-12-17 23:25:48 -05:00
ThePhD
561c90abf4
Fix a lot of errors
- Add a new feature for SOL_FUNCTION_CALL_VALUE_SEMANTICS. Fixes #1059
- Detect deprecated/removed bit32 library. Fixes #1086
- Format the entire repository. Close #1073
- SOL_LUAJIT was not being properly defined. Close #1082
- Fix alignment issue. #1071
2020-12-16 15:25:35 -05:00
ThePhD
ef33531df4
Fix most of the most pressing warnings
- Fixes #1000
- Fixes #1060
- Fixes #1062
- Fixes #1067
2020-11-19 16:42:02 -05:00
Violin Yanev
ca3d30d8e9 Add CMake option to disable installation
Rationale: since sol2 is a header-only library, some projects might
use it as a private dependency instead of exposing it through their API.
Thus, it is useful to have an option to not install sol2, in order to
reduce the installation size as well as to avoid accidentally exposing
internal dependencies in the top-level project.

The project I work on is a demonstration of how the feature might be
used:
f4a20ec39e/external/CMakeLists.txt (L84)
(mind the different name of the CMake variable, I renamed it to fit the rest
of the sol options convention)

We have an install-check script script which verifies that only expected
headers, libs, targets and docs are exported (the one which are interesting
from users PoV). I wouldn't mind contributing the script as github workflows
if you want to use it as well - please provide feedback if that's desired.
Here is a link to our script for preview:
https://github.com/GENIVI/ramses-logic/blob/master/ci/scripts/installation-check/check-installation.py

While modifying the CMake code, I noticed a 4-space instead of TAB in one
place and fixed it to be consistent with the rest of the CMake code.
2020-11-01 12:32:18 -05:00
ThePhD
e5e6466e09
Fix configuration macros
- Enable all necessary configuration macros to be deliberately shut off, appropriately
- Fix version macro headings
2020-10-15 01:18:12 -04:00
ThePhD
288f4f4e73
Version updates 2020-10-04 06:11:12 -04:00
ThePhD
832878dc31
Remove discord links 2020-10-03 17:36:23 -04:00
ThePhD
48e5fc9e44
Fix unorded_map derp 2020-10-03 17:34:34 -04:00
ThePhD
48eea7b573
New Unsafe Feature: Function Pointers!
- Not at all type safe: there should be some investigation into making it less unsafe to work with these things (albeit it looks like it would cost +1 pointer to serialize a string name for each callable in Lua, at LEAST)
- Must be opted into - see the documentation
- Fixes #1015
- A few drive-by fixes here and there
- New configuration test harness with CMake
2020-09-26 09:46:11 -04:00
ThePhD
de87bec171
Even better Regression Testing™ 2020-08-13 10:42:37 -04:00
ThePhD
af779f0bed
Improve the testing macros to work across platforms.
Add a note to the documentation about SOL_NO_LUA_HPP being less preferred over the C++ defines, to Fix #1013.
Add regression tests (not yet fixed) so I can get to the bottom of VC++ being ass.
2020-08-12 19:07:32 -04:00
ThePhD
5bbc095396
Improve configuration macros and other things while trying to track down ways to make MSVC stop being a butt on its latest iterations. 2020-08-09 17:17:47 -04:00
ThePhD
4a16979adf
Use a specified configuration macro for the size of a given chunk.
This might help with error reporting for larger non-text based chunks. Maybe helps #989, but that looks like it needs the user to define their own traceback handler.
Fix compilation issues with boost optional usage. Fixes #990
Fix more shitty docs (thanks, @nabijaczleweli)
2020-07-15 09:29:27 -04:00
ThePhD
6869ad35a3
Update single and fix shitty proxy documentation! 2020-07-04 04:43:29 -04:00
ThePhD
c5f6680bf4
Add an additional configuration parameter to make it so automagic usertypes can be turned off, and document it.
Thanks @EliasDaler
2020-05-17 18:17:14 -04:00
ThePhD
890cdd38b4
Fix up all the funding/donation links. Again! 2020-05-03 09:50:30 -04:00
Amir Masoud Abdol
077301092f fixed a broken link 2020-03-12 11:29:11 -04:00
Amir Masoud Abdol
cba93593d7 fixed formatting 2020-03-12 11:29:11 -04:00
ThePhD
f1ad1de70a
Note requirements in documentation about pairs generation. 2020-02-16 19:44:11 +01:00
ThePhD
903f4db02b
Fix up the tutorial. 2020-01-27 14:13:22 -05:00
ThePhD
c77b5b432e
Update catch, move yielding check up one level to avoid problems with trampoline and exception handling, and add a new test/example from an issue. Closes #906. Closes #917. 2020-01-17 05:22:52 -05:00
ThePhD
2ca27eede3
Please read the docs. Pretty please. 2019-11-12 18:53:17 +01:00
ThePhD
908074e696
wew lad 2019-10-02 02:38:12 -04:00
ThePhD
376806347f
Fix names and links. 2019-09-26 08:02:32 -04:00
ThePhD
cb3acaa97b
add more documentation, add clear() to bytecode, include additional examples and better data 2019-08-15 01:26:52 -04:00
ThePhD
eb5c442eec
update container documentation and add another ignore for /vendor 2019-07-25 20:13:27 -04:00
ThePhD
b160a8b253
documentation improvements 2019-07-18 11:06:28 +02:00
ThePhD
ad64d130ba
fix broken links 2019-07-08 15:36:01 -04:00
ThePhD
c4c2f18eea
update funding links and documentation pic layout for GitHub Sponrs 2019-07-05 14:42:24 -04:00
ThePhD
d83e1a5637
improve docs a tiny bit more and prepare for release 3.0.3 2019-07-04 11:29:11 -04:00
ThePhD
fd6feec382
heavily improve examples and docs 2019-07-04 11:16:03 -04:00
ThePhD
dd95030b9e
fix all doc links 2019-06-14 20:21:52 -04:00
ThePhD
75b89fb647
[ci skip] Some link fixups and a missed api topic include 2019-05-29 07:10:18 -04:00
ThePhD
a49fbc2f04
Objective C will always haunt me. 2019-05-26 13:32:28 -04:00
ThePhD
4fd5d34c57
genindex is weird 2019-05-24 16:39:55 -04:00
ThePhD
17925f989b
Use the right link. 2019-05-24 01:49:25 -04:00
ThePhD
a2295e2545
tfw you spell Eric's name wrong........... 2019-05-23 15:58:18 -04:00
ThePhD
017b2cfac1
update single and improve safety config documentation 2019-05-21 21:28:18 -04:00
ThePhD
f701fd2de7
HEAVILY improve the entire infrastructure and documentation along with all the examples 2019-05-21 19:17:31 -04:00
ThePhD
ade09db8dd
Fix more links. 2019-05-21 09:10:39 -04:00
ThePhD
00a45fe318
Mmm delicious presentations and more readme formatting 2019-05-21 05:05:28 -04:00
ThePhD
4808e7cad8
filters -> policies
shill out on the docs
prepare to update all docs
fix #809
2019-05-21 03:57:10 -04:00
ThePhD
6282ed4bf0
Improve unique_usertype handling to avoid needing the rebind_base typedef 2019-04-13 04:05:34 -04:00
ThePhD
72181513d5
Merge branch 'sol3' into develop 2019-03-28 23:20:07 -04:00
ThePhD
c1a8cb1dc5
Update copyright year, add dump function 2019-03-13 05:18:06 -04:00
Hanjoung Lee
92f12952ef Add opening base lib in cxx-in-lua.rst
Loading `sol::lib::base` is needed since the corresponding lua file uses
`print` and `assert`.
2019-03-06 22:39:32 -05:00
ThePhD
b6f40935c8
add new tas for override_value and update_if_empty, improve the enable_if for a bunch of field_setter stuff
perform the last breaking change with .source()
prepare for the coming release...
2019-02-16 17:27:03 -05:00
ThePhD
486086ffe0
fix up CMake files once more, and hopefully prepare for a new test coverage paradigm
notably, test normal + single + generated + Lua 5.3.5 only once,
then only run the runtime_test and compile_test for normal for all other permutations to help increase text matrix throughput
2018-12-27 02:17:25 -05:00
ThePhD
a6abc0a0d9
update everything 2018-12-22 15:36:42 -05:00
ThePhD
bbd5bd7fa1
Fix Linux build as best as possible while size issues still remain with MinGW. 2018-12-19 23:17:15 -05:00