Commit Graph

87 Commits

Author SHA1 Message Date
ThePhD
ba1dc4f9f4
Relocate build flags / settings to the internal cmake space!
Closes #1209
2021-10-23 15:56:57 -04:00
ThePhD
b43cee5c9d
Preparing to separate the build from the table 2021-09-15 03:26:40 -04:00
FailCake
3372d4fe9b Fix sol2 cmake include failing as a dependency
When using cmake `FetchContent` sol isn't the top level project, so it should use `CMAKE_CURRENT_SOURCE_DIR` instead of `CMAKE_SOURCE_DIR`
2021-05-21 13:19:32 -04:00
ThePhD
80ede904d6
💚 Some stuff to make the CI builds a bit better
- Thanks, blobthing & zasz!
2021-05-07 01:56:32 -04:00
ThePhD
7aae1aaaaa
🔨 asdhjsahd DO NOT BUILD
- Add a flag to allow size_t(-1) and similar shenanigans (SOL_ALL_INTEGER_VALUES_FIT)
- Half-fix, but not fully, for #1183, #1072, #1038, #965
- Fix #1126
- Prepare for #1061
2021-05-06 18:44:25 -04:00
ThePhD
0590f0e75c
🐛 Squash warnings with SYSTEM include
- Fixes #1139
2021-03-07 14:46:13 -05:00
ThePhD
d0ab12e965
🐛 Fix #1149 2021-03-07 13:43:56 -05:00
ThePhD
e4658e3545
⚠ BROKEN: No more single inside!!!
- Generate it if you want it!!
2021-03-06 10:48:25 -05:00
ThePhD
57d9a05f88
🎨 Refactor tutorial examples
- 🛠 Make sure the tutorials compile across platforms!
- ✍ Redo quite a bit of the documentation
2021-03-06 10:14:48 -05:00
ThePhD
8618e39486
🛠 Prepare for the a sol4 release...
- 🎨 Refactor the CMake a whle bunch
2021-03-06 01:03:23 -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
48e5fc9e44
Fix unorded_map derp 2020-10-03 17:34:34 -04:00
ThePhD
de87bec171
Even better Regression Testing™ 2020-08-13 10:42:37 -04:00
ThePhD
e26475e75b
Some minor fixes until I get on smr's level.... 2019-11-29 19:21:14 -05:00
ThePhD
83a656ae61
Break all the behaviors. _All_ of them. 2019-11-29 13:08:41 -05:00
ThePhD
019cccf15e
cmake LULW 2019-07-04 11:36:12 -04:00
ThePhD
1ab57fc11e
fix up variadic_results and change pointer_like traits to not fall prey to implict conversions as easily 2019-07-01 02:13:34 -04:00
ThePhD
da789b067c
fix up install. Thanks @NaoPross ! 2019-06-25 05:36:33 -04:00
ThePhD
c1a8cb1dc5
Update copyright year, add dump function 2019-03-13 05:18:06 -04: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
91faa7a014
Update single, fix more CMakeLists stuff to work with Local and Not-From-Source builds of Lua 2019-01-05 13:56:21 -05:00
ThePhD
9760a400cd
testing and test matrix improvements 2018-12-23 13:18:14 -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
ThePhD
a70a166132
more minor fixes 2018-09-28 03:53:17 -07:00
ThePhD
f42a678d20
minor fixes 2018-09-28 00:55:47 -07:00
ThePhD
0a9dc24f1f
first big sol3 push... tests not updated yet 2018-09-27 22:27:38 -07:00
ThePhD
db927c5159
update CMake to have namespaced stuff 2018-08-10 20:53:31 -04:00
Roman Sztergbaum
d72b243c71 fix install interface 2018-06-23 10:43:51 +02:00
ThePhD
c72a012927 Fix Visual Studio 2015 builds, fix error handling printouts / exceptions, fix constexpr usage that trips up Visual Studio 2015. 2018-04-17 20:08:07 -04:00
ThePhD
80df3fc915 Fix #626
Fix #625
Fix #624
2018-04-12 13:58:25 -04:00
ThePhD
6c40c559e3 prepare for new usertype
change how type T is gleaned from destructors and constructors in case of new syntax
add a hell of a lot more examples, update and clean documentation
2018-03-15 17:16:28 -04:00
ThePhD
94a63902a7 fix order of is_specialization_of, since mpark and arthur and friends convinced me of The One True Way
add workaround for VC++ /std:c++17 and /std:c++latest bugs
try to add MD/MDd flags, pray it works...
update single
2018-03-01 22:08:27 -05:00
ThePhD
b78d900d05 One day, everything will build proper.
One day.
2018-02-17 11:00:27 -05:00
ThePhD
258acff99b fix coroutine handler, change examples compilation, try to handle m32 compilation issues 2018-02-17 10:45:08 -05:00
Zachary Michaels
916d87254b Fix CMake install (#586)
* Fix CMake install

The install target was trying to install the include directory. It was also
leaving out the sol.hpp header.

The CMake single header and docs generation are also broken, so this commit
disables them by default.

Fixes #585

* Fix CMake single-file header generation and doc generation

* Fix sol2_single target

* Add single-header to ALL

* Install to standard documentation directory

* Make sure single-header artifacts land in the build directory

* More GNUInstallDirs

* pkg-config support
2018-02-17 00:23:54 -05:00
ThePhD
67116a67f9 Fixes #588
Tentatively supports (?) #589 with sol::yielding and sol::yielding_t
Added Catch as a cmake module
2018-02-17 00:18:26 -05:00
ThePhD
eca9ec46fd Beef up testing suite significantly and make sure that the interop examples compile, at least on Linux
These damn libraries definitely don't compile clean on Windows... but then again, most people don't give a damn about Windows :<
2018-02-12 17:01:30 -05:00
ThePhD
8d2a25988c Maybe this will finally fix all the example errors 2018-02-12 03:55:14 -05:00
ThePhD
72c7959403 Give up on x86 builds, since they're quite literally ruining most things! 2018-02-11 01:13:42 -05:00
ThePhD
6f80e271d7 these cmake details are starting to get unruly... 2018-02-11 00:53:53 -05:00
ThePhD
2e648638ef Fixes #580
Adds some code for #579 to warn of bad errors
Update documentation and examples, as well as fix fPIC with static builds on Linux
2018-02-08 23:19:45 -05:00
ThePhD
db9c5d64c6 update single, use special handling for find_package 2018-01-23 16:18:17 -05:00
ThePhD
63ec47bf6e Make base class type checks and lookup stable across DLLs 2018-01-23 12:07:22 -05:00
ThePhD
0afd822644 check platform variable 2018-01-20 12:10:50 -05:00
ThePhD
6202b91b40 x86 fixes 2018-01-20 12:02:06 -05:00
ThePhD
bfe696d2d7 put things in place for 32-bit testing and builds on both appveyor and travis
pray it doesn't shatter
2018-01-19 23:59:43 -05:00
ThePhD
1a64ba0fe5 Improve the docs, set up LuaJIT, and try to figure out why we can't build a DLL as an external projcet target with LuaJIT... 2018-01-19 15:03:22 -05:00
ThePhD
71963f9678 Try to always use the dedicated library built for the docker image by the LLVM team, otherwise everything goes to hell.... 2018-01-10 08:40:37 -05:00