]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/tools/ports/opentelemetry/portfile.cmake
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / ports / opentelemetry / portfile.cmake
1 include(vcpkg_common_functions)
2
3 message("CURRENT_PACKAGES_DIR = ${CURRENT_PACKAGES_DIR}")
4
5 message("CMAKE_CURRENT_SOURCE_DIR = ${CMAKE_CURRENT_SOURCE_DIR}")
6 message("CMAKE_MODULE_PATH = ${CMAKE_MODULE_PATH}")
7 message("CMAKE_CURRENT_LIST_DIR = ${CMAKE_CURRENT_LIST_DIR}")
8
9 message("VCPKG_TARGET_TRIPLET = ${VCPKG_TARGET_TRIPLET}")
10 message("VCPKG_CMAKE_SYSTEM_NAME = ${VCPKG_CMAKE_SYSTEM_NAME}")
11 message("VCPKG_LIBRARY_LINKAGE = ${VCPKG_LIBRARY_LINKAGE}")
12
13 vcpkg_check_features(
14 OUT_FEATURE_OPTIONS FEATURE_OPTIONS
15 stdlib WITH_STDLIB
16 abseil WITH_ABSEIL
17 )
18
19 # TODO: if building dynamic, use portable ABI. if building static, use STDLIB
20 string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_SHARED)
21 string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
22
23 if (NOT DEFINED WIN32)
24 execute_process(COMMAND "${CMAKE_CURRENT_LIST_DIR}/get_repo_name.sh" OUTPUT_VARIABLE REPO_NAME ERROR_QUIET)
25 message("REPO_NAME=${REPO_NAME}")
26 endif()
27
28 if (DEFINED REPO_NAME)
29 # Use local snapshot since we already cloned the code
30 get_filename_component(SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
31 message("Using local source snapshot from ${SOURCE_PATH}")
32 else()
33 # Fetch from GitHub master
34 message("Fetching source code from GitHub...")
35 vcpkg_from_github(
36 OUT_SOURCE_PATH SOURCE_PATH
37 REPO open-telemetry/opentelemetry-cpp
38 HEAD_REF master
39 )
40 endif()
41
42 # TODO: it will be slightly cleaner to perform pure CMake or Ninja build, by describing all possible variable options
43 # as separate triplets. Since we have a fairly non-trivial build logic in build.sh script - we use it as-is for now.
44 # build.sh itself should check if we are building under vcpkg and avoid installing deps that are coming from vcpkg.
45 if (UNIX)
46 set(ENV{USE_VCPKG} 1)
47 set(ENV{NOROOT} 1)
48
49 # Custom options could be passed to COMMAND, e.g.
50 # vcpkg_execute_build_process(
51 # COMMAND ${SOURCE_PATH}/tools/build.sh nostd-vcpkg -DBUILD_TESTING=OFF
52 # ...
53 #
54 vcpkg_execute_build_process(
55 COMMAND ${SOURCE_PATH}/tools/build.sh nostd-vcpkg ${FEATURE_OPTIONS}
56 WORKING_DIRECTORY ${SOURCE_PATH}/
57 LOGNAME build
58 )
59
60 vcpkg_execute_build_process(
61 COMMAND ${SOURCE_PATH}/tools/install.sh ${CURRENT_PACKAGES_DIR}
62 WORKING_DIRECTORY ${SOURCE_PATH}/
63 LOGNAME install
64 )
65
66 else()
67 # TODO: verify Windows build
68 vcpkg_execute_build_process(
69 COMMAND ${SOURCE_PATH}/tools/build.cmd
70 WORKING_DIRECTORY ${SOURCE_PATH}/
71 LOGNAME build
72 # TODO: add Windows headers installation step
73 )
74 endif()
75
76 file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)