|
418 | 418 | </span> |
419 | 419 | </a> |
420 | 420 |
|
| 421 | +</li> |
| 422 | + |
| 423 | + <li class="md-nav__item"> |
| 424 | + <a href="#extra-conan-arguments" class="md-nav__link"> |
| 425 | + <span class="md-ellipsis"> |
| 426 | + |
| 427 | + Extra Conan arguments |
| 428 | + |
| 429 | + </span> |
| 430 | + </a> |
| 431 | + |
421 | 432 | </li> |
422 | 433 |
|
423 | 434 | <li class="md-nav__item"> |
|
622 | 633 | </span> |
623 | 634 | </a> |
624 | 635 |
|
| 636 | +</li> |
| 637 | + |
| 638 | + <li class="md-nav__item"> |
| 639 | + <a href="#extra-conan-arguments" class="md-nav__link"> |
| 640 | + <span class="md-ellipsis"> |
| 641 | + |
| 642 | + Extra Conan arguments |
| 643 | + |
| 644 | + </span> |
| 645 | + </a> |
| 646 | + |
625 | 647 | </li> |
626 | 648 |
|
627 | 649 | <li class="md-nav__item"> |
@@ -744,6 +766,12 @@ <h2 id="pyprojecttoml"><code>pyproject.toml</code></h2> |
744 | 766 | <td>(none)</td> |
745 | 767 | </tr> |
746 | 768 | <tr> |
| 769 | +<td><code>extra-arguments</code></td> |
| 770 | +<td><code>[tool.conan-py-build]</code></td> |
| 771 | +<td>Extra Conan CLI flags appended to <code>conan build</code> and <code>conan export-pkg</code></td> |
| 772 | +<td><code>[]</code></td> |
| 773 | +</tr> |
| 774 | +<tr> |
747 | 775 | <td><code>version.file</code></td> |
748 | 776 | <td><code>[tool.conan-py-build.version]</code></td> |
749 | 777 | <td>Python file with <code>__version__</code></td> |
@@ -772,6 +800,9 @@ <h2 id="pyprojecttoml"><code>pyproject.toml</code></h2> |
772 | 800 | <p>Variants for extra profiles: <code>extra-profile-host</code>, |
773 | 801 | <code>extra-profile-build</code>, <code>extra-profile-all</code>. |
774 | 802 | Paths relative to project root.</p> |
| 803 | +<p>For one-off Conan overrides without shipping a separate |
| 804 | +profile file, use <code>extra-arguments</code> (see <em>Extra Conan |
| 805 | +arguments</em> below).</p> |
775 | 806 | <p>Default <code>packages</code> is <code>src/<normalized_project_name></code> |
776 | 807 | (hyphens → underscores).</p> |
777 | 808 | <h2 id="dynamic-version">Dynamic version</h2> |
@@ -863,6 +894,35 @@ <h2 id="conan-home">Conan home</h2> |
863 | 894 | or <code>CONAN_HOME</code> / <code>.conanrc</code>). Set |
864 | 895 | <code>CONAN_PY_BUILD_PROFILE_AUTODETECT=1</code> to autodetect |
865 | 896 | the profile instead of requiring <code>default</code>.</p> |
| 897 | +<h2 id="extra-conan-arguments">Extra Conan arguments</h2> |
| 898 | +<p>CLI flags appended to <code>conan build</code> and |
| 899 | +<code>conan export-pkg</code>. Symmetric with <code>extra-profile</code>, |
| 900 | +with higher precedence — CLI flags win against any |
| 901 | +profile entry.</p> |
| 902 | +<p>Bump <code>compiler.cppstd</code> to match a transitive dep |
| 903 | +(e.g. <code>gdal/3.12.1</code> requires C++17, MSVC defaults |
| 904 | +to 14):</p> |
| 905 | +<div class="highlight"><pre><span></span><code><span class="k">[tool.conan-py-build]</span> |
| 906 | +<span class="n">extra-arguments</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s2">"-s=compiler.cppstd=17"</span><span class="p">]</span> |
| 907 | +</code></pre></div> |
| 908 | +<p>Disable an optional dep feature and pin parallelism:</p> |
| 909 | +<div class="highlight"><pre><span></span><code><span class="k">[tool.conan-py-build]</span> |
| 910 | +<span class="n">extra-arguments</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span> |
| 911 | +<span class="w"> </span><span class="s2">"-o=gdal/*:with_arrow=False"</span><span class="p">,</span> |
| 912 | +<span class="w"> </span><span class="s2">"-c=tools.build:jobs=4"</span><span class="p">,</span> |
| 913 | +<span class="p">]</span> |
| 914 | +</code></pre></div> |
| 915 | +<p>For values with embedded double quotes (dict / list |
| 916 | +<code>[conf]</code> literals), use TOML literal strings (<code>'...'</code>):</p> |
| 917 | +<div class="highlight"><pre><span></span><code><span class="n">extra-arguments</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span> |
| 918 | +<span class="w"> </span><span class="s1">'-c=tools.build:cflags+=["-O2", "-fPIC"]'</span><span class="p">,</span> |
| 919 | +<span class="w"> </span><span class="s1">'-c=tools.cmake.cmaketoolchain:extra_variables={"FOO": "bar"}'</span><span class="p">,</span> |
| 920 | +<span class="p">]</span> |
| 921 | +</code></pre></div> |
| 922 | +<p>Any Conan CLI flag works: <code>-s</code> / <code>-o</code> / <code>-c</code> (host), |
| 923 | +<code>-s:b</code> / <code>-o:b</code> / <code>-c:b</code> (build context), |
| 924 | +<code>--build=...</code>, <code>--lockfile=...</code>. Pair-form |
| 925 | +(<code>["-s", "compiler.cppstd=17"]</code>) is also accepted.</p> |
866 | 926 | <h2 id="entry-points-pep-621">Entry points (PEP 621)</h2> |
867 | 927 | <p><code>[project.scripts]</code>, <code>[project.gui-scripts]</code> and |
868 | 928 | <code>[project.entry-points.*]</code> from <code>pyproject.toml</code> are |
|
0 commit comments