Skip to content

Commit

Permalink
Deployed 99c8a71 to latest with MkDocs 1.6.1 and mike 2.1.2
Browse files Browse the repository at this point in the history
  • Loading branch information
rturrado committed Oct 10, 2024
1 parent aeccaa6 commit 8fe8454
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 2 deletions.
44 changes: 43 additions & 1 deletion latest/dev-guide/dev-guide.html
Original file line number Diff line number Diff line change
Expand Up @@ -662,6 +662,15 @@
</span>
</a>

</li>

<li class="md-nav__item">
<a href="#linters" class="md-nav__link">
<span class="md-ellipsis">
Linters
</span>
</a>

</li>

</ul>
Expand Down Expand Up @@ -709,6 +718,15 @@
</ul>
</nav>

</li>

<li class="md-nav__item">
<a href="#linters_1" class="md-nav__link">
<span class="md-ellipsis">
Linters
</span>
</a>

</li>

<li class="md-nav__item">
Expand Down Expand Up @@ -1107,6 +1125,17 @@ <h3 id="documentation">Documentation</h3>
</ul>
</li>
</ul>
<h3 id="linters">Linters</h3>
<ul>
<li><code>clang-format-18</code></li>
<li><code>clang-tidy-18</code></li>
</ul>
<p>On a Linux machine, these linters can be installed with the following commands:</p>
<pre><code class="language-shell"> wget https://apt.llvm.org/llvm.sh -O llvm_install.sh
chmod +x llvm_install.sh
./llvm_install.sh
apt-get install -y clang-format-18 clang-tidy-18
</code></pre>
<h2 id="build">Build</h2>
<p>This version of libQASM can only be compiled via the Conan package manager.
You will need to create a default profile before using it for the first time.</p>
Expand Down Expand Up @@ -1140,7 +1169,7 @@ <h3 id="profiles">Profiles</h3>
<p>All the profiles set the C++ standard to 20.<br />
All the <code>tests</code>, except for <code>linux-x64</code> profiles, enable Address Sanitizer.</p>
<h3 id="options">Options</h3>
<p>Profiles are a shorthand for command line options. The command above could be written, similarly, as:</p>
<p>Profiles are a shorthand for command line options. The command above could be written, similarly, as:</p>
<pre><code class="language-shell">conan build . -s:a compiler.cppstd=20 -s:a libqasm/*:build_type=Debug -o libqasm/*:asan_enabled=True -c tools.build:skip_test=False -b missing
</code></pre>
<p>This is the list of options that could be specified either in a profile or in the command line:</p>
Expand All @@ -1159,6 +1188,19 @@ <h3 id="documentation_1">Documentation</h3>
<p class="admonition-title">Note</p>
<p>The <code>export</code> is needed to point <code>mkdocs</code> to the custom handlers used for the C++, emscripten, and Python APIs.</p>
</div>
<h2 id="linters_1">Linters</h2>
<p>Continuous Integration will fail if the files do not adhere to a series of formatting and code style guidelines:</p>
<ul>
<li>Formatting checks are defined in <code>.clang-format</code>.</li>
<li>Code style checks are defined in <code>.clang-tidy</code>.</li>
</ul>
<p>It is recommended to run these linters before pushing any change:</p>
<pre><code class="language-shell">python3 ./scripts/run_cpp_linters.py .
</code></pre>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The linters require <code>clang-format-18</code> and <code>clang-tidy-18</code> to be installed on the system.</p>
</div>
<h2 id="docker">Docker</h2>
<p>This tests the library in a container with the bare minimum requirements for libQASM.</p>
<pre><code class="language-shell">docker build .
Expand Down
Loading

0 comments on commit 8fe8454

Please sign in to comment.