-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update gh-pages to output generated at 428c7b6
- Loading branch information
1 parent
39c543f
commit 0322d90
Showing
45 changed files
with
4,427 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Sphinx build info version 1 | ||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. | ||
config: 63bc53e013dbf7f4fa963d6d56c19123 | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
Index | ||
***** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
hyperion::mpl | ||
****************** | ||
|
||
hyperion::mpl is a C++20 meta programming library similar to Boost.Hana. | ||
|
||
It's currently under active development and has not yet hit a stable release point. | ||
|
||
See the :doc:`Quick Start Guide <quick_start>` for how to get started using hyperion::mpl. | ||
|
||
For an overview of each module, see the links in the left sidebar or below. | ||
|
||
.. code-block:: cpp | ||
:caption: Example | ||
:linenos: | ||
#include <hyperion/mpl/list.h> | ||
.. toctree:: | ||
:caption: Getting Started | ||
|
||
quick_start | ||
|
||
.. toctree:: | ||
:caption: Quick Reference | ||
|
||
genindex | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
Quick Start Guide | ||
***************** | ||
|
||
hyperion::mpl supports both CMake and XMake, and incorporating it in your project is quick and | ||
easy. | ||
|
||
CMake | ||
----- | ||
|
||
hyperion::latform is easily incorporated into a raw CMake project with :cmake:`FetchContent` or | ||
other methods like :cmake:`add_subdirectory`\. Example for :cmake:`FetchContent`\: | ||
|
||
.. code-block:: cmake | ||
:caption: CMakeLists.txt | ||
:linenos: | ||
# Include FetchContent so we can use it | ||
include(FetchContent) | ||
# Declare the dependency on hyperion-utils and make it available for use | ||
FetchContent_Declare(hyperion_mpl | ||
GIT_REPOSITORY "https://github.com/braxtons12/hyperion_mpl" | ||
GIT_TAG "origin/main") | ||
FetchContent_MakeAvailable(hyperion_mpl) | ||
# For this example, we create an executable target and link hyperion::mpl to it | ||
add_executable(MyExecutable "${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp") | ||
target_link_libraries(MyExecutable PRIVATE hyperion::mpl) | ||
Note that hyperion::mpl depends on | ||
`hyperion::platform <https://github.com/braxtons12/hyperion_platform>`_ for platform and feature | ||
detection macros and other core utilities, `doctest <https://github.com/doctest/doctestdoctest>`_ | ||
for testing, and optionally depends on `Tracy <https://github.com/wolfpld/tracy>`_ for the profiling | ||
macros `hyperion::platform` wraps in :cpp:`#include <hyperion/platform/def.h>`\ (set the option | ||
:cmake:`HYPERION_ENABLE_TRACY` to :cmake:`ON` to enable these). By default, it will use | ||
:cmake:`FetchContent` to obtain these dependencies, but you can disable this by setting | ||
:cmake:`HYPERION_USE_FETCH_CONTENT` to :cmake:`OFF`\, in which case you will need to make sure each | ||
package is findable via CMake's :cmake:`find_package`. | ||
|
||
XMake | ||
----- | ||
|
||
XMake is a new(er) Lua-based build system with integrated package management. It is the preferred | ||
way to use Hyperion packages. Example: | ||
|
||
.. code-block:: lua | ||
:caption: xmake.lua | ||
:linenos: | ||
set_project("my_project") | ||
-- add the hyperion_packages git repository as an XMake repository | ||
add_repositories("hyperion https://github.com/braxtons12/hyperion_packages.git") | ||
-- add hyperion_mpl as a required dependency for the project | ||
add_requires("hyperion_mpl", { | ||
-- Don't verify the git commit. This is necessary because hyperion::mpl hasn't reached | ||
-- an official release yet, and thus doesn't have a stable git commit to track. | ||
-- This allows pulling directly from $HEAD | ||
verify = false, | ||
}) | ||
-- For this example, we create an executable target and link hyperion::mpl to it | ||
target("my_executable") | ||
set_kind("binary") | ||
add_packages("hyperion_mpl") |
Oops, something went wrong.