--- /dev/null
+cmake_minimum_required(VERSION 3.11 FATAL_ERROR)
+
+project(
+ dependencies
+ LANGUAGES CXX
+ VERSION 0.0.1)
+
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_EXTENSIONS OFF)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_FLAGS "-O2")
+
+set(CMAKE_BUILD_TYPE
+ Release
+ CACHE STRING "Build type" FORCE)
+
+include(GNUInstallDirs)
+
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY
+ ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY
+ ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
+ ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
+
+set(INSTALL_LIBDIR
+ ${CMAKE_INSTALL_LIBDIR}
+ CACHE PATH "directory for libraries")
+set(INSTALL_BINDIR
+ ${CMAKE_INSTALL_BINDIR}
+ CACHE PATH "directory for executables")
+set(INSTALL_INCLUDEDIR
+ ${CMAKE_INSTALL_INCLUDEDIR}
+ CACHE PATH "directory for header files")
+
+set(DEF_INSTALL_CMAKEDIR share/cmake/${PROJECT_NAME})
+set(INSTALL_CMAKEDIR
+ ${DEF_INSTALL_CMAKEDIR}
+ CACHE PATH "directory for CMake files")
+
+set_property(DIRECTORY PROPERTY EP_BASE ${CMAKE_BINARY_DIR}/subs)
+
+set(STAGED_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/stage)
+message(STATUS "${PROJECT_NAME} staged install: ${STAGED_INSTALL_PREFIX}")
+
+find_package(OpenSSL REQUIRED)
+message("OpenSSL include dir: ${OPENSSL_INCLUDE_DIR}")
+message("OpenSSL libraries: ${OPENSSL_LIBRARIES}")
+
+set(THRIFT_VERSION
+ "0.14.1"
+ CACHE STRING "thrift version")
+
+include(ExternalProject)
+ExternalProject_Add(
+ thrift
+ URL https://github.com/apache/thrift/archive/refs/tags/v${THRIFT_VERSION}.tar.gz
+ UPDATE_COMMAND ""
+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX}
+ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+ -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
+ -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
+ -DBUILD_COMPILER=OFF
+ -DBUILD_CPP=ON
+ -DBUILD_LIBRARIES=ON
+ -DBUILD_NODEJS=OFF
+ -DBUILD_PYTHON=OFF
+ -DBUILD_JAVASCRIPT=OFF
+ -DBUILD_C_GLIB=OFF
+ -DBUILD_JAVA=OFF
+ -DBUILD_TESTING=OFF
+ -DBUILD_TUTORIALS=OFF
+ -DWITH_STDTHREADS=ON
+ -DWITH_BOOSTTHREADS=OFF
+ -DWITH_BOOST_FUNCTIONAL=OFF
+ -DWITH_BOOST_SMART_PTR=OFF
+ CMAKE_CACHE_ARGS -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
+ TEST_AFTER_INSTALL 0
+ DOWNLOAD_NO_PROGRESS 1
+ LOG_CONFIGURE 1
+ LOG_BUILD 0
+ LOG_INSTALL 1)
+
+install(
+ DIRECTORY ${STAGED_INSTALL_PREFIX}/
+ DESTINATION .
+ USE_SOURCE_PERMISSIONS)