aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libmysql/cross-build.patch
blob: a91118b4f851e8662f69b8f0173694053eeb7db8 (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
156
157
158
159
160
161
162
diff --git a/cmake/os/Darwin.cmake b/cmake/os/Darwin.cmake
index 725b9bd..289bb3d 100644
--- a/cmake/os/Darwin.cmake
+++ b/cmake/os/Darwin.cmake
@@ -31,13 +31,9 @@ ENDIF()
 # We require at least XCode 10.0
 IF(NOT FORCE_UNSUPPORTED_COMPILER)
   IF(MY_COMPILER_IS_CLANG)
-    CHECK_C_SOURCE_RUNS("
-      int main()
-      {
-        return (__clang_major__ < 10);
-      }" HAVE_SUPPORTED_CLANG_VERSION)
-    IF(NOT HAVE_SUPPORTED_CLANG_VERSION)
-      MESSAGE(FATAL_ERROR "XCode 10.0 or newer is required!")
+    IF (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10)
+      MESSAGE(FATAL_ERROR
+        "XCode 10.0 or newer is required! Compiler version was ${CMAKE_CXX_COMPILER_VERSION}")
     ENDIF()
   ELSE()
     MESSAGE(FATAL_ERROR "Unsupported compiler!")
diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
index 8e22453..2b63413 100644
--- a/libmysql/CMakeLists.txt
+++ b/libmysql/CMakeLists.txt
@@ -259,6 +259,7 @@ ELSEIF(FREEBSD)
   MESSAGE(STATUS "BSD built in DNS SRV APIs")
 ELSE()
   FIND_LIBRARY(RESOLV_LIBRARY NAMES resolv)
+  FIND_LIBRARY(RESOLV_LIBRARY NAMES resolv PATHS ${CMAKE_C_IMPLICIT_LINK_DIRECTORIES} NO_DEFAULT_PATH)
   IF (RESOLV_LIBRARY)
     LIST(APPEND LIBS_TO_LINK ${RESOLV_LIBRARY})
     SET(HAVE_UNIX_DNS_SRV 1 PARENT_SCOPE)
@@ -413,6 +414,7 @@ MYSQL_ADD_EXECUTABLE(libmysql_api_test
   ${CMAKE_CURRENT_BINARY_DIR}/api_test.c
   LINK_LIBRARIES libmysql ${LIBRT}
   SKIP_INSTALL
+  EXCLUDE_FROM_ALL
   )
 # Clang/UBSAN needs this on some platforms.
 SET_TARGET_PROPERTIES(libmysql_api_test PROPERTIES LINKER_LANGUAGE CXX)
@@ -439,6 +441,6 @@ ADD_CUSTOM_COMMAND(
   COMMAND libmysql_api_test
   > ${CMAKE_CURRENT_BINARY_DIR}/libmysql_api_test.out
   )
-MY_ADD_CUSTOM_TARGET(run_libmysql_api_test ALL
+MY_ADD_CUSTOM_TARGET(run_libmysql_api_test
   DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/libmysql_api_test.out
   )
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
index 8e93387..d971acb 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -69,7 +69,6 @@ ADD_CUSTOM_COMMAND(
 
 # Add target for the above to be built
 MY_ADD_CUSTOM_TARGET(GenFixPrivs
-  ALL
   DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/mysql_fix_privilege_tables_sql.h
 )
 
diff --git a/scripts/sys_schema/CMakeLists.txt b/scripts/sys_schema/CMakeLists.txt
index aaba357..a0e5265 100644
--- a/scripts/sys_schema/CMakeLists.txt
+++ b/scripts/sys_schema/CMakeLists.txt
@@ -221,7 +221,6 @@ MY_ADD_CUSTOM_TARGET(sql_commands
   DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/sql_commands.h)
 
 MY_ADD_CUSTOM_TARGET(GenSysSchemaC
-  ALL
   DEPENDS comp_sql sql_commands
   COMMENT "Generating Sys Schema C code"
 )
diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt
index 28cde40..be916cb 100644
--- a/share/CMakeLists.txt
+++ b/share/CMakeLists.txt
@@ -47,8 +47,12 @@ SET(dirs
   ukrainian
   )
 
-FOREACH (dir ${dirs})
-  INSTALL(DIRECTORY ${CMAKE_BINARY_DIR}/${INSTALL_MYSQLSHAREDIR}/${dir}
+  set(src_dir ${CMAKE_BINARY_DIR}/share/libmysql)
+  if(CMAKE_CROSSCOMPILING)
+    set(src_dir ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql)
+  endif()
+  FOREACH (dir ${dirs})
+  INSTALL(DIRECTORY ${src_dir}/${dir}
     DESTINATION ${INSTALL_MYSQLSHAREDIR}
     COMPONENT Server
     )
diff --git a/strings/CMakeLists.txt b/strings/CMakeLists.txt
index 665b35d..88f0743 100644
--- a/strings/CMakeLists.txt
+++ b/strings/CMakeLists.txt
@@ -69,6 +69,13 @@ SET(ZH_HANS_SRC_FILE ${CMAKE_SOURCE_DIR}/strings/lang_data/zh_hans.txt)
 SET(ZH_HANS_DST_FILE ${CMAKE_BINARY_DIR}/strings/uca900_zh_tbls.cc)
 SET(JA_HANS_SRC_FILE ${CMAKE_SOURCE_DIR}/strings/lang_data/ja_hans.txt)
 SET(JA_HANS_DST_FILE ${CMAKE_BINARY_DIR}/strings/uca900_ja_tbls.cc)
+if(CMAKE_CROSSCOMPILING)
+  file(COPY
+    "${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/uca900_zh_tbls.cc"
+    "${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/uca900_ja_tbls.cc"
+    DESTINATION "${CMAKE_BINARY_DIR}/strings"
+  )
+else()
 ADD_CUSTOM_COMMAND(OUTPUT ${ZH_HANS_DST_FILE}
                           ${JA_HANS_DST_FILE}
                    COMMAND uca9dump zh
@@ -79,6 +86,8 @@ ADD_CUSTOM_COMMAND(OUTPUT ${ZH_HANS_DST_FILE}
                      --out_file=${JA_HANS_DST_FILE}
                    DEPENDS uca9dump ${ZH_HANS_SRC_FILE} ${JA_HANS_SRC_FILE}
                   )
+install(FILES "${ZH_HANS_DST_FILE}" "${JA_HANS_DST_FILE}" DESTINATION "share/libmysql/${PROJECT_VERSION}")
+endif()
 
 SET_SOURCE_FILES_PROPERTIES(
   ${JA_HANS_DST_FILE} ${ZH_HANS_DST_FILE}
diff --git a/utilities/CMakeLists.txt b/utilities/CMakeLists.txt
index da34524..dc397da 100644
--- a/utilities/CMakeLists.txt
+++ b/utilities/CMakeLists.txt
@@ -39,6 +39,21 @@ MYSQL_ADD_EXECUTABLE(comp_client_err
   SKIP_INSTALL
   )
 
+if(CMAKE_CROSSCOMPILING)
+  file(COPY
+    ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/include/mysql/mysqld_error.h
+    ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/mysqlclient_ername.h
+    ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/mysqld_ername.h
+    ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/mysqld_errmsg.h
+    DESTINATION ${PROJECT_BINARY_DIR}/include
+  )
+  file(COPY
+    ${VCPKG_INSTALLED_DIR}/${VCPKG_HOST_TRIPLET}/share/libmysql/${PROJECT_VERSION}/errmsg.sys
+    DESTINATION ${PROJECT_BINARY_DIR}/share/libmysql/english
+  )
+  add_custom_target(GenClientError)
+  add_custom_target(GenError)
+else()
 ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/include/mysqlclient_ername.h
   COMMAND comp_client_err
   --in_file=${PROJECT_SOURCE_DIR}/include/errmsg.h
@@ -97,6 +112,16 @@ MYSQL_ADD_EXECUTABLE(range_check_err
   SKIP_INSTALL
   )
 
+  install(
+    FILES
+      ${PROJECT_BINARY_DIR}/include/mysqlclient_ername.h
+      ${PROJECT_BINARY_DIR}/include/mysqld_ername.h
+      ${PROJECT_BINARY_DIR}/include/mysqld_errmsg.h
+      ${PROJECT_BINARY_DIR}/share/libmysql/english/errmsg.sys
+    DESTINATION share/libmysql/${PROJECT_VERSION}
+  )
+endif()
+
 # Set InnoDB mutex type
 ADD_DEFINITIONS(-DMUTEX_EVENT)