You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -144,7 +150,7 @@ The packages containing configuration follow some special rules:
144
150
- They cannot contain ``requires`` to other packages
145
151
- The configuration packages are created with ``conan create`` and ``conan export-pkg`` as other packages, and uploaded to the servers with ``conan upload``
146
152
147
-
To install configuration from a Conan configuration package, it is possible:
153
+
To install a configuration from a Conan configuration package, it is possible:
148
154
149
155
- To generate a lockfile file with ``--lockfile-out``. This lockfile file can be passed to ``conan config install-pkg --lockfile`` (it will automatically loaded it if is named ``conan.lock`` and found in the current directory) in the future to guarantee the same exact version.
150
156
- Version ranges can be used ``conan config install-pkg "myconf/[>=1.0 <2]"`` is correct, and it will install the latest one in that range.
@@ -189,7 +195,7 @@ And if they had a layout with different ``global.conf`` for the different platfo
189
195
nix/global.conf
190
196
191
197
192
-
They, they could create and upload their configuration package as:
198
+
They could create and upload their configuration package as:
Copy file name to clipboardExpand all lines: reference/config_files/profiles.rst
+15-4Lines changed: 15 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -285,8 +285,8 @@ the prefix of the variable. It is useful to automatically get the append/prepend
285
285
# Prepend another PATH to "MyPath1"
286
286
MyPath1=+(path)/other path/path12
287
287
288
-
# Unset the variable "MyPath1"
289
-
MyPath1=!
288
+
# Unset the variable "MyPath2"
289
+
MyPath2=!
290
290
291
291
292
292
Then, the result of applying this profile is:
@@ -295,7 +295,7 @@ Then, the result of applying this profile is:
295
295
* ``MyPath1``:
296
296
* Unix: ``/other path/path12:/some/path11``
297
297
* Windows: ``/other path/path12;/some/path11``
298
-
* ``mypkg*:PATH``: ``None``
298
+
* ``MyPath2``: if system environment had defined ``MyPath2``, this will be unset by Conan
299
299
300
300
.. warning::
301
301
@@ -309,6 +309,17 @@ Then, the result of applying this profile is:
309
309
310
310
- This section allows to use patterns to limit which packages are affected by the buildenv. See :ref:`this section <reference_config_files_profile_patterns>` for more details.
311
311
312
+
For example:
313
+
314
+
.. code-block:: text
315
+
316
+
[buildenv]
317
+
MyPath=MyValue
318
+
mypkg/*:MyPath=MyOtherValue
319
+
320
+
This will result in ``MyPath=MyValue`` for all the packages, and ``MyPath=MyOtherValue`` only for the ``mypkg`` package.
321
+
322
+
312
323
313
324
.. _reference_config_files_profiles_runenv:
314
325
@@ -653,7 +664,7 @@ Some of the capabilities of the profile templates are:
653
664
.. code-block:: jinja
654
665
:caption: *profile_vars*
655
666
656
-
{% set version = subprocess.check_output(['clang++', "-dumpversion]).strip() %}
667
+
{% set version = subprocess.check_output(['clang++', "-dumpversion"]).strip() %}
Copy file name to clipboardExpand all lines: reference/config_files/settings.rst
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -153,7 +153,8 @@ Here you can find a brief explanation of each of the architectures defined as ``
153
153
- **asm.js**: The subset of JavaScript that can be used as low-level target for compilers, not really a processor architecture, it's produced
154
154
by Emscripten. Conan treats it as an architecture to align with build systems design (e.g. GNU auto tools and CMake).
155
155
- **wasm**: The Web Assembly, not really a processor architecture, but byte-code format for Web, it's produced by Emscripten. Conan treats it
156
-
as an architecture to align with build systems design (e.g. GNU auto tools and CMake).
156
+
as an architecture to align with build systems design (e.g. GNU auto tools, CMake, etc).
157
+
- **wasm64**: The Web Assembly 64 bit, same as **wasm** but for 64 bit. Conan will add the necessary flags to the compiler to produce 64 bit Web Assembly code.
157
158
- **sh4le**: The Hitachi SH-4 SuperH architecture.
158
159
- **e2k-v2**: The Elbrus 2000 v2 512 bit VLIW (Very Long Instruction Word) architecture (Elbrus 2CM, Elbrus 2C+ CPUs) originally developed by MCST (Moscow Center of SPARC Technologies).
159
160
- **e2k-v3**: The Elbrus 2000 v3 512 bit VLIW (Very Long Instruction Word) architecture (Elbrus 2S, aka Elbrus 4C, CPU) originally developed by MCST (Moscow Center of SPARC Technologies).
@@ -172,17 +173,17 @@ C++ standard libraries (aka compiler.libcxx)
172
173
``compiler.libcxx`` sub-setting defines C++ standard libraries implementation to be used. The sub-setting applies only to certain compilers,
173
174
e.g. it applies to *clang*, *apple-clang* and *gcc*, but doesn't apply to *Visual Studio*.
174
175
175
-
- **libstdc++** (gcc, clang, apple-clang, sun-cc): `The GNU C++ Library <https://gcc.gnu.org/onlinedocs/libstdc++/>`__. NOTE that this implicitly
176
+
- **libstdc++** (gcc, clang, apple-clang, sun-cc, intel-cc, mcst-lcc, emcc): `The GNU C++ Library <https://gcc.gnu.org/onlinedocs/libstdc++/>`__. NOTE that this implicitly
176
177
defines **_GLIBCXX_USE_CXX11_ABI=0** to use old ABI. Might be a wise choice for old systems, such as CentOS 6. On Linux systems,
177
178
you may need to install `libstdc++-dev <https://packages.debian.org/sid/libstdc++-dev>`_ (package name could be different in various distros)
178
179
in order to use the standard library. NOTE that on Apple systems usage of **libstdc++** has been deprecated.
179
180
180
-
- **libstdc++11** (gcc, clang, apple-clang): `The GNU C++ Library <https://gcc.gnu.org/onlinedocs/libstdc++/>`__. NOTE that this implicitly
181
+
- **libstdc++11** (gcc, clang, intel-cc, mcst-lcc, emcc): `The GNU C++ Library <https://gcc.gnu.org/onlinedocs/libstdc++/>`__. NOTE that this implicitly
181
182
defines **_GLIBCXX_USE_CXX11_ABI=1** to use new ABI. Might be a wise choice for newer systems, such as Ubuntu 20. On Linux systems,
182
183
you may need to install `libstdc++-dev <https://packages.debian.org/sid/libstdc++-dev>`_ (package name could be different in various distros)
183
184
in order to use the standard library. NOTE that on Apple systems usage of **libstdc++** has been deprecated.
184
185
185
-
- **libc++** (clang, apple-clang): `LLVM libc++ <https://libcxx.llvm.org/>`__. On Linux systems, you may need to install `libc++-dev <https://packages.debian.org/sid/libc++-dev>`_
186
+
- **libc++** (clang, apple-clang, intel-cc, emcc): `LLVM libc++ <https://libcxx.llvm.org/>`__. On Linux systems, you may need to install `libc++-dev <https://packages.debian.org/sid/libc++-dev>`_
186
187
(package name could be different in various distros) in order to use the standard library.
187
188
188
189
- **c++_shared** (clang, Android only): use `LLVM libc++ <https://libcxx.llvm.org/>`__ as a shared library. Refer to the `C++ Library Support <https://developer.android.com/ndk/guides/cpp-support>`__ for the
0 commit comments