alanxz / SimpleAmqpClient

Simple C++ Interface to rabbitmq-c
MIT License
397 stars 213 forks source link

Last commit break compilation #238

Closed PierreRamoin closed 4 years ago

PierreRamoin commented 4 years ago

Hi, I just tried to compile the last commit (56713c0), but the build fails:

-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: called by CMake conan helper
-- Conan: called inside local cache
-- Conan: Adjusting output directories
-- Conan: Using cmake global configuration
-- Conan: Adjusting default RPATHs Conan policies
-- Conan: Adjusting language standard
-- Conan: Compiler GCC>=5, checking major version 7
-- Conan: Checking correct version: 7
-- Conan: C++ stdlib: libstdc++11
-- Conan: Using autogenerated FindBoost.cmake
-- Found Boost: 1.70.0 (found suitable version "1.70.0", minimum required is "1.47.0") 
-- Library boost_wave found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_wave.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_wave.a
-- Library boost_container found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_container.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_container.a
-- Library boost_contract found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_contract.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_contract.a
-- Library boost_exception found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_exception.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_exception.a
-- Library boost_graph found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_graph.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_graph.a
-- Library boost_iostreams found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_iostreams.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_iostreams.a
-- Library boost_locale found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_locale.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_locale.a
-- Library boost_log found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_log.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_log.a
-- Library boost_program_options found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_program_options.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_program_options.a
-- Library boost_random found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_random.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_random.a
-- Library boost_regex found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_regex.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_regex.a
-- Library boost_serialization found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_serialization.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_serialization.a
-- Library boost_wserialization found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_wserialization.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_wserialization.a
-- Library boost_coroutine found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_coroutine.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_coroutine.a
-- Library boost_fiber found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_fiber.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_fiber.a
-- Library boost_context found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_context.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_context.a
-- Library boost_timer found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_timer.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_timer.a
-- Library boost_thread found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_thread.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_thread.a
-- Library boost_chrono found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_chrono.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_chrono.a
-- Library boost_date_time found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_date_time.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_date_time.a
-- Library boost_atomic found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_atomic.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_atomic.a
-- Library boost_filesystem found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_filesystem.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_filesystem.a
-- Library boost_system found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_system.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_system.a
-- Library boost_type_erasure found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_type_erasure.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_type_erasure.a
-- Library boost_log_setup found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_log_setup.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_log_setup.a
-- Library boost_math_c99 found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_math_c99.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_math_c99.a
-- Library boost_math_c99f found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_math_c99f.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_math_c99f.a
-- Library boost_math_c99l found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_math_c99l.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_math_c99l.a
-- Library boost_math_tr1 found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_math_tr1.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_math_tr1.a
-- Library boost_math_tr1f found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_math_tr1f.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_math_tr1f.a
-- Library boost_math_tr1l found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_math_tr1l.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_math_tr1l.a
-- Library boost_stacktrace_addr2line found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_stacktrace_addr2line.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_stacktrace_addr2line.a
-- Library boost_stacktrace_backtrace found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_stacktrace_backtrace.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_stacktrace_backtrace.a
-- Library boost_stacktrace_basic found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_stacktrace_basic.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_stacktrace_basic.a
-- Library boost_stacktrace_noop found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_stacktrace_noop.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_stacktrace_noop.a
-- Library boost_unit_test_framework found /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_unit_test_framework.a
-- Found: /home/pierre/.conan/data/boost/1.70.0/_/_/package/63aa18f4c96abf22f1e546119f1f7bbee8e30165/lib/libboost_unit_test_framework.a
-- Conan: Using autogenerated FindZLIB.cmake
-- Found ZLIB: 1.2.11 (found version "1.2.11") 
-- Library z found /home/pierre/.conan/data/zlib/1.2.11/_/_/package/d50a0d523d98c15bb147b18fa7d203887c38be8b/lib/libz.a
-- Found: /home/pierre/.conan/data/zlib/1.2.11/_/_/package/d50a0d523d98c15bb147b18fa7d203887c38be8b/lib/libz.a
-- Conan: Using autogenerated FindBZip2.cmake
-- Found BZip2: 1.0.8 (found version "1.0.8") 
-- Library bz2 found /home/pierre/.conan/data/bzip2/1.0.8/_/_/package/b27e2b40bcb70be2e7d6f0e0c6e43e35c530f8d3/lib/libbz2.a
-- Found: /home/pierre/.conan/data/bzip2/1.0.8/_/_/package/b27e2b40bcb70be2e7d6f0e0c6e43e35c530f8d3/lib/libbz2.a
-- Conan: Using autogenerated Findlibrabbitmq-c.cmake
-- Found librabbitmq-c: 0.9.0-0.2 (found version "0.9.0-0.2") 
-- Library rabbitmq found /home/pierre/.conan/data/librabbitmq-c/0.9.0-0.2/_/_/package/3600ffab9dc9556f8c33a6126fb53cad90178c42/lib/librabbitmq.so
-- Found: /home/pierre/.conan/data/librabbitmq-c/0.9.0-0.2/_/_/package/3600ffab9dc9556f8c33a6126fb53cad90178c42/lib/librabbitmq.so
-- Library dl not found in package, might be system one
-- Conan: Using autogenerated FindOpenSSL.cmake
-- Found OpenSSL: 1.0.2u (found version "1.0.2u") 
-- Library ssl found /home/pierre/.conan/data/openssl/1.0.2u/_/_/package/6d4315d6fa76c4ef3a26fbf347fda7039440232c/lib/libssl.so
-- Found: /home/pierre/.conan/data/openssl/1.0.2u/_/_/package/6d4315d6fa76c4ef3a26fbf347fda7039440232c/lib/libssl.so
-- Library crypto found /home/pierre/.conan/data/openssl/1.0.2u/_/_/package/6d4315d6fa76c4ef3a26fbf347fda7039440232c/lib/libcrypto.so
-- Found: /home/pierre/.conan/data/openssl/1.0.2u/_/_/package/6d4315d6fa76c4ef3a26fbf347fda7039440232c/lib/libcrypto.so
-- Library dl not found in package, might be system one
-- Library pthread not found in package, might be system one
-- Dependency ZLIB already found
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_EXPORT_NO_PACKAGE_REGISTRY

