]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/v8/V8Config-static.cmake
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / v8 / V8Config-static.cmake
1 include(CMakeFindDependencyMacro)
2 find_dependency(ICU REQUIRED COMPONENTS in uc dt)
3 find_dependency(ZLIB REQUIRED)
4 if(UNIX)
5 find_package(PkgConfig REQUIRED)
6 pkg_check_modules(GLIB2 glib-2.0 gobject-2.0 gmodule-2.0 gio-2.0 IMPORTED_TARGET)
7 set(V8_IMPORTED_LINK_INTERFACE_LIBRARIES
8 "ICU::in;ICU::uc;ICU::dt;ZLIB::ZLIB")
9 elseif(WIN32)
10 set(V8_IMPORTED_LINK_INTERFACE_LIBRARIES
11 "Winmm;DbgHelp;ZLIB::ZLIB;PkgConfig::GLIB2;ICU::in;ICU::uc;ICU::dt")
12 endif()
13
14 get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
15 get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
16 get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
17 if(_IMPORT_PREFIX STREQUAL "/")
18 set(_IMPORT_PREFIX "")
19 endif()
20
21 include(SelectLibraryConfigurations)
22
23 find_path(V8_INCLUDE_DIR NAMES v8.h PATH_SUFFIXES include)
24
25 if(EXISTS "${_IMPORT_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}v8_monolith${CMAKE_STATIC_LIBRARY_SUFFIX}")
26 set(V8_LIBRARY_RELEASE "${_IMPORT_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}v8_monolith${CMAKE_STATIC_LIBRARY_SUFFIX}" CACHE FILEPATH "Release version of the V8 library location")
27 endif()
28 if(EXISTS "${_IMPORT_PREFIX}/debug/lib/${CMAKE_STATIC_LIBRARY_PREFIX}v8_monolith${CMAKE_STATIC_LIBRARY_SUFFIX}")
29 set(V8_LIBRARY_DEBUG "${_IMPORT_PREFIX}/debug/lib/${CMAKE_STATIC_LIBRARY_PREFIX}v8_monolith${CMAKE_STATIC_LIBRARY_SUFFIX}" CACHE FILEPATH "Debug version of the V8 library location")
30 endif()
31 select_library_configurations(V8)
32
33 mark_as_advanced(V8_INCLUDE_DIR)
34
35 if(V8_INCLUDE_DIR AND EXISTS "${V8_INCLUDE_DIR}/v8-version.h")
36 file(STRINGS "${V8_INCLUDE_DIR}/v8-version.h" V8_MAJOR_VERSION REGEX "^#define V8_MAJOR_VERSION [0-9]+.*$")
37 string(REGEX REPLACE "^#define V8_MAJOR_VERSION ([0-9]+).*$" "\\1" V8_MAJOR_VERSION "${V8_MAJOR_VERSION}")
38 file(STRINGS "${V8_INCLUDE_DIR}/v8-version.h" V8_MINOR_VERSION REGEX "^#define V8_MINOR_VERSION [0-9]+.*$")
39 string(REGEX REPLACE "^#define V8_MINOR_VERSION ([0-9]+).*$" "\\1" V8_MINOR_VERSION "${V8_MINOR_VERSION}")
40 file(STRINGS "${V8_INCLUDE_DIR}/v8-version.h" V8_BUILD_NUMBER REGEX "^#define V8_BUILD_NUMBER [0-9]+.*$")
41 string(REGEX REPLACE "^#define V8_BUILD_NUMBER ([0-9]+).*$" "\\1" V8_BUILD_NUMBER "${V8_BUILD_NUMBER}")
42 file(STRINGS "${V8_INCLUDE_DIR}/v8-version.h" V8_PATCH_LEVEL REGEX "^#define V8_PATCH_LEVEL [0-9]+.*$")
43 string(REGEX REPLACE "^#define V8_PATCH_LEVEL ([0-9]+).*$" "\\1" V8_PATCH_LEVEL "${V8_PATCH_LEVEL}")
44 set(V8_VERSION_STRING "${V8_MAJOR_VERSION}.${V8_MINOR_VERSION}.${V8_BUILD_NUMBER}.${V8_PATCH_LEVEL}")
45 endif()
46
47
48 if(CMAKE_SIZEOF_VOID_P EQUAL 8)
49 set(V8_COMPILE_DEFINITIONS "V8_COMPRESS_POINTERS;V8_31BIT_SMIS_ON_64BIT_ARCH")
50 else()
51 set(V8_COMPILE_DEFINITIONS " ")
52 endif()
53
54 mark_as_advanced(V8_COMPILE_DEFINITIONS)
55
56 include(FindPackageHandleStandardArgs)
57
58 FIND_PACKAGE_HANDLE_STANDARD_ARGS(V8 REQUIRED_VARS V8_LIBRARY V8_INCLUDE_DIR V8_COMPILE_DEFINITIONS
59 VERSION_VAR V8_VERSION_STRING)
60 set(V8_LIBRARIES ${V8_LIBRARY})
61
62 mark_as_advanced(V8_LIBRARIES)
63
64 if(NOT TARGET V8::V8)
65 add_library(V8::V8 STATIC IMPORTED)
66 set_target_properties(V8::V8 PROPERTIES
67 INTERFACE_INCLUDE_DIRECTORIES "${V8_INCLUDE_DIR}"
68 INTERFACE_COMPILE_DEFINITIONS "${V8_COMPILE_DEFINITIONS}")
69 if(MSVC)
70 set_target_properties(V8::V8 PROPERTIES
71 INTERFACE_COMPILE_OPTIONS "/MT$<$<CONFIG:Debug>:d>")
72 endif()
73
74 if(V8_LIBRARY_RELEASE)
75 set_property(TARGET V8::V8 APPEND PROPERTY
76 IMPORTED_CONFIGURATIONS RELEASE)
77 set_target_properties(V8::V8 PROPERTIES
78 IMPORTED_LOCATION_RELEASE "${V8_LIBRARY_RELEASE}"
79 IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE
80 "${V8_IMPORTED_LINK_INTERFACE_LIBRARIES}")
81 endif()
82
83 if(V8_LIBRARY_DEBUG)
84 set_property(TARGET V8::V8 APPEND PROPERTY
85 IMPORTED_CONFIGURATIONS DEBUG)
86 set_target_properties(V8::V8 PROPERTIES
87 IMPORTED_LOCATION_DEBUG "${V8_LIBRARY_DEBUG}"
88 IMPORTED_LINK_INTERFACE_LIBRARIES_DEBUG
89 "${V8_IMPORTED_LINK_INTERFACE_LIBRARIES}")
90 endif()
91
92 if(NOT V8_LIBRARY_RELEASE AND NOT V8_LIBRARY_DEBUG)
93 set_property(TARGET V8::V8 APPEND PROPERTY
94 IMPORTED_LOCATION "${V8_LIBRARY}"
95 IMPORTED_LINK_INTERFACE_LIBRARIES
96 "${V8_IMPORTED_LINK_INTERFACE_LIBRARIES}")
97 endif()
98 endif()