-
Notifications
You must be signed in to change notification settings - Fork 370
Added settings_user.yml
example
#2971
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
czoido
merged 4 commits into
conan-io:release/2.0.0-beta
from
franramirez688:examples/settings_user
Feb 17, 2023
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,253 @@ | ||
.. _examples_config_files_settings_user: | ||
|
||
Using settings_user.yml | ||
======================= | ||
Customize your settings: create your settings_user.yml | ||
====================================================== | ||
|
||
TBD | ||
Please, first of all, clone the sources to recreate this project. You can find them in the | ||
`examples2.0 repository <https://github.com/conan-io/examples2>`_ in GitHub: | ||
|
||
.. code-block:: bash | ||
|
||
$ git clone https://github.com/conan-io/examples2.git | ||
$ cd examples2/examples/config_files/settings_user | ||
|
||
|
||
In this example we are going to see how to customize your settings without overwriting the original **settings.yml** file. | ||
|
||
.. note:: | ||
|
||
To understand better this example, it is highly recommended to read previously the reference | ||
about :ref:`reference_config_files_settings_yml`. | ||
|
||
|
||
Locate the settings_user.yml | ||
---------------------------- | ||
|
||
First of all, let's have a look at the proposed ``source/settings_user.yml``: | ||
|
||
.. code-block:: yaml | ||
:caption: **settings_user.yml** | ||
|
||
os: | ||
webOS: | ||
sdk_version: [null, "7.0.0", "6.0.1", "6.0.0"] | ||
arch: ["cortexa15t2hf"] | ||
compiler: | ||
gcc: | ||
version: ["13.0-rc"] | ||
|
||
|
||
As you can see, we don't have to rewrite all the settings because they will be merged with the already defined in | ||
**settings.yml**. | ||
|
||
Then, what are we adding through that ``settings_user.yml`` file? | ||
|
||
* New OS: ``webOS``, and its sub-setting: ``sdk_version``. | ||
* New ``arch`` available: ``cortexa15t2hf``. | ||
* New gcc version: ``13.0-rc``. | ||
|
||
Now, it's time to copy the file ``source/settings_user.yml`` into your ``[CONAN_HOME]/`` folder: | ||
|
||
.. code-block:: bash | ||
|
||
$ conan config install sources/settings_user.yml | ||
Copying file settings_user.yml to /Users/myuser/.conan2/. | ||
|
||
|
||
Use your new settings | ||
--------------------- | ||
|
||
After having copied the ``settings_user.yml``, you should be able to use them for your recipes. Add this simple one | ||
into your local folder: | ||
|
||
.. code-block:: python | ||
:caption: **conanfile.py** | ||
|
||
from conan import ConanFile | ||
|
||
class PkgConan(ConanFile): | ||
name = "pkg" | ||
version = "1.0" | ||
settings = "os", "compiler", "build_type", "arch" | ||
|
||
|
||
Then, create several Conan packages (not binaries, as it does not have any source file for sure) to see | ||
that it's working correctly: | ||
|
||
|
||
.. code-block:: bash | ||
:caption: **Using the new OS and its sub-setting** | ||
:emphasize-lines: 11,12,34 | ||
|
||
$ conan create . -s os=webOS -s os.sdk_version=7.0.0 | ||
... | ||
Profile host: | ||
[settings] | ||
arch=x86_64 | ||
build_type=Release | ||
compiler=apple-clang | ||
compiler.cppstd=gnu98 | ||
compiler.libcxx=libc++ | ||
compiler.version=12.0 | ||
os=webOS | ||
os.sdk_version=7.0.0 | ||
|
||
Profile build: | ||
[settings] | ||
arch=x86_64 | ||
build_type=Release | ||
compiler=apple-clang | ||
compiler.cppstd=gnu98 | ||
compiler.libcxx=libc++ | ||
compiler.version=12.0 | ||
os=Macos | ||
... | ||
-------- Installing (downloading, building) binaries... -------- | ||
pkg/1.0: Copying sources to build folder | ||
pkg/1.0: Building your package in /Users/myuser/.conan2/p/t/pkg929d53a5f06b1/b | ||
pkg/1.0: Aggregating env generators | ||
pkg/1.0: Package 'a0d37d10fdb83a0414d7f4a1fb73da2c210211c6' built | ||
pkg/1.0: Build folder /Users/myuser/.conan2/p/t/pkg929d53a5f06b1/b | ||
pkg/1.0: Generated conaninfo.txt | ||
pkg/1.0: Generating the package | ||
pkg/1.0: Temporary package folder /Users/myuser/.conan2/p/t/pkg929d53a5f06b1/p | ||
pkg/1.0 package(): WARN: No files in this package! | ||
pkg/1.0: Package 'a0d37d10fdb83a0414d7f4a1fb73da2c210211c6' created | ||
pkg/1.0: Created package revision 6a947a7b5669d6fde1a35ce5ff987fc6 | ||
pkg/1.0: Full package reference: pkg/1.0#637fc1c7080faaa7e2cdccde1bcde118:a0d37d10fdb83a0414d7f4a1fb73da2c210211c6#6a947a7b5669d6fde1a35ce5ff987fc6 | ||
pkg/1.0: Package folder /Users/myuser/.conan2/p/pkgb3950b1043542/p | ||
|
||
.. code-block:: bash | ||
:caption: **Using new gcc compiler version** | ||
:emphasize-lines: 9,32 | ||
|
||
$ conan create . -s compiler=gcc -s compiler.version=13.0-rc -s compiler.libcxx=libstdc++11 | ||
... | ||
Profile host: | ||
[settings] | ||
arch=x86_64 | ||
build_type=Release | ||
compiler=gcc | ||
compiler.libcxx=libstdc++11 | ||
compiler.version=13.0-rc | ||
os=Macos | ||
|
||
Profile build: | ||
[settings] | ||
arch=x86_64 | ||
build_type=Release | ||
compiler=apple-clang | ||
compiler.cppstd=gnu98 | ||
compiler.libcxx=libc++ | ||
compiler.version=12.0 | ||
os=Macos | ||
... | ||
-------- Installing (downloading, building) binaries... -------- | ||
pkg/1.0: Copying sources to build folder | ||
pkg/1.0: Building your package in /Users/myuser/.conan2/p/t/pkg918904bbca9dc/b | ||
pkg/1.0: Aggregating env generators | ||
pkg/1.0: Package '44a4588d3fe63ccc6e7480565d35be38d405718e' built | ||
pkg/1.0: Build folder /Users/myuser/.conan2/p/t/pkg918904bbca9dc/b | ||
pkg/1.0: Generated conaninfo.txt | ||
pkg/1.0: Generating the package | ||
pkg/1.0: Temporary package folder /Users/myuser/.conan2/p/t/pkg918904bbca9dc/p | ||
pkg/1.0 package(): WARN: No files in this package! | ||
pkg/1.0: Package '44a4588d3fe63ccc6e7480565d35be38d405718e' created | ||
pkg/1.0: Created package revision d913ec060e71cc56b10768afb9620094 | ||
pkg/1.0: Full package reference: pkg/1.0#637fc1c7080faaa7e2cdccde1bcde118:44a4588d3fe63ccc6e7480565d35be38d405718e#d913ec060e71cc56b10768afb9620094 | ||
pkg/1.0: Package folder /Users/myuser/.conan2/p/pkg789b624c93fc0/p | ||
|
||
.. code-block:: bash | ||
:caption: **Using the new OS and the new architecture** | ||
:emphasize-lines: 5,11,33 | ||
|
||
$ conan create . -s os=webOS -s arch=cortexa15t2hf | ||
... | ||
Profile host: | ||
[settings] | ||
arch=cortexa15t2hf | ||
build_type=Release | ||
compiler=apple-clang | ||
compiler.cppstd=gnu98 | ||
compiler.libcxx=libc++ | ||
compiler.version=12.0 | ||
os=webOS | ||
|
||
Profile build: | ||
[settings] | ||
arch=x86_64 | ||
build_type=Release | ||
compiler=apple-clang | ||
compiler.cppstd=gnu98 | ||
compiler.libcxx=libc++ | ||
compiler.version=12.0 | ||
os=Macos | ||
... | ||
-------- Installing (downloading, building) binaries... -------- | ||
pkg/1.0: Copying sources to build folder | ||
pkg/1.0: Building your package in /Users/myuser/.conan2/p/t/pkgde9b63a6bed0a/b | ||
pkg/1.0: Aggregating env generators | ||
pkg/1.0: Package '19cf3cb5842b18dc78e5b0c574c1e71e7b0e17fc' built | ||
pkg/1.0: Build folder /Users/myuser/.conan2/p/t/pkgde9b63a6bed0a/b | ||
pkg/1.0: Generated conaninfo.txt | ||
pkg/1.0: Generating the package | ||
pkg/1.0: Temporary package folder /Users/myuser/.conan2/p/t/pkgde9b63a6bed0a/p | ||
pkg/1.0 package(): WARN: No files in this package! | ||
pkg/1.0: Package '19cf3cb5842b18dc78e5b0c574c1e71e7b0e17fc' created | ||
pkg/1.0: Created package revision f5739d5a25b3757254dead01b30d3af0 | ||
pkg/1.0: Full package reference: pkg/1.0#637fc1c7080faaa7e2cdccde1bcde118:19cf3cb5842b18dc78e5b0c574c1e71e7b0e17fc#f5739d5a25b3757254dead01b30d3af0 | ||
pkg/1.0: Package folder /Users/myuser/.conan2/p/pkgd154182aac59e/p | ||
|
||
|
||
franramirez688 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
As you could observe, each command has created a different package. That was completely right because we were using | ||
different settings for each one. If you want to see all the packages created, you can use the :ref:`reference_commands_list` command: | ||
|
||
|
||
.. code-block:: bash | ||
:caption: List all the *pkg/1.0*'s packages | ||
|
||
$ conan list pkg/1.0:* | ||
Local Cache | ||
pkg | ||
pkg/1.0 | ||
revisions | ||
637fc1c7080faaa7e2cdccde1bcde118 (2023-02-16 06:42:10 UTC) | ||
packages | ||
19cf3cb5842b18dc78e5b0c574c1e71e7b0e17fc | ||
info | ||
settings | ||
arch: cortexa15t2hf | ||
build_type: Release | ||
compiler: apple-clang | ||
compiler.cppstd: gnu98 | ||
compiler.libcxx: libc++ | ||
compiler.version: 12.0 | ||
os: webOS | ||
44a4588d3fe63ccc6e7480565d35be38d405718e | ||
info | ||
settings | ||
arch: x86_64 | ||
build_type: Release | ||
compiler: gcc | ||
compiler.libcxx: libstdc++11 | ||
compiler.version: 13.0-rc | ||
os: Macos | ||
a0d37d10fdb83a0414d7f4a1fb73da2c210211c6 | ||
info | ||
settings | ||
arch: x86_64 | ||
build_type: Release | ||
compiler: apple-clang | ||
compiler.cppstd: gnu98 | ||
compiler.libcxx: libc++ | ||
compiler.version: 12.0 | ||
os: webOS | ||
os.sdk_version: 7.0.0 | ||
|
||
|
||
Try any other custom setting! | ||
|
||
.. seealso:: | ||
|
||
- :ref:`reference_config_files_profiles`. | ||
- :ref:`creating_packages_configure_options_settings` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.