Commit Graph

57 Commits

Author SHA1 Message Date
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
000fa31809
Heavily improve usage of Preprocessor checks
- Weed out bugs in the numeric checking implementation
- Solve the problem with load_result/protected_function_result/unsafe_function_result being copyable and thus amenable to explosions. Fixes #995.
- Resolve the warning in sol::readonly. Fixes #1000.
- Looke into #1014. Not sure I can help there, honestly; looks like a mix up of multiply-loaded libraries and mixing the two.
2020-09-26 06:47:32 -04:00
ThePhD
de87bec171
Even better Regression Testing™ 2020-08-13 10:42:37 -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
e09d2ffef8
Fix up protected function returns and fix/use the horrible size extension point derp. Fixes #973 2020-05-26 20:08:38 -04:00
ThePhD
5022c4d8f6
Improve container handling and the vec[#vec] = nil idiom from Lua 2020-05-06 22:17:02 -04:00
ThePhD
053a7fdcb1
Fix #949, #935, #948, #945, and #933.
We will need a new feature to fix #941, which is related to #872.
2020-03-31 00:24:23 -04:00
ThePhD
82812c56d9
__mt is the wrong name. 2020-03-09 21:33:41 -04:00
ThePhD
1f27149239
Fix usage of the traits, rename them to say more directly what they are. 2019-12-02 15:54:58 -05:00
ThePhD
83a656ae61
Break all the behaviors. _All_ of them. 2019-11-29 13:08:41 -05:00
ThePhD
ce32549bc6
Remove as many of the std::string error handlers as possible to avoid memory leaks in C mode
Add some checks for container usertypes that masquerade as convertible from tables
Make sure shared_ptr-like types that are copyable are returned directly (but do not do this for move-only types)
2019-11-09 04:53:48 +00:00
ThePhD
bafac3abbd
Change how proxies are done for the sake of efficiency. 2019-09-15 00:43:44 -04:00
ThePhD
e8649d276b
NOW it's REALLY fixed, super duperly. 2019-08-28 00:17:11 -04:00
ThePhD
e60a628e16
should use safe_script, not just script 2019-08-27 20:36:17 -04:00
ThePhD
0b6c7f47e7
kek tests 2019-08-27 20:32:55 -04:00
ThePhD
683d1393d7
std function can be empty
fixes #862
2019-08-27 18:36:45 -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
e440d7a79b
some utility changes because of the way variants are checked now... 2019-07-03 01:01:07 -04:00
ThePhD
dafb184338
gate the warnng check better... 2019-06-10 07:56:22 -04:00
ThePhD
4ca24f9bc7
Handle weird types for number and shit 2019-06-10 04:22:59 -04:00
ThePhD
ef1c0e7a38
fix weird nested shit 2019-06-08 21:48:34 -04:00
ThePhD
3dd617d33a
blah lua versions 2019-05-29 19:31:52 -04:00
ThePhD
5a4d7dca7f
pointers just wanna be included in the fun, man 2019-05-29 17:14:35 -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
4808e7cad8
filters -> policies
shill out on the docs
prepare to update all docs
fix #809
2019-05-21 03:57:10 -04:00
ThePhD
5dee45cd9e
Rework table internals for more performance in more cases and handle additional cases of update_if_empty and create_if_nil 2019-05-21 02:13:56 -04:00
ThePhD
c442c6c620
static indexing is a real thing now 2019-04-29 01:38:01 -04:00
ThePhD
3426947340
the god-tier commit-without-running-tests... 2019-04-28 09:40:51 -04:00
ThePhD
7cce3e4d42
unused parameters are the devil 2019-04-05 21:26:49 -04:00
ThePhD
2f7607840f
A very simple fix for a very complex problem 2019-04-05 18:56:37 -04:00
ThePhD
7e7189735e
change behavior to set metatable before construction, not after
inherently dangerous, since that means the destructor can be called on incomplete memory if a constructor throws...
.... Not my problem! :D
blah blah shitty warnings
2019-04-04 09:38:23 -04:00
ThePhD
26cbadc5b2
Livnig dangerously and not running the tests, just shooting from the hip.
One day I'll get this all right...
2019-03-30 23:30:59 -04:00
ThePhD
55ebe1b76a
improve gc and call handling, o boi 2019-03-28 23:18:59 -04:00
ThePhD
a121366a29
More LLVM warnings as errors kicking things in the mouth... 2019-03-23 12:22:38 -04:00
ThePhD
a925963708
appveyor.yml updates to try and more properly capture constraints
travis.yml updates to try and more properly capture constraints
I truly dislike MSVC's inability to handle lots of using statements.
2019-03-23 12:09:51 -04:00
ThePhD
e8467334f6
Completley overhaul tests
Add unregister funcationality
Make sure clearing is stack-size-safe.
2019-03-22 16:28:17 -04:00
ThePhD
b63d7af060
Add lua_table and lua_value abstractions
Improve dump handler, bytecode, and base traits
Fix tolua on bad calls, fix interop handler changes
We are now truly done with all feature requests...
2019-03-18 07:41:51 -04:00
ThePhD
c1a8cb1dc5
Update copyright year, add dump function 2019-03-13 05:18:06 -04:00
ThePhD
466e21bf7c
omegalul MSVC 2019-03-10 11:09:52 -04: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
95ffd10283
force variable now works in traverse_set and proxy setters. 2019-02-15 04:01:03 -05:00
ThePhD
9c050230f3
push/pop pragma macros, wew lad 2019-02-14 04:52:30 -05:00
ThePhD
b938e42af6
SUPER DUPER UPDATE WOO 2019-02-14 02:40:57 -05:00
ThePhD
b4e83ca866
attempt to improve throughput and compile times even more
change CMake to stop being such a goddamn fucking menance with the warnings and errors
try to get full /W4 clean compliance
2019-02-10 15:02:40 -05:00
ThePhD
fbf5b48dc8
void support 2019-01-28 12:33:21 -05:00
ThePhD
e1f3e5f009
cull a good chunk of SFINAE, see what results... 2019-01-28 11:32:32 -05:00
ThePhD
a2f86d88dc
optimize get/traverse_get and set/traverse_set items
consider potential optimizations for new_enum to reduce compiler churn
consider potential optimizations for proxy
2019-01-17 08:28:34 -05:00
ThePhD
88a089c4ae
proxy testing 2019-01-14 07:27:55 -05:00
ThePhD
5b3ca9343c
update single
update forward declaration
update container traits usage
fix vector of pair as a usertype
2019-01-13 21:46:53 -05:00
ThePhD
59174e76af
Update patrons
Reduce compile-times by removing lambda shenanigans and moving data that is already serialized into runtime systems to runtime
Fix bugs with precedence ordering related to index and new_index
Prepare to add 20000 more if constexpr to reduce compile-times even further.
2019-01-05 05:48:51 -05:00