CONAN.md 1.6 KB

Using Conan

If you're not using the most recent Linux, you will have an older version of boost.

Conan can solve that, (or, in cases where you want to use a newer boost then what is provided).

Using Conan to find things

This searches conan for any/all boost versions.


What settings are there for the boost library that I might want to use?

```conan search boost/1.71.0@```

## Setup for TWProxy

Here's how:

### conanfile.txt

Create conanfile with:

[requires] boost/1.71.0

[generators] cmake


### CMakeLists.txt

Below the DEBUG or RELEASE section add:

add_definitions("-std=c++11") set(Boost_USE_STATIC_LIBS ON)

include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup()


Below the C++ Standard section comment out:

FIND_PACKAGE( Boost 1.60 COMPONENTS program_options log_setup log REQUIRED )

INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIR} )


Change all the target_link_libraries lines, replacing Boost_LIBRARIES with CONAN_LIBS:

target_link_libraries(test-galaxy gtest_main ${Boost_LIBRARIES} yaml-cpp)

target_link_libraries(test-galaxy gtest_main ${CONAN_LIBS} yaml-cpp)

TARGET_LINK_LIBRARIES( twproxy ${Boost_LIBRARIES} pthread yaml-cpp)

TARGET_LINK_LIBRARIES( twproxy ${CONAN_LIBS} pthread yaml-cpp)


### Conan install

The --settings isn't needed if you change the global settings with:

```conan profile update settings.compiler.libcxx=libstdc++11 default```


cd build conan install --settings compiler.libcxx="libstdc++11" ../


or

cd build conan install .. ```

A normal build should work just fine.