thrift/0.20.0

Thrift is an associated code generation mechanism for RPC
Recipe info
2024-05-20

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
thrift/0.20.0

Using thrift

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
thrift/0.20.0
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("thrift/0.20.0")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): Thrift
  • CMake target name(s): thrift::thrift-conan-do-not-use
  • libthrift => thrift::thrift
    libthrift_z => thriftz::thriftz
    libthrift_nb => thriftnb::thriftnb
    
  • pkg-config file name(s): thrift_conan_do_not_use.pc
  • libthrift => thrift.pc
    libthrift_z => thrift-z.pc
    libthrift_nb => thrift-nb.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(Thrift REQUIRED)
# ...
target_link_libraries(YOUR_TARGET thrift::thrift-conan-do-not-use)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the thrift homepage listed above:

#include "thrift/TApplicationException.h"
#include "thrift/TBase.h"
#include "thrift/TConfiguration.h"
#include "thrift/TDispatchProcessor.h"
#include "thrift/TLogging.h"
#include "thrift/TNonCopyable.h"
#include "thrift/TOutput.h"
#include "thrift/TProcessor.h"
#include "thrift/TToString.h"
#include "thrift/Thrift.h"
#include "thrift/async/TAsyncBufferProcessor.h"
#include "thrift/async/TAsyncChannel.h"
#include "thrift/async/TAsyncDispatchProcessor.h"
#include "thrift/async/TAsyncProcessor.h"
#include "thrift/async/TAsyncProtocolProcessor.h"
#include "thrift/async/TConcurrentClientSyncInfo.h"
#include "thrift/async/TEvhttpClientChannel.h"
#include "thrift/async/TEvhttpServer.h"
#include "thrift/concurrency/Exception.h"
#include "thrift/concurrency/FunctionRunner.h"
#include "thrift/concurrency/Monitor.h"
#include "thrift/concurrency/Mutex.h"
#include "thrift/concurrency/Thread.h"
#include "thrift/concurrency/ThreadFactory.h"
#include "thrift/concurrency/ThreadManager.h"
#include "thrift/concurrency/TimerManager.h"
#include "thrift/config.h"
#include "thrift/processor/PeekProcessor.h"
#include "thrift/processor/StatsProcessor.h"
#include "thrift/processor/TMultiplexedProcessor.h"
#include "thrift/protocol/TBase64Utils.h"
#include "thrift/protocol/TBinaryProtocol.h"
#include "thrift/protocol/TBinaryProtocol.tcc"
#include "thrift/protocol/TCompactProtocol.h"
#include "thrift/protocol/TCompactProtocol.tcc"
#include "thrift/protocol/TDebugProtocol.h"
#include "thrift/protocol/TEnum.h"
#include "thrift/protocol/THeaderProtocol.h"
#include "thrift/protocol/TJSONProtocol.h"
#include "thrift/protocol/TList.h"
#include "thrift/protocol/TMap.h"
#include "thrift/protocol/TMultiplexedProtocol.h"
#include "thrift/protocol/TProtocol.h"
#include "thrift/protocol/TProtocolDecorator.h"
#include "thrift/protocol/TProtocolException.h"
#include "thrift/protocol/TProtocolTap.h"
#include "thrift/protocol/TProtocolTypes.h"
#include "thrift/protocol/TSet.h"
#include "thrift/protocol/TVirtualProtocol.h"
#include "thrift/qt/TQIODeviceTransport.h"
#include "thrift/qt/TQTcpServer.h"
#include "thrift/server/TConnectedClient.h"
#include "thrift/server/TNonblockingServer.h"
#include "thrift/server/TServer.h"
#include "thrift/server/TServerFramework.h"
#include "thrift/server/TSimpleServer.h"
#include "thrift/server/TThreadPoolServer.h"
#include "thrift/server/TThreadedServer.h"
#include "thrift/thrift-config.h"
#include "thrift/thrift_export.h"
#include "thrift/transport/PlatformSocket.h"
#include "thrift/transport/SocketCommon.h"
#include "thrift/transport/TBufferTransports.h"
#include "thrift/transport/TFDTransport.h"
#include "thrift/transport/TFileTransport.h"
#include "thrift/transport/THeaderTransport.h"
#include "thrift/transport/THttpClient.h"
#include "thrift/transport/THttpServer.h"
#include "thrift/transport/THttpTransport.h"
#include "thrift/transport/TNonblockingSSLServerSocket.h"
#include "thrift/transport/TNonblockingServerSocket.h"
#include "thrift/transport/TNonblockingServerTransport.h"
#include "thrift/transport/TPipe.h"
#include "thrift/transport/TPipeServer.h"
#include "thrift/transport/TSSLServerSocket.h"
#include "thrift/transport/TSSLSocket.h"
#include "thrift/transport/TServerSocket.h"
#include "thrift/transport/TServerTransport.h"
#include "thrift/transport/TShortReadTransport.h"
#include "thrift/transport/TSimpleFileTransport.h"
#include "thrift/transport/TSocket.h"
#include "thrift/transport/TSocketPool.h"
#include "thrift/transport/TSocketUtils.h"
#include "thrift/transport/TTransport.h"
#include "thrift/transport/TTransportException.h"
#include "thrift/transport/TTransportUtils.h"
#include "thrift/transport/TVirtualTransport.h"
#include "thrift/transport/TWebSocketServer.h"
#include "thrift/transport/TZlibTransport.h"
#include "thrift/windows/GetTimeOfDay.h"
#include "thrift/windows/Operators.h"
#include "thrift/windows/OverlappedSubmissionThread.h"
#include "thrift/windows/SocketPair.h"
#include "thrift/windows/Sync.h"
#include "thrift/windows/TWinsockSingleton.h"
#include "thrift/windows/WinFcntl.h"
#include "thrift/windows/config.h"