1 include(vcpkg_common_functions)
3 message("CURRENT_PACKAGES_DIR = ${CURRENT_PACKAGES_DIR}")
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}")
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}")
14 OUT_FEATURE_OPTIONS FEATURE_OPTIONS
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)
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}")
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}")
33 # Fetch from GitHub master
34 message("Fetching source code from GitHub...")
36 OUT_SOURCE_PATH SOURCE_PATH
37 REPO open-telemetry/opentelemetry-cpp
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.
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
54 vcpkg_execute_build_process(
55 COMMAND ${SOURCE_PATH}/tools/build.sh nostd-vcpkg ${FEATURE_OPTIONS}
56 WORKING_DIRECTORY ${SOURCE_PATH}/
60 vcpkg_execute_build_process(
61 COMMAND ${SOURCE_PATH}/tools/install.sh ${CURRENT_PACKAGES_DIR}
62 WORKING_DIRECTORY ${SOURCE_PATH}/
67 # TODO: verify Windows build
68 vcpkg_execute_build_process(
69 COMMAND ${SOURCE_PATH}/tools/build.cmd
70 WORKING_DIRECTORY ${SOURCE_PATH}/
72 # TODO: add Windows headers installation step
76 file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)