sol2/3.3.1

a C++ <-> Lua API wrapper with advanced features and top notch performance
Recipe info
2023-07-23

Available packages
Header Only

Install
Add the following line to your conanfile.txt:
[requires]
sol2/3.3.1

Using sol2

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
sol2/3.3.1
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("sol2/3.3.1")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): sol2
  • CMake target name(s): sol2::sol2
  • pkg-config file name(s): sol2.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(sol2 REQUIRED)
# ...
target_link_libraries(YOUR_TARGET sol2::sol2)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the sol2 homepage listed above:

#include "sol/as_args.hpp"
#include "sol/as_returns.hpp"
#include "sol/assert.hpp"
#include "sol/base_traits.hpp"
#include "sol/bind_traits.hpp"
#include "sol/bytecode.hpp"
#include "sol/call.hpp"
#include "sol/compatibility.hpp"
#include "sol/compatibility/compat-5.3.c.h"
#include "sol/compatibility/compat-5.3.h"
#include "sol/compatibility/compat-5.4.h"
#include "sol/compatibility/lua_version.hpp"
#include "sol/config.hpp"
#include "sol/coroutine.hpp"
#include "sol/debug.hpp"
#include "sol/demangle.hpp"
#include "sol/deprecate.hpp"
#include "sol/detail/build_version.hpp"
#include "sol/dump_handler.hpp"
#include "sol/ebco.hpp"
#include "sol/environment.hpp"
#include "sol/epilogue.hpp"
#include "sol/error.hpp"
#include "sol/error_handler.hpp"
#include "sol/forward.hpp"
#include "sol/forward_detail.hpp"
#include "sol/function.hpp"
#include "sol/function_result.hpp"
#include "sol/function_types.hpp"
#include "sol/function_types_core.hpp"
#include "sol/function_types_overloaded.hpp"
#include "sol/function_types_stateful.hpp"
#include "sol/function_types_stateless.hpp"
#include "sol/function_types_templated.hpp"
#include "sol/in_place.hpp"
#include "sol/inheritance.hpp"
#include "sol/load_result.hpp"
#include "sol/lua_table.hpp"
#include "sol/lua_value.hpp"
#include "sol/make_reference.hpp"
#include "sol/metatable.hpp"
#include "sol/object.hpp"
#include "sol/object_base.hpp"
#include "sol/optional.hpp"
#include "sol/optional_implementation.hpp"
#include "sol/overload.hpp"
#include "sol/packaged_coroutine.hpp"
#include "sol/pairs_iterator.hpp"
#include "sol/pointer_like.hpp"
#include "sol/policies.hpp"
#include "sol/prologue.hpp"
#include "sol/property.hpp"
#include "sol/protect.hpp"
#include "sol/protected_function.hpp"
#include "sol/protected_function_result.hpp"
#include "sol/protected_handler.hpp"
#include "sol/proxy_base.hpp"
#include "sol/raii.hpp"
#include "sol/reference.hpp"
#include "sol/resolve.hpp"
#include "sol/sol.hpp"
#include "sol/stack.hpp"
#include "sol/stack/detail/pairs.hpp"
#include "sol/stack_check.hpp"
#include "sol/stack_check_get.hpp"
#include "sol/stack_check_get_qualified.hpp"
#include "sol/stack_check_get_unqualified.hpp"
#include "sol/stack_check_qualified.hpp"
#include "sol/stack_check_unqualified.hpp"
#include "sol/stack_core.hpp"
#include "sol/stack_field.hpp"
#include "sol/stack_get.hpp"
#include "sol/stack_get_qualified.hpp"
#include "sol/stack_get_unqualified.hpp"
#include "sol/stack_guard.hpp"
#include "sol/stack_iterator.hpp"
#include "sol/stack_pop.hpp"
#include "sol/stack_probe.hpp"
#include "sol/stack_proxy.hpp"
#include "sol/stack_proxy_base.hpp"
#include "sol/stack_push.hpp"
#include "sol/stack_reference.hpp"
#include "sol/state.hpp"
#include "sol/state_handling.hpp"
#include "sol/state_view.hpp"
#include "sol/string_view.hpp"
#include "sol/table.hpp"
#include "sol/table_core.hpp"
#include "sol/table_iterator.hpp"
#include "sol/table_proxy.hpp"
#include "sol/thread.hpp"
#include "sol/tie.hpp"
#include "sol/traits.hpp"
#include "sol/trampoline.hpp"
#include "sol/tuple.hpp"
#include "sol/types.hpp"
#include "sol/unicode.hpp"
#include "sol/unique_usertype_traits.hpp"
#include "sol/unsafe_function.hpp"
#include "sol/unsafe_function_result.hpp"
#include "sol/userdata.hpp"
#include "sol/usertype.hpp"
#include "sol/usertype_container.hpp"
#include "sol/usertype_container_launch.hpp"
#include "sol/usertype_core.hpp"
#include "sol/usertype_proxy.hpp"
#include "sol/usertype_storage.hpp"
#include "sol/usertype_traits.hpp"
#include "sol/variadic_args.hpp"
#include "sol/variadic_results.hpp"
#include "sol/version.hpp"
#include "sol/wrapper.hpp"