Skip to content

Commit 0322d90

Browse files
committed
Update gh-pages to output generated at 428c7b6
1 parent 39c543f commit 0322d90

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+4427
-0
lines changed

.buildinfo

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Sphinx build info version 1
2+
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3+
config: 63bc53e013dbf7f4fa963d6d56c19123
4+
tags: 645f666f9bcd5a90fca523b33c5a78b7

_sources/genindex.rst.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Index
2+
*****

_sources/index.rst.txt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
hyperion::mpl
2+
******************
3+
4+
hyperion::mpl is a C++20 meta programming library similar to Boost.Hana.
5+
6+
It's currently under active development and has not yet hit a stable release point.
7+
8+
See the :doc:`Quick Start Guide <quick_start>` for how to get started using hyperion::mpl.
9+
10+
For an overview of each module, see the links in the left sidebar or below.
11+
12+
.. code-block:: cpp
13+
:caption: Example
14+
:linenos:
15+
16+
#include <hyperion/mpl/list.h>
17+
18+
19+
.. toctree::
20+
:caption: Getting Started
21+
22+
quick_start
23+
24+
.. toctree::
25+
:caption: Quick Reference
26+
27+
genindex
28+

_sources/quick_start.rst.txt

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
Quick Start Guide
2+
*****************
3+
4+
hyperion::mpl supports both CMake and XMake, and incorporating it in your project is quick and
5+
easy.
6+
7+
CMake
8+
-----
9+
10+
hyperion::latform is easily incorporated into a raw CMake project with :cmake:`FetchContent` or
11+
other methods like :cmake:`add_subdirectory`\. Example for :cmake:`FetchContent`\:
12+
13+
.. code-block:: cmake
14+
:caption: CMakeLists.txt
15+
:linenos:
16+
17+
# Include FetchContent so we can use it
18+
include(FetchContent)
19+
20+
# Declare the dependency on hyperion-utils and make it available for use
21+
FetchContent_Declare(hyperion_mpl
22+
GIT_REPOSITORY "https://github.com/braxtons12/hyperion_mpl"
23+
GIT_TAG "origin/main")
24+
FetchContent_MakeAvailable(hyperion_mpl)
25+
26+
# For this example, we create an executable target and link hyperion::mpl to it
27+
add_executable(MyExecutable "${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp")
28+
target_link_libraries(MyExecutable PRIVATE hyperion::mpl)
29+
30+
Note that hyperion::mpl depends on
31+
`hyperion::platform <https://github.com/braxtons12/hyperion_platform>`_ for platform and feature
32+
detection macros and other core utilities, `doctest <https://github.com/doctest/doctestdoctest>`_
33+
for testing, and optionally depends on `Tracy <https://github.com/wolfpld/tracy>`_ for the profiling
34+
macros `hyperion::platform` wraps in :cpp:`#include <hyperion/platform/def.h>`\ (set the option
35+
:cmake:`HYPERION_ENABLE_TRACY` to :cmake:`ON` to enable these). By default, it will use
36+
:cmake:`FetchContent` to obtain these dependencies, but you can disable this by setting
37+
:cmake:`HYPERION_USE_FETCH_CONTENT` to :cmake:`OFF`\, in which case you will need to make sure each
38+
package is findable via CMake's :cmake:`find_package`.
39+
40+
XMake
41+
-----
42+
43+
XMake is a new(er) Lua-based build system with integrated package management. It is the preferred
44+
way to use Hyperion packages. Example:
45+
46+
.. code-block:: lua
47+
:caption: xmake.lua
48+
:linenos:
49+
50+
set_project("my_project")
51+
52+
-- add the hyperion_packages git repository as an XMake repository
53+
add_repositories("hyperion https://github.com/braxtons12/hyperion_packages.git")
54+
55+
-- add hyperion_mpl as a required dependency for the project
56+
add_requires("hyperion_mpl", {
57+
-- Don't verify the git commit. This is necessary because hyperion::mpl hasn't reached
58+
-- an official release yet, and thus doesn't have a stable git commit to track.
59+
-- This allows pulling directly from $HEAD
60+
verify = false,
61+
})
62+
63+
-- For this example, we create an executable target and link hyperion::mpl to it
64+
target("my_executable")
65+
set_kind("binary")
66+
add_packages("hyperion_mpl")

0 commit comments

Comments
 (0)