{"id":16655278,"url":"https://github.com/macr0nerd/libeztp","last_synced_at":"2026-05-18T13:33:23.368Z","repository":{"id":53815304,"uuid":"256665199","full_name":"Macr0Nerd/libeztp","owner":"Macr0Nerd","description":"A C++ library that has functionality for a multitude of tabletop games. Has D\u0026D 5e SRND content built in by default.","archived":false,"fork":false,"pushed_at":"2021-10-04T17:43:14.000Z","size":315,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"dev","last_synced_at":"2025-01-19T11:31:46.438Z","etag":null,"topics":["cmake","cpp","dnd5e","dungeons-and-dragons","game-development","gaming","gpl","gplv3","library","open-source","opensource","tabletop","tabletop-gaming"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Macr0Nerd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-18T03:57:31.000Z","updated_at":"2023-10-26T15:16:00.000Z","dependencies_parsed_at":"2022-08-19T18:20:43.894Z","dependency_job_id":null,"html_url":"https://github.com/Macr0Nerd/libeztp","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Macr0Nerd%2Flibeztp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Macr0Nerd%2Flibeztp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Macr0Nerd%2Flibeztp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Macr0Nerd%2Flibeztp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Macr0Nerd","download_url":"https://codeload.github.com/Macr0Nerd/libeztp/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243275833,"owners_count":20265233,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmake","cpp","dnd5e","dungeons-and-dragons","game-development","gaming","gpl","gplv3","library","open-source","opensource","tabletop","tabletop-gaming"],"created_at":"2024-10-12T09:52:29.051Z","updated_at":"2025-12-27T17:16:02.282Z","avatar_url":"https://github.com/Macr0Nerd.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](logo.png)\n# EZ Tabletop Library\n\n##### Jump To\n * [FAQ](#faq)\n * [Requirements](#requirements)\n * [Depencies](#dependencies)\n * [Compiling](#compiling)\n * [Using](#using)\n * [License](#license)\n\n## FAQ\n#### What is LIBEZTP?\nLIBEZTP is a C++ library aimed at create an easy to use library for tabletop game adaptations made in C++.\nIt has the necessary features to make and manage characters, items, and races in an easy format.\nThis is mostly because I plan on making some DM tools and one universal library would be pretty slick.\n\n#### Where did the code for LIBEZTP come from?\nI tried to make a Server-Client D\u0026D application in mostly headers.\nI failed miserably and rebranded it as a D\u0026D framework, but a lot of the code was actually decent.\nI'm using this to fix the mistakes I made and make it an actual usable library.\n\nHowever, a lot of the code that is soon to come will be all fresh!\n\n## Requirements\n * C++17 capable compiler (gcc, clang, msvc)\n * CMake 3.14 or above\n\n## Dependencies\nThe dependencies are not required to install.\nThey will be automatically pulled using `FetchContent`, which does require an internet connection to pull.\n\n * [Nlohmann_json](https://github.com/ArthurSonzogni/nlohmann_json_cmake_fetchcontent)\n * [Catch2](https://github.com/catchorg/Catch2)\n\n## Compiling\n 1. Clone the git repo\n 2. In the cloned repo root directory, type\n \n    ```bash\n    cmake -E make_directory build\n    cd build\n    cmake .. -DCMAKE_BUILD_TYPE=Release\n    cmake --build . --config Release\n    cmake --install .\n    ```\n    \n    This will create a new directory called `build` that will hold all your build files.\n    It will them use cmake to compile the files and create the library file.\n    With this done, it will install the library files and headers into their respective spots.\n    \n 3. If you wish to verify that the files worked, in `build` you may run\n    \n    ```bash\n    ctest --verbose -C Release\n    ```\n    \n    This will very plainly tell you which tests succeeded and failed.\n    If any failed, please make an issue request on the GitHub.\n\n## Using\nThis project provides two ways to easily use this library.\nThese are to use `find_package` or `FetchContent`.\n\n### `find_package()`\nTo use `find_package`, all you need to do is to install as described in [compiling](#compiling)!\nThen, simply add the following line to your `CMakeLists.txt` and it'll be added to your project without a hitch.\n\n```cmake\nfind_package(LibEZTP 1.2.1 REQUIRED)\n\n#All the fun stuff with your executable\n\ntarget_link_libraries(YourExecutable PRIVATE LibEZTP::LibEZTP)\n```\n\n### `FetchContent`\nAnother, possibly easier, way to add LibEZTP to your project is to use `FetchContent`.\nThis eliminates the need to install the project, and can be done on the fly.\n\n```cmake\ninclude(FetchContent)\nFetchContent_Declare(\n        eztp\n        GIT_REPOSITORY https://github.com/Macr0Nerd/libeztp.git\n        GIT_TAG v1.2.1\n)\n\nFetchContent_MakeAvailable(eztp)\n\n#All the fun stuff with your executable\n\ntarget_link_libraries(YourExecutable PRIVATE LibEZTP::LibEZTP)\n```\n\n## License\nCopyright (C) 2021  [Gabriele Alessandro Ron](https://macr0nerd.github.io)\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n\n***\n\nThis class contains the JSON Parser from Niels Lohmann which is licensed under the [MIT License](https://opensource.org/licenses/MIT). Copyright © 2013-2019 [Niels Lohmann](http://nlohmann.me/)\n\nThis class contains the Catch2 Testing Library from Catch Org which is licensed under the [Boost License](https://opensource.org/licenses/BSL-1.0). Copyright © 2012-2020 [Catch Org](https://github.com/catchorg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmacr0nerd%2Flibeztp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmacr0nerd%2Flibeztp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmacr0nerd%2Flibeztp/lists"}