Browse Source

Notes on using Conan to build.

Steve Thielemann 3 years ago
parent
commit
31f03c08f8
1 changed files with 80 additions and 0 deletions
  1. 80 0
      CONAN.md

+ 80 - 0
CONAN.md

@@ -0,0 +1,80 @@
+# 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.
+
+```conan search boost --remote=conancenter```
+
+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.