Conan Client: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
 
(23 intermediate revisions by the same user not shown)
Line 23: Line 23:
pip install conan
pip install conan
conan --help
conan --help
</source>
==Profile==
''If you are using '''GCC compiler >= 5.1''', Conan will set the compiler.libcxx to the old ABI for backwards compatibility. In the context of this getting started example, this is a bad choice though: Recent gcc versions will compile the example by default with the new ABI and linking will fail without further customization of your cmake configuration. You can avoid this with the following commands:''
<source lang="bash" highlight="5,6">
# generates default profile
conan profile new default --detect
# sets libcxx to C++11 ABI
conan profile update settings.compiler.libcxx=libstdc++11 default
conan profile remove settings.compiler.libcxx default
cat ~/.conan/profiles/default
ls -la ~/.conan/profiles/
</source>
</source>


==Getting Started==
==Getting Started==
cmake_minimum_required(VERSION 3.19)
'''Example: 1'''
<source lang="bash">
<source lang="bash">
cd $ACADEMIA_HOME/wss/ccpp_wss/
cd $ACADEMIA_HOME/wss/ccpp_wss/
Line 34: Line 52:
conan inspect poco/1.9.4
conan inspect poco/1.9.4
cat conanfile.txt
cat conanfile.txt
mkdir cmake-build-debug; cd cmake-build-debug
conan install .. -s compiler="Visual Studio" -s compiler.runtime=MDd -s build_type=Debug -s compiler.version=16
conan info .. --graph=graph.html
graph.html
mkdir ../build; cd ../build
conan install ..
</source>
'''Example: 2'''
<source lang="bash" highlight="3,12-19">
cd $ACADEMIA_HOME/wss/ccpp_wss/
git clone https://github.com/drodri/clion_conan.git;cd clion_conan/boost_poco_md5
conan profile remove settings.compiler.libcxx default
mkdir cmake-build-debug; cd cmake-build-debug
conan search poco--remote=conancenter
conan inspect poco/1.11.0
conan search boost --remote=conancenter
conan inspect boost/1.76.0
cat <<EOF > ../conanfile.txt
[requires]
poco/1.11.0
boost/1.76.0
[generators]
cmake
EOF
conan install .. -s compiler="Visual Studio" -s compiler.runtime=MDd -s build_type=Debug -s compiler.version=16
conan info .. --graph=graph.html
graph.html
</source>
</source>


Line 67: Line 120:


| valign="top" |
| valign="top" |
* https://docs.conan.io/en/latest/reference/config_files/default_profile.html Conan Default Profile]
* [https://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle Exploring the C++ Unit Testing Framework]
* [https://stackoverflow.com/questions/242926/ Comparison of C++ unit test frameworks]
* [https://stackoverflow.com/questions/65408676/ Default Profile Error for <code>libstdc++11</code>]
* [https://stackoverflow.com/questions/3150/ Unit testing for Visual Studio C++]
* [https://docs.conan.io/en/latest/faq/troubleshooting.html Conan Troubleshooting]
* [https://docs.conan.io/en/latest/reference/config_files/default_profile.html Conan Default Profile]
* [[CPP OOP]]


|}
|}

Latest revision as of 21:17, 24 July 2021

Linux

apt install python3-all python3-pip python3-venv
python3 -m venv     ~/.venv/conan
source ~/.venv/conan/bin/activate
python -m pip install -U pip
pip install conan
conan --help

Windows

run as administrator
1. Press ⊞ + R
2. Type in cmd
3. Press Ctrl + Shift + Enter
4. Choose Yes and Press Enter
python -m pip install virtualenv
python -m venv   ~\.venv\conan
~\.venv\conan\Scripts\activate
python -m pip install -U pip
pip install conan
conan --help

Profile

If you are using GCC compiler >= 5.1, Conan will set the compiler.libcxx to the old ABI for backwards compatibility. In the context of this getting started example, this is a bad choice though: Recent gcc versions will compile the example by default with the new ABI and linking will fail without further customization of your cmake configuration. You can avoid this with the following commands:

# generates default profile
conan profile new default --detect

# sets libcxx to C++11 ABI
conan profile update settings.compiler.libcxx=libstdc++11 default 
conan profile remove settings.compiler.libcxx default

cat ~/.conan/profiles/default
ls -la ~/.conan/profiles/

Getting Started

cmake_minimum_required(VERSION 3.19)

Example: 1

cd $ACADEMIA_HOME/wss/ccpp_wss/
git clone https://github.com/conan-io/examples.git
cd examples/libraries/poco/md5/

conan search poco --remote=conancenter
conan inspect poco/1.9.4
cat conanfile.txt

mkdir cmake-build-debug; cd cmake-build-debug
conan install .. -s compiler="Visual Studio" -s compiler.runtime=MDd -s build_type=Debug -s compiler.version=16
conan info .. --graph=graph.html
graph.html

mkdir ../build; cd ../build
conan install ..

Example: 2

cd $ACADEMIA_HOME/wss/ccpp_wss/
git clone https://github.com/drodri/clion_conan.git;cd clion_conan/boost_poco_md5
conan profile remove settings.compiler.libcxx default
mkdir cmake-build-debug; cd cmake-build-debug

conan search poco--remote=conancenter
conan inspect poco/1.11.0

conan search boost --remote=conancenter
conan inspect boost/1.76.0

cat <<EOF > ../conanfile.txt
[requires]
poco/1.11.0
boost/1.76.0

[generators]
cmake
EOF

conan install .. -s compiler="Visual Studio" -s compiler.runtime=MDd -s build_type=Debug -s compiler.version=16
conan info .. --graph=graph.html
graph.html

Knowledge

git clone https://github.com/conan-io/conan.git conan;\
cd conan; python -m pip install -e .
pip install conan --upgrade
ls -la ~/.conan/profiles/
cat ~/.conan/profiles/default
conan info ..
conan search "*"
conan search poco/1.9.4@
conan info .. --graph=file.html
conan install .. --profile=gcc_x86
conan install .. --settings arch=x86
conan install .. --settings os="Linux" --settings compiler="gcc"

References