blob: f25c1e0066e3a45604fd8c36a4bb4be2976e080a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
|
if (EXISTS "${CURRENT_INSTALLED_DIR}/include/mysql/mysql.h")
message(FATAL_ERROR "FATAL ERROR: ${PORT} and libmariadb are incompatible.")
endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO mysql/mysql-server
REF "mysql-${VERSION}"
SHA512 f0591d263de557877a618b04871d332dc227e26c7e9b61994093dc9af29971ea6332761de5391bb8da955bd58b3b98da90722bafdbf86f36764995a70f94ae62
HEAD_REF master
PATCHES
dependencies.patch
install-exports.patch
fix_dup_symbols.patch
cross-build.patch
fix-pdb-install-path.patch
)
file(GLOB third_party "${SOURCE_PATH}/extra/*" "${SOURCE_PATH}/include/boost_1_*")
list(REMOVE_ITEM third_party "${SOURCE_PATH}/extra/libedit")
if (third_party)
file(REMOVE_RECURSE ${third_party})
endif()
#Skip the version check for Visual Studio
set(FORCE_UNSUPPORTED_COMPILER "")
if(VCPKG_TARGET_IS_WINDOWS)
set(FORCE_UNSUPPORTED_COMPILER 1)
endif()
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC_LIBS)
string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT_LINKAGE)
set(cross_options "")
if(VCPKG_CROSSCOMPILING)
list(APPEND cross_options
-DCMAKE_CROSSCOMPILING=1
-DVCPKG_HOST_TRIPLET=${HOST_TRIPLET}
# required, skip try_run
-DHAVE_RAPIDJSON_WITH_STD_REGEX=1
)
if(NOT VCPKG_TARGET_IS_WINDOWS)
list(APPEND cross_options
# optimistic, skip try_run
-DHAVE_CLOCK_GETTIME=1
-DHAVE_CLOCK_REALTIME=1
# pessimistic, skip try_run
-DHAVE_C_FLOATING_POINT_FUSED_MADD=1
-DHAVE_CXX_FLOATING_POINT_FUSED_MADD=1
-DHAVE_SETNS=0
)
endif()
endif()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${cross_options}
-DINSTALL_INCLUDEDIR=include/mysql
-DINSTALL_DOCDIR=share/${PORT}/doc
-DINSTALL_MANDIR=share/${PORT}/doc
-DINSTALL_INFODIR=share/${PORT}/doc
-DINSTALL_DOCREADMEDIR=share/${PORT}
-DINSTALL_SHAREDIR=share
-DINSTALL_MYSQLSHAREDIR=share/${PORT}
-DWITHOUT_SERVER=ON
-DWITH_BUILD_ID=OFF
-DWITH_UNIT_TESTS=OFF
-DENABLED_PROFILING=OFF
-DWIX_DIR=OFF
-DIGNORE_BOOST_VERSION=ON
-DWITH_TEST_TRACE_PLUGIN=OFF
-DMYSQL_MAINTAINER_MODE=OFF
-DBUNDLE_RUNTIME_LIBRARIES=OFF
-DDOWNLOAD_BOOST=OFF
-DWITH_AUTHENTICATION_KERBEROS=OFF
-DWITH_AUTHENTICATION_LDAP_DEFAULT=OFF
-DWITH_CURL=none
-DWITH_EDITLINE=bundled # not in vcpkg
-DWITH_LZ4=system
-DWITH_RAPIDJSON=system
-DWITH_SSL=system
-DWITH_SYSTEMD=OFF
-DWITH_ZLIB=system
-DWITH_ZSTD=system
-DFORCE_UNSUPPORTED_COMPILER=${FORCE_UNSUPPORTED_COMPILER}
-DINSTALL_STATIC_LIBRARIES=${BUILD_STATIC_LIBS}
-DLINK_STATIC_RUNTIME_LIBRARIES=${STATIC_CRT_LINKAGE}
MAYBE_UNUSED_VARIABLES
BUNDLE_RUNTIME_LIBRARIES # only on windows
LINK_STATIC_RUNTIME_LIBRARIES # only on windows
WIX_DIR # only on windows
WITH_BUILD_ID # only on windows
)
vcpkg_cmake_install(ADD_BIN_TO_PATH)
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libmysql)
vcpkg_fixup_pkgconfig()
set(MYSQL_TOOLS
my_print_defaults
mysql
mysql_config_editor
mysql_migrate_keyring
mysql_secure_installation
mysql_ssl_rsa_setup
mysqladmin
mysqlbinlog
mysqlcheck
mysqldump
mysqlimport
mysqlpump
mysqlshow
mysqlslap
mysqltest
perror
zlib_decompress
)
if (NOT VCPKG_CROSSCOMPILING)
list(APPEND MYSQL_TOOLS
comp_err
)
endif()
if (VCPKG_TARGET_IS_WINDOWS)
list(APPEND MYSQL_TOOLS
echo
)
else()
list(APPEND MYSQL_TOOLS
mysql_config
)
endif()
vcpkg_copy_tools(TOOL_NAMES ${MYSQL_TOOLS} AUTO_CLEAN)
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/share"
"${CURRENT_PACKAGES_DIR}/lib/debug"
)
if (NOT VCPKG_TARGET_IS_WINDOWS)
set(MYSQL_CONFIG_FILE "${CURRENT_PACKAGES_DIR}/tools/libmysql/mysql_config")
vcpkg_replace_string("${MYSQL_CONFIG_FILE}" "/bin/mysql_.*config" "/tools/libmysql/mysql_.*config")
vcpkg_replace_string("${MYSQL_CONFIG_FILE}" "'${CURRENT_PACKAGES_DIR}" "\"\$basedir\"\'")
endif()
file(INSTALL "${CURRENT_PORT_DIR}/libmysql-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
file(INSTALL "${CURRENT_PORT_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
set(libedit_copying "${SOURCE_PATH}/COPYING for libedit")
file(GLOB libedit_copying_infile "${SOURCE_PATH}/extra/libedit/libedit-*/COPYING")
file(COPY_FILE "${libedit_copying_infile}" "${libedit_copying}")
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE" "${libedit_copying}")
|