Mercurial > minori
comparison dep/fmt/doc/html/usage.html @ 343:1faa72660932
*: transfer back to cmake from autotools
autotools just made lots of things more complicated than
they should have and many things broke (i.e. translations)
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Thu, 20 Jun 2024 05:56:06 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 342:adb79bdde329 | 343:1faa72660932 |
|---|---|
| 1 <!DOCTYPE html> | |
| 2 | |
| 3 | |
| 4 <html lang="en"> | |
| 5 <head> | |
| 6 <meta charset="utf-8"> | |
| 7 <meta http-equiv="X-UA-Compatible" content="IE=edge"> | |
| 8 <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| 9 | |
| 10 <meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> | |
| 11 | |
| 12 <title>Usage — fmt 10.2.1 documentation</title> | |
| 13 | |
| 14 <link rel="stylesheet" href="_static/basic.css" type="text/css" /> | |
| 15 <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> | |
| 16 <link rel="stylesheet" href="_static/breathe.css" type="text/css" /> | |
| 17 | |
| 18 <script type="text/javascript"> | |
| 19 var DOCUMENTATION_OPTIONS = { | |
| 20 URL_ROOT: './', | |
| 21 VERSION: '10.2.1', | |
| 22 COLLAPSE_INDEX: false, | |
| 23 FILE_SUFFIX: '.html', | |
| 24 LINK_SUFFIX: '.html', | |
| 25 SOURCELINK_SUFFIX: '.txt', | |
| 26 HAS_SOURCE: true, | |
| 27 SOURCELINK_SUFFIX: '.txt' | |
| 28 }; | |
| 29 </script> | |
| 30 <script src="_static/jquery.js"></script> | |
| 31 <script src="_static/underscore.js"></script> | |
| 32 <script src="_static/doctools.js"></script> | |
| 33 <script src="_static/language_data.js"></script> | |
| 34 <link rel="index" title="Index" href="genindex.html" /> | |
| 35 <link rel="search" title="Search" href="search.html" /> | |
| 36 <meta name="description" content="Small, safe and fast formatting library"> | |
| 37 <meta name="keywords" content="C++, formatting, printf, string, library"> | |
| 38 <meta name="author" content="Victor Zverovich"> | |
| 39 <link rel="stylesheet" href="_static/fmt.css"> | |
| 40 | |
| 41 <script async src="https://www.googletagmanager.com/gtag/js?id=UA-20116650-4"></script> | |
| 42 <script> | |
| 43 window.dataLayer = window.dataLayer || []; | |
| 44 function gtag(){dataLayer.push(arguments);} | |
| 45 gtag('js', new Date()); | |
| 46 | |
| 47 gtag('config', 'UA-20116650-4'); | |
| 48 </script> | |
| 49 | |
| 50 </head> | |
| 51 <body role="document"> | |
| 52 <nav class="navbar navbar-inverse"> | |
| 53 <div class="tb-container"> | |
| 54 <div class="row"> | |
| 55 <div class="navbar-content"> | |
| 56 | |
| 57 <div class="navbar-header"> | |
| 58 <button type="button" class="navbar-toggle collapsed" | |
| 59 data-toggle="collapse" data-target=".navbar-collapse"> | |
| 60 <span class="sr-only">Toggle navigation</span> | |
| 61 <span class="icon-bar"></span> | |
| 62 <span class="icon-bar"></span> | |
| 63 <span class="icon-bar"></span> | |
| 64 </button> | |
| 65 <a class="navbar-brand" href="index.html">{fmt}</a> | |
| 66 </div> | |
| 67 | |
| 68 | |
| 69 <div class="collapse navbar-collapse"> | |
| 70 <ul class="nav navbar-nav"> | |
| 71 <li class="dropdown"> | |
| 72 <a href="#" class="dropdown-toggle" data-toggle="dropdown" | |
| 73 role="button" aria-expanded="false">10.2.1 | |
| 74 <span class="caret"></span></a> | |
| 75 <ul class="dropdown-menu" role="menu"> | |
| 76 | |
| 77 <li><a href="https://fmt.dev/10.2.1">10.2.1</a></li> | |
| 78 | |
| 79 <li><a href="https://fmt.dev/10.2.0">10.2.0</a></li> | |
| 80 | |
| 81 <li><a href="https://fmt.dev/10.1.1">10.1.1</a></li> | |
| 82 | |
| 83 </ul> | |
| 84 </li> | |
| 85 | |
| 86 | |
| 87 <li><a href="contents.html">Contents</a></li> | |
| 88 | |
| 89 | |
| 90 | |
| 91 <li class="active"><a href="usage.html">Usage | |
| 92 <span class="sr-only">(current)</span></a></li> | |
| 93 | |
| 94 | |
| 95 | |
| 96 <li><a href="api.html">API</a></li> | |
| 97 | |
| 98 | |
| 99 | |
| 100 <li><a href="syntax.html">Syntax</a></li> | |
| 101 | |
| 102 | |
| 103 </ul> | |
| 104 | |
| 105 | |
| 106 <form class="navbar-form navbar-right" role="search" action="search.html" | |
| 107 method="get"> | |
| 108 <div class="form-group"> | |
| 109 <input type="text" name="q" class="form-control" | |
| 110 placeholder="Search" > | |
| 111 </div> | |
| 112 <input type="hidden" name="check_keywords" value="yes" /> | |
| 113 <input type="hidden" name="area" value="default" /> | |
| 114 | |
| 115 </form> | |
| 116 | |
| 117 </div> | |
| 118 </div> | |
| 119 </div> | |
| 120 </div> | |
| 121 </nav> | |
| 122 | |
| 123 | |
| 124 | |
| 125 <div class="tb-container"> | |
| 126 <div class="row"> | |
| 127 | |
| 128 | |
| 129 <div class="content"> | |
| 130 | |
| 131 <section id="usage"> | |
| 132 <h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1> | |
| 133 <p>To use the {fmt} library, add <code class="file docutils literal notranslate"><span class="pre">fmt/core.h</span></code>, <code class="file docutils literal notranslate"><span class="pre">fmt/format.h</span></code>, | |
| 134 <code class="file docutils literal notranslate"><span class="pre">fmt/format-inl.h</span></code>, <code class="file docutils literal notranslate"><span class="pre">src/format.cc</span></code> and optionally other headers | |
| 135 from a <a class="reference external" href="https://github.com/fmtlib/fmt/releases/latest">release archive</a> or | |
| 136 the <a class="reference external" href="https://github.com/fmtlib/fmt">Git repository</a> to your project. | |
| 137 Alternatively, you can <a class="reference internal" href="#building"><span class="std std-ref">build the library with CMake</span></a>.</p> | |
| 138 <section id="building-the-library"> | |
| 139 <span id="building"></span><h2>Building the Library<a class="headerlink" href="#building-the-library" title="Permalink to this headline">¶</a></h2> | |
| 140 <p>The included <a class="reference external" href="https://github.com/fmtlib/fmt/blob/master/CMakeLists.txt">CMake build script</a> can be used to build the fmt | |
| 141 library on a wide range of platforms. CMake is freely available for | |
| 142 download from <a class="reference external" href="https://www.cmake.org/download/">https://www.cmake.org/download/</a>.</p> | |
| 143 <p>CMake works by generating native makefiles or project files that can | |
| 144 be used in the compiler environment of your choice. The typical | |
| 145 workflow starts with:</p> | |
| 146 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span>mkdir build # Create a directory to hold the build output. | |
| 147 cd build | |
| 148 cmake .. # Generate native build scripts. | |
| 149 </pre></div> | |
| 150 </div> | |
| 151 <p>where <code class="file docutils literal notranslate"><em><span class="pre"><path/to/fmt></span></em></code> is a path to the <code class="docutils literal notranslate"><span class="pre">fmt</span></code> repository.</p> | |
| 152 <p>If you are on a *nix system, you should now see a Makefile in the | |
| 153 current directory. Now you can build the library by running <strong class="command">make</strong>.</p> | |
| 154 <p>Once the library has been built you can invoke <strong class="command">make test</strong> to run | |
| 155 the tests.</p> | |
| 156 <p>You can control generation of the make <code class="docutils literal notranslate"><span class="pre">test</span></code> target with the <code class="docutils literal notranslate"><span class="pre">FMT_TEST</span></code> | |
| 157 CMake option. This can be useful if you include fmt as a subdirectory in | |
| 158 your project but don’t want to add fmt’s tests to your <code class="docutils literal notranslate"><span class="pre">test</span></code> target.</p> | |
| 159 <p>If you use Windows and have Visual Studio installed, a <code class="file docutils literal notranslate"><span class="pre">FMT.sln</span></code> | |
| 160 file and several <code class="file docutils literal notranslate"><span class="pre">.vcproj</span></code> files will be created. You can then build them | |
| 161 using Visual Studio or msbuild.</p> | |
| 162 <p>On Mac OS X with Xcode installed, an <code class="file docutils literal notranslate"><span class="pre">.xcodeproj</span></code> file will be generated.</p> | |
| 163 <p>To build a <a class="reference external" href="https://en.wikipedia.org/wiki/Library_%28computing%29#Shared_libraries">shared library</a> set the <code class="docutils literal notranslate"><span class="pre">BUILD_SHARED_LIBS</span></code> CMake variable to | |
| 164 <code class="docutils literal notranslate"><span class="pre">TRUE</span></code>:</p> | |
| 165 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">cmake</span><span class="w"> </span><span class="o">-</span><span class="n">DBUILD_SHARED_LIBS</span><span class="o">=</span><span class="n">TRUE</span><span class="w"> </span><span class="p">...</span> | |
| 166 </pre></div> | |
| 167 </div> | |
| 168 <p>To build a <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">static</span> <span class="pre">library</span></code> with position independent code (required if the main | |
| 169 consumer of the fmt library is a shared library i.e. a Python extension) set the | |
| 170 <code class="docutils literal notranslate"><span class="pre">CMAKE_POSITION_INDEPENDENT_CODE</span></code> CMake variable to <code class="docutils literal notranslate"><span class="pre">TRUE</span></code>:</p> | |
| 171 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">cmake</span><span class="w"> </span><span class="o">-</span><span class="n">DCMAKE_POSITION_INDEPENDENT_CODE</span><span class="o">=</span><span class="n">TRUE</span><span class="w"> </span><span class="p">...</span> | |
| 172 </pre></div> | |
| 173 </div> | |
| 174 </section> | |
| 175 <section id="installing-the-library"> | |
| 176 <h2>Installing the Library<a class="headerlink" href="#installing-the-library" title="Permalink to this headline">¶</a></h2> | |
| 177 <p>After building the library you can install it on a Unix-like system by running | |
| 178 <strong class="command">sudo make install</strong>.</p> | |
| 179 </section> | |
| 180 <section id="usage-with-cmake"> | |
| 181 <h2>Usage with CMake<a class="headerlink" href="#usage-with-cmake" title="Permalink to this headline">¶</a></h2> | |
| 182 <p>You can add the <code class="docutils literal notranslate"><span class="pre">fmt</span></code> library directory into your project and include it in | |
| 183 your <code class="docutils literal notranslate"><span class="pre">CMakeLists.txt</span></code> file:</p> | |
| 184 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">add_subdirectory</span><span class="p">(</span><span class="n">fmt</span><span class="p">)</span> | |
| 185 </pre></div> | |
| 186 </div> | |
| 187 <p>or</p> | |
| 188 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">add_subdirectory</span><span class="p">(</span><span class="n">fmt</span><span class="w"> </span><span class="n">EXCLUDE_FROM_ALL</span><span class="p">)</span> | |
| 189 </pre></div> | |
| 190 </div> | |
| 191 <p>to exclude it from <code class="docutils literal notranslate"><span class="pre">make</span></code>, <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">all</span></code>, or <code class="docutils literal notranslate"><span class="pre">cmake</span> <span class="pre">--build</span> <span class="pre">.</span></code>.</p> | |
| 192 <p>You can detect and use an installed version of {fmt} as follows:</p> | |
| 193 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">find_package</span><span class="p">(</span><span class="n">fmt</span><span class="p">)</span> | |
| 194 <span class="n">target_link_libraries</span><span class="p">(</span><span class="o"><</span><span class="n">your</span><span class="o">-</span><span class="n">target</span><span class="o">></span><span class="w"> </span><span class="n">fmt</span><span class="o">::</span><span class="n">fmt</span><span class="p">)</span> | |
| 195 </pre></div> | |
| 196 </div> | |
| 197 <p>Setting up your target to use a header-only version of <code class="docutils literal notranslate"><span class="pre">fmt</span></code> is equally easy:</p> | |
| 198 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">target_link_libraries</span><span class="p">(</span><span class="o"><</span><span class="n">your</span><span class="o">-</span><span class="n">target</span><span class="o">></span><span class="w"> </span><span class="n">PRIVATE</span><span class="w"> </span><span class="n">fmt</span><span class="o">::</span><span class="n">fmt</span><span class="o">-</span><span class="n">header</span><span class="o">-</span><span class="n">only</span><span class="p">)</span> | |
| 199 </pre></div> | |
| 200 </div> | |
| 201 </section> | |
| 202 <section id="usage-with-build2"> | |
| 203 <h2>Usage with build2<a class="headerlink" href="#usage-with-build2" title="Permalink to this headline">¶</a></h2> | |
| 204 <p>You can use <a class="reference external" href="https://build2.org">build2</a>, a dependency manager and a | |
| 205 build-system combined, to use <code class="docutils literal notranslate"><span class="pre">fmt</span></code>.</p> | |
| 206 <p>Currently this package is available in these package repositories:</p> | |
| 207 <ul class="simple"> | |
| 208 <li><p><strong>https://cppget.org/fmt/</strong> for released and published versions.</p></li> | |
| 209 <li><p><a class="reference external" href="https://github.com/build2-packaging/fmt.git">The git repository with the sources of the build2 package of fmt</a> | |
| 210 for unreleased or custom revisions of <code class="docutils literal notranslate"><span class="pre">fmt</span></code>.</p></li> | |
| 211 </ul> | |
| 212 <p><strong>Usage:</strong></p> | |
| 213 <ul class="simple"> | |
| 214 <li><p><code class="docutils literal notranslate"><span class="pre">build2</span></code> package name: <code class="docutils literal notranslate"><span class="pre">fmt</span></code></p></li> | |
| 215 <li><p>Library target name : <code class="docutils literal notranslate"><span class="pre">lib{fmt}</span></code></p></li> | |
| 216 </ul> | |
| 217 <p>For example, to make your <code class="docutils literal notranslate"><span class="pre">build2</span></code> project depend on <code class="docutils literal notranslate"><span class="pre">fmt</span></code>:</p> | |
| 218 <ul> | |
| 219 <li><p>Add one of the repositories to your configurations, or in your | |
| 220 <code class="docutils literal notranslate"><span class="pre">repositories.manifest</span></code>, if not already there:</p> | |
| 221 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="o">:</span> | |
| 222 <span class="nl">role</span><span class="p">:</span><span class="w"> </span><span class="n">prerequisite</span> | |
| 223 <span class="nl">location</span><span class="p">:</span><span class="w"> </span><span class="n">https</span><span class="o">:</span><span class="c1">//pkg.cppget.org/1/stable</span> | |
| 224 </pre></div> | |
| 225 </div> | |
| 226 </li> | |
| 227 <li><p>Add this package as a dependency to your <code class="docutils literal notranslate"><span class="pre">./manifest</span></code> file | |
| 228 (example for <code class="docutils literal notranslate"><span class="pre">v7.0.x</span></code>):</p> | |
| 229 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="nl">depends</span><span class="p">:</span><span class="w"> </span><span class="n">fmt</span><span class="w"> </span><span class="o">~</span><span class="mf">7.0.0</span> | |
| 230 </pre></div> | |
| 231 </div> | |
| 232 </li> | |
| 233 <li><p>Import the target and use it as a prerequisite to your own target | |
| 234 using <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">fmt</span></code> in the appropriate <code class="docutils literal notranslate"><span class="pre">buildfile</span></code>:</p> | |
| 235 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="k">import</span><span class="w"> </span><span class="n">fmt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">fmt</span><span class="o">%</span><span class="n">lib</span><span class="p">{</span><span class="n">fmt</span><span class="p">}</span> | |
| 236 <span class="n">lib</span><span class="p">{</span><span class="n">mylib</span><span class="p">}</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">cxx</span><span class="p">{</span><span class="o">**</span><span class="p">}</span><span class="w"> </span><span class="p">...</span><span class="w"> </span><span class="n">$fmt</span> | |
| 237 </pre></div> | |
| 238 </div> | |
| 239 </li> | |
| 240 </ul> | |
| 241 <p>Then build your project as usual with <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">b</span></code> or <code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">bdep</span> <span class="pre">update</span></code>.</p> | |
| 242 <p>For <code class="docutils literal notranslate"><span class="pre">build2</span></code> newcomers or to get more details and use cases, you can read the | |
| 243 <code class="docutils literal notranslate"><span class="pre">build2</span></code> | |
| 244 <a class="reference external" href="https://build2.org/build2-toolchain/doc/build2-toolchain-intro.xhtml">toolchain introduction</a>.</p> | |
| 245 </section> | |
| 246 <section id="usage-with-meson"> | |
| 247 <h2>Usage with Meson<a class="headerlink" href="#usage-with-meson" title="Permalink to this headline">¶</a></h2> | |
| 248 <p><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">Meson's</span> <span class="pre">WrapDB</span></code> includes a <code class="docutils literal notranslate"><span class="pre">fmt</span></code> | |
| 249 package, which repackages fmt to be built by Meson as a subproject.</p> | |
| 250 <p><strong>Usage:</strong></p> | |
| 251 <ul> | |
| 252 <li><p>Install the <code class="docutils literal notranslate"><span class="pre">fmt</span></code> subproject from the WrapDB by running:</p> | |
| 253 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">meson</span><span class="w"> </span><span class="n">wrap</span><span class="w"> </span><span class="n">install</span><span class="w"> </span><span class="n">fmt</span> | |
| 254 </pre></div> | |
| 255 </div> | |
| 256 <p>from the root of your project.</p> | |
| 257 </li> | |
| 258 <li><p>In your project’s <code class="docutils literal notranslate"><span class="pre">meson.build</span></code> file, add an entry for the new subproject:</p> | |
| 259 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span>fmt = subproject('fmt') | |
| 260 fmt_dep = fmt.get_variable('fmt_dep') | |
| 261 </pre></div> | |
| 262 </div> | |
| 263 </li> | |
| 264 <li><p>Include the new dependency object to link with fmt:</p> | |
| 265 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span>my_build_target = executable('name', 'src/main.cc', dependencies: [fmt_dep]) | |
| 266 </pre></div> | |
| 267 </div> | |
| 268 </li> | |
| 269 </ul> | |
| 270 <p><strong>Options:</strong></p> | |
| 271 <p>If desired, <code class="docutils literal notranslate"><span class="pre">fmt</span></code> may be built as a static library, or as a header-only | |
| 272 library.</p> | |
| 273 <p>For a static build, use the following subproject definition:</p> | |
| 274 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span>fmt = subproject('fmt', default_options: 'default_library=static') | |
| 275 fmt_dep = fmt.get_variable('fmt_dep') | |
| 276 </pre></div> | |
| 277 </div> | |
| 278 <p>For the header-only version, use:</p> | |
| 279 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span>fmt = subproject('fmt') | |
| 280 fmt_dep = fmt.get_variable('fmt_header_only_dep') | |
| 281 </pre></div> | |
| 282 </div> | |
| 283 </section> | |
| 284 <section id="building-the-documentation"> | |
| 285 <h2>Building the Documentation<a class="headerlink" href="#building-the-documentation" title="Permalink to this headline">¶</a></h2> | |
| 286 <p>To build the documentation you need the following software installed on your | |
| 287 system:</p> | |
| 288 <ul> | |
| 289 <li><p><a class="reference external" href="https://www.python.org/">Python</a> with pip and virtualenv</p></li> | |
| 290 <li><p><a class="reference external" href="http://www.stack.nl/~dimitri/doxygen/">Doxygen</a></p></li> | |
| 291 <li><p><a class="reference external" href="http://lesscss.org/">Less</a> with <code class="docutils literal notranslate"><span class="pre">less-plugin-clean-css</span></code>. | |
| 292 Ubuntu doesn’t package the <code class="docutils literal notranslate"><span class="pre">clean-css</span></code> plugin so you should use <code class="docutils literal notranslate"><span class="pre">npm</span></code> | |
| 293 instead of <code class="docutils literal notranslate"><span class="pre">apt</span></code> to install both <code class="docutils literal notranslate"><span class="pre">less</span></code> and the plugin:</p> | |
| 294 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">sudo</span><span class="w"> </span><span class="n">npm</span><span class="w"> </span><span class="n">install</span><span class="w"> </span><span class="o">-</span><span class="n">g</span><span class="w"> </span><span class="n">less</span><span class="w"> </span><span class="n">less</span><span class="o">-</span><span class="n">plugin</span><span class="o">-</span><span class="n">clean</span><span class="o">-</span><span class="n">css</span><span class="p">.</span> | |
| 295 </pre></div> | |
| 296 </div> | |
| 297 </li> | |
| 298 </ul> | |
| 299 <p>First generate makefiles or project files using CMake as described in | |
| 300 the previous section. Then compile the <code class="docutils literal notranslate"><span class="pre">doc</span></code> target/project, for example:</p> | |
| 301 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">make</span><span class="w"> </span><span class="n">doc</span> | |
| 302 </pre></div> | |
| 303 </div> | |
| 304 <p>This will generate the HTML documentation in <code class="docutils literal notranslate"><span class="pre">doc/html</span></code>.</p> | |
| 305 </section> | |
| 306 <section id="conda"> | |
| 307 <h2>Conda<a class="headerlink" href="#conda" title="Permalink to this headline">¶</a></h2> | |
| 308 <p>fmt can be installed on Linux, macOS and Windows with | |
| 309 <a class="reference external" href="https://docs.conda.io/en/latest/">Conda</a>, using its | |
| 310 <a class="reference external" href="https://conda-forge.org">conda-forge</a> | |
| 311 <a class="reference external" href="https://github.com/conda-forge/fmt-feedstock">package</a>, as follows:</p> | |
| 312 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">conda</span><span class="w"> </span><span class="n">install</span><span class="w"> </span><span class="o">-</span><span class="n">c</span><span class="w"> </span><span class="n">conda</span><span class="o">-</span><span class="n">forge</span><span class="w"> </span><span class="n">fmt</span> | |
| 313 </pre></div> | |
| 314 </div> | |
| 315 </section> | |
| 316 <section id="vcpkg"> | |
| 317 <h2>Vcpkg<a class="headerlink" href="#vcpkg" title="Permalink to this headline">¶</a></h2> | |
| 318 <p>You can download and install fmt using the <a class="reference external" href="https://github.com/Microsoft/vcpkg">vcpkg</a> dependency manager:</p> | |
| 319 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">git</span><span class="w"> </span><span class="n">clone</span><span class="w"> </span><span class="n">https</span><span class="o">:</span><span class="c1">//github.com/Microsoft/vcpkg.git</span> | |
| 320 <span class="n">cd</span><span class="w"> </span><span class="n">vcpkg</span> | |
| 321 <span class="p">.</span><span class="o">/</span><span class="n">bootstrap</span><span class="o">-</span><span class="n">vcpkg</span><span class="p">.</span><span class="n">sh</span> | |
| 322 <span class="p">.</span><span class="o">/</span><span class="n">vcpkg</span><span class="w"> </span><span class="n">integrate</span><span class="w"> </span><span class="n">install</span> | |
| 323 <span class="p">.</span><span class="o">/</span><span class="n">vcpkg</span><span class="w"> </span><span class="n">install</span><span class="w"> </span><span class="n">fmt</span> | |
| 324 </pre></div> | |
| 325 </div> | |
| 326 <p>The fmt port in vcpkg is kept up to date by Microsoft team members and community | |
| 327 contributors. If the version is out of date, please <a class="reference external" href="https://github.com/Microsoft/vcpkg">create an issue or pull | |
| 328 request</a> on the vcpkg repository.</p> | |
| 329 </section> | |
| 330 <section id="lhelper"> | |
| 331 <h2>LHelper<a class="headerlink" href="#lhelper" title="Permalink to this headline">¶</a></h2> | |
| 332 <p>You can download and install fmt using | |
| 333 <a class="reference external" href="https://github.com/franko/lhelper">lhelper</a> dependency manager:</p> | |
| 334 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">lhelper</span><span class="w"> </span><span class="n">activate</span><span class="w"> </span><span class="o"><</span><span class="n">some</span><span class="o">-</span><span class="n">environment</span><span class="o">></span> | |
| 335 <span class="n">lhelper</span><span class="w"> </span><span class="n">install</span><span class="w"> </span><span class="n">fmt</span> | |
| 336 </pre></div> | |
| 337 </div> | |
| 338 <p>All the recipes for lhelper are kept in the | |
| 339 <a class="reference external" href="https://github.com/franko/lhelper-recipes">lhelper’s recipe</a> repository.</p> | |
| 340 </section> | |
| 341 <section id="android-ndk"> | |
| 342 <h2>Android NDK<a class="headerlink" href="#android-ndk" title="Permalink to this headline">¶</a></h2> | |
| 343 <p>fmt provides <a class="reference external" href="https://github.com/fmtlib/fmt/blob/master/support/Android.mk">Android.mk file</a> that can be used to build the library | |
| 344 with <a class="reference external" href="https://developer.android.com/tools/sdk/ndk/index.html">Android NDK</a>. | |
| 345 For an example of using fmt with Android NDK, see the | |
| 346 <a class="reference external" href="https://github.com/fmtlib/android-ndk-example">android-ndk-example</a> | |
| 347 repository.</p> | |
| 348 </section> | |
| 349 <section id="homebrew"> | |
| 350 <h2>Homebrew<a class="headerlink" href="#homebrew" title="Permalink to this headline">¶</a></h2> | |
| 351 <p>fmt can be installed on OS X using <a class="reference external" href="https://brew.sh/">Homebrew</a>:</p> | |
| 352 <div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">brew</span><span class="w"> </span><span class="n">install</span><span class="w"> </span><span class="n">fmt</span> | |
| 353 </pre></div> | |
| 354 </div> | |
| 355 </section> | |
| 356 </section> | |
| 357 | |
| 358 | |
| 359 </div> | |
| 360 </div> | |
| 361 </div> | |
| 362 | |
| 363 | |
| 364 | |
| 365 <div class="footer" role="contentinfo"> | |
| 366 © Copyright 2012-present, Victor Zverovich. | |
| 367 Created using <a href="http://sphinx-doc.org/">Sphinx</a> 3.3.0. | |
| 368 </div> | |
| 369 | |
| 370 <script src="_static/bootstrap.min.js"></script> | |
| 371 | |
| 372 </body> | |
| 373 </html> |
