Aleph icon indicating copy to clipboard operation
Aleph copied to clipboard

Few steps closer for a complete Conan packaging, for issue #27

Open A-Alaa opened this issue 5 years ago • 1 comments

  • Added Conan file to automatically fetch the dependencies using their Conan recipes:
    1. Boost, with its components.
    2. RapidJSON
    3. PyBind11
    4. Eigen3
    5. tinyxml2
  • The FLANN has no Conan recipe available yet. Could be made manually if it is significant and needed.

Using Conan

mkdir build
cd build
conan install .. -o enable_rapidjson=True -o enable_eigen=True -o enable_tinyxml2=True -o enable_pybind=True --build missing
cmake ..

This will download and install all the optional dependencies except the FLANN. Also, any option in the Conan installation command can be omitted.

Conan in general is very promising, well documented, very active support, but not yet widely adopted since it is very new.

A-Alaa avatar Jan 30 '19 20:01 A-Alaa

Forgot to tell, you need to explicitly ask the Conan to use the new C++ ABI libstdc++11, by one of the following:

Override this requirement in the installation command:

conan install .. [-o enable_rapidjson=True] [-o enable_eigen=True] [-o enable_tinyxml2=True] [-o enable_pybind=True] --build missing -s compiler.libcxx=libstdc++11

OR, Add this requirement to the default Conan profile in your home directory (e.g nano ~/.conan/profiles/default), and make sure you have the following line:

compiler.libcxx=libstdc++11

instead of

compiler.libcxx=libstdc++

A-Alaa avatar Jan 30 '19 21:01 A-Alaa