Merge pull request #291 from franzpoeschel/namespace-versioning

Use an inline namespace to distinguish emitted symbols by version numbers e4051f77d7
This commit is contained in:
ToruNiina
2025-05-17 07:21:19 +00:00
commit e671b8e3bd
193 changed files with 19632 additions and 0 deletions

View File

@@ -0,0 +1,146 @@
<!doctype html><html lang=ja dir=ltr><head><meta charset=UTF-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content='
installation
#
single_includeを使用する
#
single_include/toml.hppは、toml11が持つ全ての機能を単一のファイルにまとめたシングルファイル・ヘッダオンリーライブラリです。
これをINCLUDE_PATHが通っている箇所にコピーして#include <toml.hpp>とするのが最も単純な使用方法です。
MITライセンスの許諾表示はコメントとtoml:license_notice()関数の両方に含まれます。
ソースコードを公開せずに再頒布する場合は、toml11のライセンスファイルをコピーして同梱するか、この関数を呼び出せるようにしておいてください。
toml11をクローンし、cmakeを使って使用する
#
toml11をgit submoduleなどによって自身のレポジトリ下に配置した場合、cmakeを使用している場合はadd_subdirectory(toml11)のようにすることで使用可能になります。
add_subdirectory(toml11)
add_executable(main main.cpp)
target_link_libraries(main PUBLIC toml11::toml11)
toml11は自身がルートプロジェクトのときのみ、テストとインストールを行います。
CMake FetchContent
#
CMakeの FetchContentを使用することで、buildディレクトリに自動でダウンロードすることができます。
include(FetchContent)
FetchContent_Declare(
toml11
GIT_REPOSITORY https://github.com/ToruNiina/toml11.git
GIT_TAG v4.4.0
)
FetchContent_MakeAvailable(toml11)
add_executable(main main.cpp)
target_link_libraries(main PRIVATE toml11::toml11)
CMake Package Manager (CPM)
#
CMake package managerを導入すると、以下のようにして使用することができます。
include(cmake/CPM.cmake)
CPMAddPackage("gh:ToruNiina/toml11@4.4.0")
# OR
CPMAddPackage(
NAME toml11
GITHUB_REPOSITORY "ToruNiina/toml11"
VERSION 4.4.0
OPTIONS
"TOML11_PRECOMPILE ON" # to pre-compile
"TOML11_ENABLE_ACCESS_CHECK ON" # to use value.accessed()
)
add_executable(main main.cpp)
target_link_libraries(main PUBLIC toml11::toml11)
cmakeを使用してインストールする
#
toml11をクローンしたのち、cmakeを使ってインストールすることができます。'><meta name=theme-color media="(prefers-color-scheme: light)" content="#ffffff"><meta name=theme-color media="(prefers-color-scheme: dark)" content="#343a40"><meta name=color-scheme content="light dark"><meta property="og:url" content="https://toruniina.github.io/toml11/ja/docs/installation/"><meta property="og:site_name" content="toml11"><meta property="og:title" content="installation"><meta property="og:description" content='installation # single_includeを使用する # single_include/toml.hppは、toml11が持つ全ての機能を単一のファイルにまとめたシングルファイル・ヘッダオンリーライブラリです。
これをINCLUDE_PATHが通っている箇所にコピーして#include <toml.hpp>とするのが最も単純な使用方法です。
MITライセンスの許諾表示はコメントとtoml:license_notice()関数の両方に含まれます。 ソースコードを公開せずに再頒布する場合は、toml11のライセンスファイルをコピーして同梱するか、この関数を呼び出せるようにしておいてください。
toml11をクローンし、cmakeを使って使用する # toml11をgit submoduleなどによって自身のレポジトリ下に配置した場合、cmakeを使用している場合はadd_subdirectory(toml11)のようにすることで使用可能になります。
add_subdirectory(toml11) add_executable(main main.cpp) target_link_libraries(main PUBLIC toml11::toml11) toml11は自身がルートプロジェクトのときのみ、テストとインストールを行います。
CMake FetchContent # CMakeの FetchContentを使用することで、buildディレクトリに自動でダウンロードすることができます。
include(FetchContent) FetchContent_Declare( toml11 GIT_REPOSITORY https://github.com/ToruNiina/toml11.git GIT_TAG v4.4.0 ) FetchContent_MakeAvailable(toml11) add_executable(main main.cpp) target_link_libraries(main PRIVATE toml11::toml11) CMake Package Manager (CPM) # CMake package managerを導入すると、以下のようにして使用することができます。
include(cmake/CPM.cmake) CPMAddPackage("gh:ToruNiina/toml11@4.4.0") # OR CPMAddPackage( NAME toml11 GITHUB_REPOSITORY "ToruNiina/toml11" VERSION 4.4.0 OPTIONS "TOML11_PRECOMPILE ON" # to pre-compile "TOML11_ENABLE_ACCESS_CHECK ON" # to use value.accessed() ) add_executable(main main.cpp) target_link_libraries(main PUBLIC toml11::toml11) cmakeを使用してインストールする # toml11をクローンしたのち、cmakeを使ってインストールすることができます。'><meta property="og:locale" content="ja"><meta property="og:type" content="website"><title>installation | toml11</title>
<link rel=manifest href=/toml11/manifest.json><link rel=icon href=/toml11/favicon.png><link rel=canonical href=https://toruniina.github.io/toml11/ja/docs/installation/><link rel=alternate hreflang=en href=https://toruniina.github.io/toml11/docs/installation/ title=installation><link rel=stylesheet href=/toml11/book.min.ddac3efe7ea4c1007ff53e5a8fd67f12517e5d2e99984d8c67a18668f7ecaa03.css integrity="sha256-3aw+/n6kwQB/9T5aj9Z/ElF+XS6ZmE2MZ6GGaPfsqgM=" crossorigin=anonymous><script defer src=/toml11/fuse.min.js></script><script defer src=/toml11/ja.search.min.13aefbf6a803b591c02d5bc9a01dfe65fe37c31e2915c91573708d38e805d86c.js integrity="sha256-E6779qgDtZHALVvJoB3+Zf43wx4pFckVc3CNOOgF2Gw=" crossorigin=anonymous></script><link rel=alternate type=application/rss+xml href=https://toruniina.github.io/toml11/ja/docs/installation/index.xml title=toml11></head><body dir=ltr><input type=checkbox class="hidden toggle" id=menu-control>
<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><div class=book-menu-content><nav><h2 class=book-brand><a class="flex align-center" href=/toml11/ja/><span>toml11</span></a></h2><div class="book-search hidden"><input type=text id=book-search-input placeholder=検索 aria-label=検索 maxlength=64 data-hotkeys=s/><div class="book-search-spinner hidden"></div><ul id=book-search-results></ul></div><script>document.querySelector(".book-search").classList.remove("hidden")</script><ul class=book-languages><li><input type=checkbox id=languages class=toggle>
<label for=languages class="flex justify-between"><a role=button class="flex align-center"><img src=/toml11/svg/translate.svg class=book-icon alt=Languages>
日本語</a></label><ul><li><a href=https://toruniina.github.io/toml11/docs/installation/>English</a></li></ul></li></ul><ul><li><a href=/toml11/ja/docs/installation/ class=active>installation</a><ul></ul></li><li><input type=checkbox id=section-b4cfb5b55e913a8d853eacf5e8fba05f class=toggle>
<label for=section-b4cfb5b55e913a8d853eacf5e8fba05f class="flex justify-between"><a href=/toml11/ja/docs/features/>features</a></label><ul><li><a href=/toml11/ja/docs/features/parsing_files/>parsing files</a></li><li><a href=/toml11/ja/docs/features/value/>getting values</a></li><li><a href=/toml11/ja/docs/features/error_message/>error message</a></li><li><a href=/toml11/ja/docs/features/serialize/>serializing values</a></li><li><a href=/toml11/ja/docs/features/configure_types/>configuring types</a></li><li><a href=/toml11/ja/docs/features/literal/>toml literal</a></li><li><a href=/toml11/ja/docs/features/toml_spec/>toml spec</a></li><li><a href=/toml11/ja/docs/features/extension/>extension</a></li></ul></li><li><input type=checkbox id=section-01b096afc5186aea96713b408b47c967 class=toggle>
<label for=section-01b096afc5186aea96713b408b47c967 class="flex justify-between"><a href=/toml11/ja/docs/reference/>reference</a></label><ul><li><a href=/toml11/ja/docs/reference/color/>color.hpp</a></li><li><a href=/toml11/ja/docs/reference/comments/>comments.hpp</a></li><li><a href=/toml11/ja/docs/reference/conversion/>conversion.hpp</a></li><li><a href=/toml11/ja/docs/reference/datetime/>datetime.hpp</a></li><li><a href=/toml11/ja/docs/reference/error_info/>error_info.hpp</a></li><li><a href=/toml11/ja/docs/reference/exception/>exception.hpp</a></li><li><a href=/toml11/ja/docs/reference/find/>find.hpp</a></li><li><a href=/toml11/ja/docs/reference/format/>format.hpp</a></li><li><a href=/toml11/ja/docs/reference/from/>from.hpp</a></li><li><a href=/toml11/ja/docs/reference/get/>get.hpp</a></li><li><a href=/toml11/ja/docs/reference/into/>into.hpp</a></li><li><a href=/toml11/ja/docs/reference/literal/>literal.hpp</a></li><li><a href=/toml11/ja/docs/reference/ordered_map/>ordered_map.hpp</a></li><li><a href=/toml11/ja/docs/reference/parser/>parser.hpp</a></li><li><a href=/toml11/ja/docs/reference/result/>result.hpp</a></li><li><a href=/toml11/ja/docs/reference/serializer/>serializer.hpp</a></li><li><a href=/toml11/ja/docs/reference/source_location/>source_location.hpp</a></li><li><a href=/toml11/ja/docs/reference/spec/>spec.hpp</a></li><li><a href=/toml11/ja/docs/reference/toml_fwd/>toml_fwd.hpp</a></li><li><a href=/toml11/ja/docs/reference/toml/>toml.hpp</a></li><li><a href=/toml11/ja/docs/reference/types/>types.hpp</a></li><li><a href=/toml11/ja/docs/reference/value_t/>value_t.hpp</a></li><li><a href=/toml11/ja/docs/reference/value/>value.hpp</a></li><li><a href=/toml11/ja/docs/reference/version/>version.hpp</a></li><li><a href=/toml11/ja/docs/reference/visit/>visit.hpp</a></li></ul></li><li><a href=/toml11/ja/docs/changelog/>changelog</a><ul></ul></li></ul><ul><li><a href=https://github.com/ToruNiina/toml11 target=_blank rel=noopener>GitHub</a></li></ul></nav><script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script></div></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/toml11/svg/menu.svg class=book-icon alt=Menu>
</label><strong>installation</strong>
<label for=toc-control><img src=/toml11/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents><ul><li><a href=#installation>installation</a><ul><li><a href=#single_includeを使用する><code>single_include</code>を使用する</a></li><li><a href=#toml11をクローンしcmakeを使って使用する>toml11をクローンし、<code>cmake</code>を使って使用する</a><ul><li><a href=#cmake-fetchcontent>CMake <code>FetchContent</code></a></li><li><a href=#cmake-package-manager-cpm>CMake Package Manager (CPM)</a></li></ul></li><li><a href=#cmakeを使用してインストールする><code>cmake</code>を使用してインストールする</a></li><li><a href=#cmakeを使用してコンパイルし静的ライブラリを作成する><code>cmake</code>を使用してコンパイルし、静的ライブラリを作成する</a></li><li><a href=#examplesをコンパイルする>examplesをコンパイルする</a></li><li><a href=#テストを実行する>テストを実行する</a></li></ul></li></ul></nav></aside></header><article class="markdown book-article"><h1 id=installation>installation
<a class=anchor href=#installation>#</a></h1><h2 id=single_includeを使用する><code>single_include</code>を使用する
<a class=anchor href=#single_include%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%99%e3%82%8b>#</a></h2><p><code>single_include/toml.hpp</code>は、<code>toml11</code>が持つ全ての機能を単一のファイルにまとめたシングルファイル・ヘッダオンリーライブラリです。</p><p>これを<code>INCLUDE_PATH</code>が通っている箇所にコピーして<code>#include &lt;toml.hpp></code>とするのが最も単純な使用方法です。</p><p>MITライセンスの許諾表示はコメントと<code>toml:license_notice()</code>関数の両方に含まれます。
ソースコードを公開せずに再頒布する場合は、toml11のライセンスファイルをコピーして同梱するか、この関数を呼び出せるようにしておいてください。</p><h2 id=toml11をクローンしcmakeを使って使用する>toml11をクローンし、<code>cmake</code>を使って使用する
<a class=anchor href=#toml11%e3%82%92%e3%82%af%e3%83%ad%e3%83%bc%e3%83%b3%e3%81%97cmake%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e4%bd%bf%e7%94%a8%e3%81%99%e3%82%8b>#</a></h2><p><code>toml11</code><code>git submodule</code>などによって自身のレポジトリ下に配置した場合、<code>cmake</code>を使用している場合は<code>add_subdirectory(toml11)</code>のようにすることで使用可能になります。</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-cmake data-lang=cmake><span style=display:flex><span>add_subdirectory(<span style=color:#e6db74>toml11</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span>add_executable(<span style=color:#e6db74>main</span> <span style=color:#e6db74>main.cpp</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span>target_link_libraries(<span style=color:#e6db74>main</span> <span style=color:#e6db74>PUBLIC</span> <span style=color:#e6db74>toml11::toml11</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span></code></pre></div><p><code>toml11</code>は自身がルートプロジェクトのときのみ、テストとインストールを行います。</p><h3 id=cmake-fetchcontent>CMake <code>FetchContent</code>
<a class=anchor href=#cmake-fetchcontent>#</a></h3><p>CMakeの <code>FetchContent</code>を使用することで、<code>build</code>ディレクトリに自動でダウンロードすることができます。</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-cmake data-lang=cmake><span style=display:flex><span>include(<span style=color:#e6db74>FetchContent</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span>FetchContent_Declare(
</span></span><span style=display:flex><span> <span style=color:#e6db74>toml11</span>
</span></span><span style=display:flex><span> <span style=color:#e6db74>GIT_REPOSITORY</span> <span style=color:#e6db74>https://github.com/ToruNiina/toml11.git</span>
</span></span><span style=display:flex><span> <span style=color:#e6db74>GIT_TAG</span> <span style=color:#e6db74>v4.4.0</span>
</span></span><span style=display:flex><span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span>FetchContent_MakeAvailable(<span style=color:#e6db74>toml11</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span>add_executable(<span style=color:#e6db74>main</span> <span style=color:#e6db74>main.cpp</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span>target_link_libraries(<span style=color:#e6db74>main</span> <span style=color:#e6db74>PRIVATE</span> <span style=color:#e6db74>toml11::toml11</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span></code></pre></div><h3 id=cmake-package-manager-cpm>CMake Package Manager (CPM)
<a class=anchor href=#cmake-package-manager-cpm>#</a></h3><p><a href=https://github.com/cpm-cmake/CPM.cmake>CMake package manager</a>を導入すると、以下のようにして使用することができます。</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-cmake data-lang=cmake><span style=display:flex><span>include(<span style=color:#e6db74>cmake/CPM.cmake</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span>CPMAddPackage(<span style=color:#e6db74>&#34;gh:ToruNiina/toml11@4.4.0&#34;</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span><span style=color:#75715e># OR
</span></span></span><span style=display:flex><span><span style=color:#75715e></span><span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span>CPMAddPackage(
</span></span><span style=display:flex><span> <span style=color:#e6db74>NAME</span> <span style=color:#e6db74>toml11</span>
</span></span><span style=display:flex><span> <span style=color:#e6db74>GITHUB_REPOSITORY</span> <span style=color:#e6db74>&#34;ToruNiina/toml11&#34;</span>
</span></span><span style=display:flex><span> <span style=color:#e6db74>VERSION</span> <span style=color:#e6db74>4.4.0</span>
</span></span><span style=display:flex><span> <span style=color:#e6db74>OPTIONS</span>
</span></span><span style=display:flex><span> <span style=color:#e6db74>&#34;TOML11_PRECOMPILE ON&#34;</span> <span style=color:#75715e># to pre-compile
</span></span></span><span style=display:flex><span><span style=color:#75715e></span> <span style=color:#e6db74>&#34;TOML11_ENABLE_ACCESS_CHECK ON&#34;</span> <span style=color:#75715e># to use value.accessed()
</span></span></span><span style=display:flex><span><span style=color:#75715e></span> )<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span>add_executable(<span style=color:#e6db74>main</span> <span style=color:#e6db74>main.cpp</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span>target_link_libraries(<span style=color:#e6db74>main</span> <span style=color:#e6db74>PUBLIC</span> <span style=color:#e6db74>toml11::toml11</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span></code></pre></div><h2 id=cmakeを使用してインストールする><code>cmake</code>を使用してインストールする
<a class=anchor href=#cmake%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%97%e3%81%a6%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b>#</a></h2><p><code>toml11</code>をクローンしたのち、<code>cmake</code>を使ってインストールすることができます。</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span>$ cmake -B ./build/ -DTOML11_BUILD_TESTS<span style=color:#f92672>=</span>ON
</span></span><span style=display:flex><span>$ cmake --install ./build/ --prefix<span style=color:#f92672>=</span>/opt/toml11
</span></span></code></pre></div><p>インストールの前にテストプログラムを実行する際は、最初に<code>-DTOML11_BUILD_TESTS=ON</code>を設定してください。</p><p>インストールが完了すれば、以下のようにして使用できます。</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-cmake data-lang=cmake><span style=display:flex><span>find_package(<span style=color:#e6db74>toml11</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span>add_executable(<span style=color:#e6db74>main</span> <span style=color:#e6db74>main.cpp</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span>target_link_libraries(<span style=color:#e6db74>main</span> <span style=color:#e6db74>PRIVATE</span> <span style=color:#e6db74>toml11::toml11</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span></code></pre></div><h2 id=cmakeを使用してコンパイルし静的ライブラリを作成する><code>cmake</code>を使用してコンパイルし、静的ライブラリを作成する
<a class=anchor href=#cmake%e3%82%92%e4%bd%bf%e7%94%a8%e3%81%97%e3%81%a6%e3%82%b3%e3%83%b3%e3%83%91%e3%82%a4%e3%83%ab%e3%81%97%e9%9d%99%e7%9a%84%e3%83%a9%e3%82%a4%e3%83%96%e3%83%a9%e3%83%aa%e3%82%92%e4%bd%9c%e6%88%90%e3%81%99%e3%82%8b>#</a></h2><p><code>cmake</code>の実行時に<code>-DTOML11_PRECOMPILE=ON</code>を定義することで、<code>toml11</code>の関数のうちコンパイルできるものを先にコンパイルして、全体のコンパイル時間を短縮することができます。</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span>$ cmake -B ./build/ -DTOML11_PRECOMPILE<span style=color:#f92672>=</span>ON
</span></span></code></pre></div><p>ライブラリをリンクする場合は、CMakeで</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-cmake data-lang=cmake><span style=display:flex><span>target_link_libraries(<span style=color:#e6db74>your_target</span> <span style=color:#e6db74>PUBLIC</span> <span style=color:#e6db74>toml11::toml11</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span></code></pre></div><p>とするか、ヘッダ内の関数の<code>inline</code>化を避けるためにコンパイラに<code>-DTOML11_COMPILE_SOURCES</code>を渡してください。</p><p>ただし、toml11は複数のC++バージョンに対応するため、<code>__cplusplus</code>の値などによって型を切り替えることがあります。
そのため、ビルドした際のバージョンと使用時のバージョンが異なる場合、リンクに失敗する可能性があります。
問題が生じた場合は<code>CMAKE_CXX_STANDARD</code>によって必要なバージョンを設定してコンパイルしてください。
それが難しい場合は、通常通りヘッダオンリーライブラリとして使用してください。</p><p><code>find_package(toml11)</code>によって<code>TOML11_INCLUDE_DIR</code>が定義されます。
コンパイル済みライブラリとしてインストールした場合でも、 <code>TOML11_INCLUDE_DIR</code>
<code>include_directories</code> に追加した上で <code>target_link_libraries</code>
使用しないようにすれば、ヘッダオンリーライブラリとして使用可能です。</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-cmake data-lang=cmake><span style=display:flex><span>find_package(<span style=color:#e6db74>toml11</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span>add_executable(<span style=color:#e6db74>main</span> <span style=color:#e6db74>main.cpp</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span><span style=display:flex><span><span style=color:#960050;background-color:#1e0010></span><span style=color:#75715e># インクルードのみ可能にし、リンクを行わない
</span></span></span><span style=display:flex><span><span style=color:#75715e></span>target_include_directories(<span style=color:#e6db74>main</span> <span style=color:#e6db74>PRIVATE</span> <span style=color:#f92672>${</span>TOML11_INCLUDE_DIR<span style=color:#f92672>}</span>)<span style=color:#960050;background-color:#1e0010>
</span></span></span></code></pre></div><h2 id=examplesをコンパイルする>examplesをコンパイルする
<a class=anchor href=#examples%e3%82%92%e3%82%b3%e3%83%b3%e3%83%91%e3%82%a4%e3%83%ab%e3%81%99%e3%82%8b>#</a></h2><p><code>-DTOML11_BUILD_EXAMPLES=ON</code>とすることで、<code>examples/</code>をコンパイルできます。</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span>$ cmake -B ./build/ -DTOML11_BUILD_EXAMPLES<span style=color:#f92672>=</span>ON
</span></span><span style=display:flex><span>$ cmake --build ./build/
</span></span></code></pre></div><p><code>examples</code>の実行バイナリは<code>examples/</code>に生成されます。</p><h2 id=テストを実行する>テストを実行する
<a class=anchor href=#%e3%83%86%e3%82%b9%e3%83%88%e3%82%92%e5%ae%9f%e8%a1%8c%e3%81%99%e3%82%8b>#</a></h2><p>テストをビルドするためには、<code>-DTOML11_BUILD_TESTS=ON</code>とします。</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span>$ git submodule update --init --recursive
</span></span><span style=display:flex><span>$ cmake -B ./build/ -DTOML11_BUILD_TESTS<span style=color:#f92672>=</span>ON
</span></span><span style=display:flex><span>$ cmake --build ./build/
</span></span><span style=display:flex><span>$ ctest --test_dir ./build/
</span></span></code></pre></div><p>toml-lang/toml-testsを実行するには、<code>-DTOML11_BUILD_TOML_TESTS=ON</code>とします。
すると、<code>tests/</code><code>toml11_decoder</code><code>toml11_encoder</code>がビルドされます。</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-console data-lang=console><span style=display:flex><span>$ git submodule update --init --recursive
</span></span><span style=display:flex><span>$ cmake -B ./build/ -DTOML11_BUILD_TOML_TESTS<span style=color:#f92672>=</span>ON
</span></span><span style=display:flex><span>$ cmake --build ./build/
</span></span><span style=display:flex><span>$ ctest --test_dir ./build/
</span></span></code></pre></div></article><footer class=book-footer><div class="flex flex-wrap justify-between"></div><script>(function(){function e(e){const t=window.getSelection(),n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)}document.querySelectorAll("pre code").forEach(t=>{t.addEventListener("click",function(){if(window.getSelection().toString())return;e(t.parentElement),navigator.clipboard&&navigator.clipboard.writeText(t.parentElement.textContent)})})})()</script></footer><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><div class=book-toc-content><nav id=TableOfContents><ul><li><a href=#installation>installation</a><ul><li><a href=#single_includeを使用する><code>single_include</code>を使用する</a></li><li><a href=#toml11をクローンしcmakeを使って使用する>toml11をクローンし、<code>cmake</code>を使って使用する</a><ul><li><a href=#cmake-fetchcontent>CMake <code>FetchContent</code></a></li><li><a href=#cmake-package-manager-cpm>CMake Package Manager (CPM)</a></li></ul></li><li><a href=#cmakeを使用してインストールする><code>cmake</code>を使用してインストールする</a></li><li><a href=#cmakeを使用してコンパイルし静的ライブラリを作成する><code>cmake</code>を使用してコンパイルし、静的ライブラリを作成する</a></li><li><a href=#examplesをコンパイルする>examplesをコンパイルする</a></li><li><a href=#テストを実行する>テストを実行する</a></li></ul></li></ul></nav></div></aside></main></body></html>

View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>installation on toml11</title><link>https://toruniina.github.io/toml11/ja/docs/installation/</link><description>Recent content in installation on toml11</description><generator>Hugo</generator><language>ja</language><atom:link href="https://toruniina.github.io/toml11/ja/docs/installation/index.xml" rel="self" type="application/rss+xml"/></channel></rss>