-- Build files have been written to: /home/pierre/.conan/data/SimpleAmqpClient/2.4.1_1/_/_/build/614e836315497a504e90d962b3ed680a8e705993
Scanning dependencies of target SimpleAmqpClient
[  9%] Building CXX object CMakeFiles/SimpleAmqpClient.dir/src/AmqpException.cpp.o
[ 18%] Building CXX object CMakeFiles/SimpleAmqpClient.dir/src/Channel.cpp.o
[ 27%] Building CXX object CMakeFiles/SimpleAmqpClient.dir/src/ChannelImpl.cpp.o
[ 36%] Building CXX object CMakeFiles/SimpleAmqpClient.dir/src/BasicMessage.cpp.o
/home/pierre/.conan/data/SimpleAmqpClient/2.4.1_1/_/_/build/614e836315497a504e90d962b3ed680a8e705993/SimpleAmqpClient/src/Channel.cpp:190:1: error: prototype for ‘AmqpClient::Channel::Channel(const string&, int, const string&, const string&, const string&, int, const AmqpClient::Channel::SSLConnectionParams&)’ does not match any in class ‘AmqpClient::Channel’
 Channel::Channel(const std::string &, int, const std::string &,
 ^~~~~~~
In file included from /home/pierre/.conan/data/SimpleAmqpClient/2.4.1_1/_/_/build/614e836315497a504e90d962b3ed680a8e705993/SimpleAmqpClient/src/Channel.cpp:37:0:
/home/pierre/.conan/data/SimpleAmqpClient/2.4.1_1/_/_/build/614e836315497a504e90d962b3ed680a8e705993/SimpleAmqpClient/src/SimpleAmqpClient/Channel.h:59:31: error: candidates are: AmqpClient::Channel::Channel(const AmqpClient::Channel&)
 class SIMPLEAMQPCLIENT_EXPORT Channel : boost::noncopyable {
                               ^~~~~~~
/home/pierre/.conan/data/SimpleAmqpClient/2.4.1_1/_/_/build/614e836315497a504e90d962b3ed680a8e705993/SimpleAmqpClient/src/SimpleAmqpClient/Channel.h:292:12: error:                 AmqpClient::Channel::Channel(const string&, int, const string&, const string&, const string&, int, const AmqpClient::Channel::SSLConnectionParams&, bool)
   explicit Channel(const std::string &host, int port,
            ^~~~~~~
/home/pierre/.conan/data/SimpleAmqpClient/2.4.1_1/_/_/build/614e836315497a504e90d962b3ed680a8e705993/SimpleAmqpClient/src/Channel.cpp:111:1: error:                 AmqpClient::Channel::Channel(const string&, int, const string&, const string&, const string&, int, bool)
 Channel::Channel(const std::string &host, int port, const std::string &username,
 ^~~~~~~
/home/pierre/.conan/data/SimpleAmqpClient/2.4.1_1/_/_/build/614e836315497a504e90d962b3ed680a8e705993/SimpleAmqpClient/src/Channel.cpp:192:24: error: ‘struct AmqpClient::Channel::SSLConnectionParams’ is protected within this context
                  const SSLConnectionParams &) {
                        ^~~~~~~~~~~~~~~~~~~
In file included from /home/pierre/.conan/data/SimpleAmqpClient/2.4.1_1/_/_/build/614e836315497a504e90d962b3ed680a8e705993/SimpleAmqpClient/src/Channel.cpp:37:0:
/home/pierre/.conan/data/SimpleAmqpClient/2.4.1_1/_/_/build/614e836315497a504e90d962b3ed680a8e705993/SimpleAmqpClient/src/SimpleAmqpClient/Channel.h:119:10: note: declared protected here
   struct SSLConnectionParams {
          ^~~~~~~~~~~~~~~~~~~
[ 45%] Building CXX object CMakeFiles/SimpleAmqpClient.dir/src/AmqpLibraryException.cpp.o
CMakeFiles/SimpleAmqpClient.dir/build.make:75: recipe for target 'CMakeFiles/SimpleAmqpClient.dir/src/Channel.cpp.o' failed
make[2]: *** [CMakeFiles/SimpleAmqpClient.dir/src/Channel.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/SimpleAmqpClient.dir/all' failed
make[1]: *** [CMakeFiles/SimpleAmqpClient.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

Everything works as expected with build eaa6044cecbd84e5e77ed0cd223515358c982605

alanxz commented 4 years ago

Could you give me some information about what platform this is being built on?

OS (name, version)? Compiler (name, version)?

The CMake script being used here seems to be wrapped by something else (e.g., FindZLIB is being invoked), could you point me at that script?

PierreRamoin commented 4 years ago

OS : Ubuntu 18.04 LTS Compiler: GCC 7 (tried also with 8)

It is wrapped and compiled via conan, a dependency manager. I tried without it and the compilation works just fine. Do you have any idea what can cause this new failure ?

Here is my conanfile: it contains all the dependencies I use and the changes I make on the CMakeList (for conan to find and include the librairies)

class SimpleamqpclientConan(ConanFile):
    name = "SimpleAmqpClient"
    version = "2.4.1_1"
    license = "MIT"
    author = "Pierre RAMOIN <pierre.ramoin@snowconnect.eu>"
    description = "Wrapper for RabbitMQ"
    topics = ("RabbitMQ", "AMQP")
    settings = "os", "compiler", "build_type", "arch"
    options = {"shared": [True, False]}
    default_options = "shared=False"
    generators = "cmake", "cmake_find_package"
    build_requires = ["cmake/3.17.0"]
    requires = ["librabbitmq-c/0.9.0-0.2" + conan_extension,
                "boost/1.70.0"]

    def source(self):
        self.run("git clone https://github.com/alanxz/SimpleAmqpClient.git")
#        self.run("cd SimpleAmqpClient && git checkout eaa6044cecbd84e5e77ed0cd223515358c982605 && cd ..")                                                                                                          
        tools.replace_in_file("SimpleAmqpClient/CMakeLists.txt", "SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules)", "#SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules)")
        tools.replace_in_file("SimpleAmqpClient/CMakeLists.txt", "INCLUDE(UseDoxygen)", "SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules)\nINCLUDE(UseDoxygen)")
        tools.replace_in_file("SimpleAmqpClient/CMakeLists.txt", "FIND_PACKAGE(Rabbitmqc REQUIRED)", "FIND_PACKAGE(librabbitmq-c REQUIRED)")
        tools.replace_in_file("SimpleAmqpClient/CMakeLists.txt", "PROJECT(SimpleAmqpClient)",
                              ('PROJECT(SimpleAmqpClient)\n'
                               'include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)\n'
                               'conan_basic_setup()'))

    def configure_cmake(self):
        cmake = CMake(self)
        return cmake

    def build(self):
        cmake = self.configure_cmake()
        cmake.configure(source_folder="SimpleAmqpClient")
        cmake.build()

    def package(self):
        cmake = self.configure_cmake()
        cmake.install()

    def package_info(self):
        self.cpp_info.libs = ["SimpleAmqpClient"]

I also wrap librabbitmq-c (debian version) for conan package manager:

class LibrabbitmqConan(ConanFile):
    name = "librabbitmq-c"
    version = "0.9.0-0.2"
    license = "MIT"
    author = "Pierre RAMOIN <pierre.ramoin@snowconnect.eu>"
    url = "https://github.com/snowconnect/conan-librabbitmq-c.git"
    description = "librabbitmq-c w/ debian patches"
    topics = ("RabbitMQ", "amqp", "C")
    settings = "os", "compiler", "build_type", "arch"
    options = {"shared": [True, False]}
    generators = "cmake"
    requires = "openssl/1.0.2u"
    build_requires = "cmake/3.17.0"
    default_options = {"openssl:shared": True, "shared": True}

    def source(self):
        self.run("curl -L deb.debian.org/debian/pool/main/libr/librabbitmq/librabbitmq_0.9.0-0.2.debian.tar.xz | tar xJv")
        self.run("curl -L deb.debian.org/debian/pool/main/libr/librabbitmq/librabbitmq_0.9.0.orig.tar.gz | tar xvz --strip-components 1")

        tools.replace_in_file("./CMakeLists.txt", "project(rabbitmq-c \"C\")",
                              '''project(rabbitmq-c \"C\")                                                                                                                                                          
include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)                                                                                                                                                                   
conan_basic_setup()''')
        tools.replace_in_file("./librabbitmq/CMakeLists.txt",
                              "set(RMQ_LIBRARIES ${AMQP_SSL_LIBS} ${SOCKET_LIBRARIES} ${LIBRT} ${CMAKE_THREAD_LIBS_INIT})",
                              "set(RMQ_LIBRARIES ${AMQP_SSL_LIBS} ${SOCKET_LIBRARIES} ${LIBRT} ${CMAKE_THREAD_LIBS_INIT} ${CONAN_LIBS})\n message(${CONAN_LIBS})")

    def configure_cmake(self):
        cmake = CMake(self)
        return cmake

    def build(self):
        cmake = CMake(self)
        with open('debian/patches/series') as f:
            lines = f.readlines()
        for line in lines:
            self.run("patch -p1 < ./debian/patches/" + line)
        cmake.configure()
        cmake.build()

    def package(self):
        cmake = self.configure_cmake()
        cmake.install()

    def package_info(self):
        self.cpp_info.libs = ["rabbitmq", "dl"]