]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/docker/thrift/CMakeLists.txt
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / docker / thrift / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.11 FATAL_ERROR)
2
3 project(
4 dependencies
5 LANGUAGES CXX
6 VERSION 0.0.1)
7
8 set(CMAKE_CXX_STANDARD 11)
9 set(CMAKE_CXX_EXTENSIONS OFF)
10 set(CMAKE_CXX_STANDARD_REQUIRED ON)
11 set(CMAKE_CXX_FLAGS "-O2")
12
13 set(CMAKE_BUILD_TYPE
14 Release
15 CACHE STRING "Build type" FORCE)
16
17 include(GNUInstallDirs)
18
19 set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY
20 ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
21 set(CMAKE_LIBRARY_OUTPUT_DIRECTORY
22 ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
23 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
24 ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})
25
26 set(INSTALL_LIBDIR
27 ${CMAKE_INSTALL_LIBDIR}
28 CACHE PATH "directory for libraries")
29 set(INSTALL_BINDIR
30 ${CMAKE_INSTALL_BINDIR}
31 CACHE PATH "directory for executables")
32 set(INSTALL_INCLUDEDIR
33 ${CMAKE_INSTALL_INCLUDEDIR}
34 CACHE PATH "directory for header files")
35
36 set(DEF_INSTALL_CMAKEDIR share/cmake/${PROJECT_NAME})
37 set(INSTALL_CMAKEDIR
38 ${DEF_INSTALL_CMAKEDIR}
39 CACHE PATH "directory for CMake files")
40
41 set_property(DIRECTORY PROPERTY EP_BASE ${CMAKE_BINARY_DIR}/subs)
42
43 set(STAGED_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/stage)
44 message(STATUS "${PROJECT_NAME} staged install: ${STAGED_INSTALL_PREFIX}")
45
46 find_package(OpenSSL REQUIRED)
47 message("OpenSSL include dir: ${OPENSSL_INCLUDE_DIR}")
48 message("OpenSSL libraries: ${OPENSSL_LIBRARIES}")
49
50 set(THRIFT_VERSION
51 "0.14.1"
52 CACHE STRING "thrift version")
53
54 include(ExternalProject)
55 ExternalProject_Add(
56 thrift
57 URL https://github.com/apache/thrift/archive/refs/tags/v${THRIFT_VERSION}.tar.gz
58 UPDATE_COMMAND ""
59 CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${STAGED_INSTALL_PREFIX}
60 -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
61 -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
62 -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
63 -DBUILD_COMPILER=OFF
64 -DBUILD_CPP=ON
65 -DBUILD_LIBRARIES=ON
66 -DBUILD_NODEJS=OFF
67 -DBUILD_PYTHON=OFF
68 -DBUILD_JAVASCRIPT=OFF
69 -DBUILD_C_GLIB=OFF
70 -DBUILD_JAVA=OFF
71 -DBUILD_TESTING=OFF
72 -DBUILD_TUTORIALS=OFF
73 -DWITH_STDTHREADS=ON
74 -DWITH_BOOSTTHREADS=OFF
75 -DWITH_BOOST_FUNCTIONAL=OFF
76 -DWITH_BOOST_SMART_PTR=OFF
77 CMAKE_CACHE_ARGS -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
78 TEST_AFTER_INSTALL 0
79 DOWNLOAD_NO_PROGRESS 1
80 LOG_CONFIGURE 1
81 LOG_BUILD 0
82 LOG_INSTALL 1)
83
84 install(
85 DIRECTORY ${STAGED_INSTALL_PREFIX}/
86 DESTINATION .
87 USE_SOURCE_PERMISSIONS)