• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

conan/H29-Dec-2021-7,6426,029

conan.egg-info/H03-May-2022-278184

conans/H03-May-2022-56,15846,395

LICENSE.mdH A D29-Dec-20211.1 KiB2917

MANIFEST.inH A D29-Dec-202118 11

PKG-INFOH A D29-Dec-20219.5 KiB278184

README.rstH A D29-Dec-20218.8 KiB253162

setup.cfgH A D29-Dec-2021101 107

setup.pyH A D29-Dec-20214.9 KiB13876

README.rst

1|Logo|
2
3Conan
4=====
5
6Decentralized, open-source (MIT), C/C++ package manager.
7
8- Homepage: https://conan.io/
9- Github: https://github.com/conan-io/conan
10- Docs: https://docs.conan.io/en/latest/
11- Slack: https://cpplang-inviter.cppalliance.org/ (#conan channel)
12- Twitter: https://twitter.com/conan_io
13
14
15Conan is a package manager for C and C++ developers:
16
17- It is fully decentralized. Users can host their packages on their servers, privately. Integrates with Artifactory and Bintray.
18- Portable. Works across all platforms, including Linux, OSX, Windows (with native and first-class support, WSL, MinGW),
19  Solaris, FreeBSD, embedded and cross-compiling, docker, WSL
20- Manage binaries. It can create, upload and download binaries for any configuration and platform,
21  even cross-compiling, saving lots of time in development and continuous integration. The binary compatibility can be configured
22  and customized. Manage all your artifacts in the same way on all platforms.
23- Integrates with any build system, including any proprietary and custom one. Provides tested support for major build systems
24  (CMake, MSBuild, Makefiles, Meson, etc).
25- Extensible: Its python based recipes, together with extensions points allows for great power and flexibility.
26- Large and active community, especially in Github (https://github.com/conan-io/conan) and Slack (https://cpplang-inviter.cppalliance.org/ #conan channel).
27  This community also creates and maintains packages in ConanCenter and Bincrafters repositories in Bintray.
28- Stable. Used in production by many companies, since 1.0 there is a commitment not to break package recipes and documented behavior.
29
30
31
32+-------------------------+-------------------------+
33| **develop**             |    **Code Climate**     |
34+=========================+=========================+
35| |Build Status Develop|  |   |Develop climate|     |
36+-------------------------+-------------------------+
37
38
39Setup
40=====
41
42Please read https://docs.conan.io/en/latest/installation.html to know how to
43install and start using Conan. TL;DR:
44
45.. code-block::
46
47   $ pip install conan
48
49
50Install a development version
51-----------------------------
52
53You can run **Conan** client and server in Windows, MacOS, and Linux.
54
55- **Install pip following** `pip docs`_.
56
57- **Clone Conan repository:**
58
59  .. code-block:: bash
60
61      $ git clone https://github.com/conan-io/conan.git conan-io
62
63 NOTE: repository directory name matters, some directories are known to be problematic to run tests (e.g. `conan`). `conan-io` directory name was tested and guaranteed to be working.
64
65- **Install in editable mode**
66
67  .. code-block:: bash
68
69      $ cd conan-io && sudo pip install -e .
70
71  If you are in Windows, using ``sudo`` is not required.
72
73- **You are ready, try to run Conan:**
74
75  .. code-block::
76
77    $ conan --help
78
79    Consumer commands
80      install    Installs the requirements specified in a conanfile (.py or .txt).
81      config     Manages configuration. Edits the conan.conf or installs config files.
82      get        Gets a file or list a directory of a given reference or package.
83      info       Gets information about the dependency graph of a recipe.
84      search     Searches package recipes and binaries in the local cache or in a remote.
85    Creator commands
86      new        Creates a new package recipe template with a 'conanfile.py'.
87      create     Builds a binary package for a recipe (conanfile.py) located in the current dir.
88      upload     Uploads a recipe and binary packages to a remote.
89      export     Copies the recipe (conanfile.py & associated files) to your local cache.
90      export-pkg Exports a recipe & creates a package with given files calling 'package'.
91      test       Test a package, consuming it with a conanfile recipe with a test() method.
92    Package development commands
93      source     Calls your local conanfile.py 'source()' method.
94      build      Calls your local conanfile.py 'build()' method.
95      package    Calls your local conanfile.py 'package()' method.
96    Misc commands
97      profile    Lists profiles in the '.conan/profiles' folder, or shows profile details.
98      remote     Manages the remote list and the package recipes associated with a remote.
99      user       Authenticates against a remote with user/pass, caching the auth token.
100      imports    Calls your local conanfile.py or conanfile.txt 'imports' method.
101      copy       Copies conan recipes and packages to another user/channel.
102      remove     Removes packages or binaries matching pattern from local cache or remote.
103      alias      Creates and exports an 'alias recipe'.
104      download   Downloads recipe and binaries to the local cache, without using settings.
105
106    Conan commands. Type "conan <command> -h" for help
107
108Contributing to the project
109===========================
110
111Feedback and contribution are always welcome in this project.
112Please read our `contributing guide <https://github.com/conan-io/conan/blob/develop/.github/CONTRIBUTING.md>`_.
113Also, if you plan to contribute, please add some testing for your changes. You can read the `Conan
114tests guidelines section <https://github.com/conan-io/conan/blob/develop/conans/test/README.md>`_ for
115some advise on how to write tests for Conan.
116
117Running the tests
118=================
119
120Using tox
121---------
122
123.. code-block:: bash
124
125    $ python -m tox
126
127It will install the needed requirements and launch `pytest` skipping some heavy and slow tests.
128If you want to run the full test suite:
129
130.. code-block:: bash
131
132    $ python -m tox -e full
133
134Without tox
135-----------
136
137**Install python requirements**
138
139.. code-block:: bash
140
141    $ python -m pip install -r conans/requirements.txt
142    $ python -m pip install -r conans/requirements_server.txt
143    $ python -m pip install -r conans/requirements_dev.txt
144
145If you are not Windows and you are not using a python virtual environment, you will need to run these
146commands using `sudo`.
147
148Before you can run the tests, you need to set a few environment variables first.
149
150.. code-block:: bash
151
152    $ export PYTHONPATH=$PYTHONPATH:$(pwd)
153
154On Windows it would be (while being in the Conan root directory):
155
156.. code-block:: bash
157
158    $ set PYTHONPATH=.
159
160Ensure that your ``cmake`` has version 2.8 or later. You can see the
161version with the following command:
162
163.. code-block:: bash
164
165    $ cmake --version
166
167The appropriate values of ``CONAN_COMPILER`` and ``CONAN_COMPILER_VERSION`` depend on your
168operating system and your requirements.
169
170These should work for the GCC from ``build-essential`` on Ubuntu 14.04:
171
172.. code-block:: bash
173
174    $ export CONAN_COMPILER=gcc
175    $ export CONAN_COMPILER_VERSION=4.8
176
177These should work for OS X:
178
179.. code-block:: bash
180
181    $ export CONAN_COMPILER=clang
182    $ export CONAN_COMPILER_VERSION=3.5
183
184You can run the actual tests like this:
185
186.. code-block:: bash
187
188    $ python -m pytest .
189
190
191There are a couple of test attributes defined, as ``slow`` that you can use
192to filter the tests, and do not execute them:
193
194.. code-block:: bash
195
196    $ python -m pytest . -m "not slow"
197
198A few minutes later it should print ``OK``:
199
200.. code-block:: bash
201
202    ............................................................................................
203    ----------------------------------------------------------------------
204    Ran 146 tests in 50.993s
205
206    OK
207
208To run specific tests, you can specify the test name too, something like:
209
210.. code-block:: bash
211
212    $ python -m pytest conans/test/unittests/client/cmd/export_test.py::ExportTest::test_export_warning -s
213
214The ``-s`` argument can be useful to see some output that otherwise is captured by pytest.
215
216Also, you can run tests against an instance of Artifactory. Those tests should add the attribute
217``artifactory_ready``.
218
219.. code-block:: bash
220
221    $ python -m pytest . -m artifactory_ready
222
223Some environment variables have to be defined to run them. For example, for an
224Artifactory instance that is running on the localhost with default user and password configured, the
225variables could take the values:
226
227.. code-block:: bash
228
229    $ export CONAN_TEST_WITH_ARTIFACTORY=1
230    $ export ARTIFACTORY_DEFAULT_URL=http://localhost:8081/artifactory
231    $ export ARTIFACTORY_DEFAULT_USER=admin
232    $ export ARTIFACTORY_DEFAULT_PASSWORD=password
233
234``ARTIFACTORY_DEFAULT_URL`` is the base url for the Artifactory repo, not one for a specific
235repository. Running the tests with a real Artifactory instance will create repos on the fly so please
236use a separate server for testing purposes.
237
238License
239-------
240
241`MIT LICENSE <./LICENSE.md>`__
242
243.. |Build Status Develop| image:: https://ci.conan.io/buildStatus/icon?job=ConanTestSuite/develop
244   :target: https://ci.conan.io/job/ConanTestSuite/job/develop/
245
246.. |Develop climate| image:: https://api.codeclimate.com/v1/badges/081b53e570d5220b34e4/maintainability.svg
247   :target: https://codeclimate.com/github/conan-io/conan/maintainability
248
249.. |Logo| image:: https://conan.io/img/jfrog_conan_logo.png
250
251
252.. _`pip docs`: https://pip.pypa.io/en/stable/installation/
253