]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/sqlcipher/portfile.cmake
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / sqlcipher / portfile.cmake
1 vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
2
3 vcpkg_fail_port_install( ON_TARGET "UWP" "OSX" "Linux")
4
5 vcpkg_from_github(
6 OUT_SOURCE_PATH SOURCE_PATH
7 REPO sqlcipher/sqlcipher
8 REF v4.4.3
9 SHA512 d80177cf658c145f7328bafac14bc2779afa463fc94ef0a5e99b6654cf2eece3088ac296949130e7263f52948913ffeac253c47e33d91816e90caf1788301a9a
10 HEAD_REF master
11 )
12
13 # Don't use vcpkg_build_nmake, because it doesn't handle nmake targets correctly.
14 find_program(NMAKE nmake REQUIRED)
15
16 # Find tclsh Executable needed for Amalgamation of SQLite
17 file(GLOB TCLSH_CMD
18 ${CURRENT_INSTALLED_DIR}/tools/tcl/bin/tclsh*${VCPKG_HOST_EXECUTABLE_SUFFIX}
19 )
20 file(TO_NATIVE_PATH "${TCLSH_CMD}" TCLSH_CMD)
21 file(TO_NATIVE_PATH "${SOURCE_PATH}" SOURCE_PATH_NAT)
22
23 # Determine TCL version (e.g. [path]tclsh90s.exe -> 90)
24 string(REGEX REPLACE ^.*tclsh "" TCLVERSION ${TCLSH_CMD})
25 string(REGEX REPLACE [A-Za-z]?${VCPKG_HOST_EXECUTABLE_SUFFIX}$ "" TCLVERSION ${TCLVERSION})
26
27 list(APPEND NMAKE_OPTIONS
28 TCLSH_CMD="${TCLSH_CMD}"
29 TCLVERSION=${TCLVERSION}
30 ORIGINAL_SRC="${SOURCE_PATH_NAT}"
31 EXT_FEATURE_FLAGS=-DSQLITE_TEMP_STORE=2\ -DSQLITE_HAS_CODEC
32 LTLIBS=libcrypto.lib
33 LTLIBPATHS=/LIBPATH:"${CURRENT_INSTALLED_DIR}/lib/"
34 )
35
36 set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}")
37
38 # Creating amalgamation files
39 message(STATUS "Pre-building ${TARGET_TRIPLET}")
40 vcpkg_execute_required_process(
41 COMMAND ${NMAKE} -f Makefile.msc /A /NOLOGO clean tcl
42 ${NMAKE_OPTIONS}
43 WORKING_DIRECTORY ${SOURCE_PATH}
44 LOGNAME pre-build-${TARGET_TRIPLET}
45 )
46 message(STATUS "Pre-building ${TARGET_TRIPLET} done")
47
48 # The rest of the build process with the CMakeLists.txt is merely a copy of sqlite3
49
50 file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
51
52 vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
53 FEATURES
54 geopoly WITH_GEOPOLY
55 json1 WITH_JSON1
56 INVERTED_FEATURES
57 tool SQLITE3_SKIP_TOOLS
58 )
59
60 vcpkg_configure_cmake(
61 SOURCE_PATH ${SOURCE_PATH}
62 PREFER_NINJA
63 OPTIONS ${FEATURE_OPTIONS}
64 OPTIONS_DEBUG
65 -DSQLITE3_SKIP_TOOLS=ON
66 )
67
68 vcpkg_install_cmake()
69 vcpkg_fixup_cmake_targets(CONFIG_PATH share/${PORT} TARGET_PATH share/${PORT})
70
71 file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
72
73 if(NOT SQLITE3_SKIP_TOOLS AND EXISTS ${CURRENT_PACKAGES_DIR}/tools/${PORT}/sqlcipher-bin${VCPKG_HOST_EXECUTABLE_SUFFIX})
74 file(RENAME ${CURRENT_PACKAGES_DIR}/tools/${PORT}/sqlcipher-bin${VCPKG_HOST_EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/${PORT}/sqlcipher${VCPKG_HOST_EXECUTABLE_SUFFIX})
75 endif()
76
77 configure_file(
78 ${CMAKE_CURRENT_LIST_DIR}/sqlcipher-config.in.cmake
79 ${CURRENT_PACKAGES_DIR}/share/${PORT}/sqlcipher-config.cmake
80 @ONLY
81 )
82
83 file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
84
85 vcpkg_copy_pdbs()
86 vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})