summaryrefslogtreecommitdiff
blob: 0630dfe0b10791a5c223c7567bea68ccb7774329 (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
diff -aurN a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt	2018-03-28 16:15:18.101318534 -0400
+++ b/CMakeLists.txt	2018-03-28 16:18:43.863239965 -0400
@@ -452,8 +452,6 @@
 MYSQL_CHECK_ZLIB_WITH_COMPRESS()
 # Add bundled yassl/taocrypt or system openssl.
 MYSQL_CHECK_SSL()
-# Add system/bundled editline.
-MYSQL_CHECK_EDITLINE()
 # Add libevent
 MYSQL_CHECK_LIBEVENT()
 
@@ -490,7 +488,9 @@
   ADD_SUBDIRECTORY(storage/ndb)
 ENDIF()
 
-ADD_SUBDIRECTORY(include)
+IF(NOT WITHOUT_CLIENTLIBS)
+  ADD_SUBDIRECTORY(include)
+ENDIF(NOT WITHOUT_CLIENTLIBS)
 ADD_SUBDIRECTORY(dbug)
 ADD_SUBDIRECTORY(strings)
 ADD_SUBDIRECTORY(vio)
@@ -515,7 +515,6 @@
 ENDIF()
 
 ADD_SUBDIRECTORY(extra)
-ADD_SUBDIRECTORY(client)
 ADD_SUBDIRECTORY(sql/share)
 ADD_SUBDIRECTORY(libservices)
 
@@ -523,6 +522,13 @@
   ADD_SUBDIRECTORY(man)
 ENDIF()
 
+IF(NOT WITHOUT_TOOLS)
+  # Add system/bundled editline
+  MYSQL_CHECK_EDITLINE()
+  ADD_SUBDIRECTORY(client)
+ENDIF(NOT WITHOUT_TOOLS)
+
+
 IF(NOT WITHOUT_SERVER)
   ADD_SUBDIRECTORY(tests)
   ADD_SUBDIRECTORY(sql)
diff -aurN a/extra/CMakeLists.txt b/extra/CMakeLists.txt
--- a/extra/CMakeLists.txt	2018-03-28 16:15:17.764325211 -0400
+++ b/extra/CMakeLists.txt	2018-03-28 16:20:44.569845200 -0400
@@ -60,11 +60,16 @@
 ENDIF()
 
 
+IF(NOT WITHOUT_CLIENTLIBS)
 MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.c)
+MYSQL_ADD_EXECUTABLE(perror perror.c)
+ELSE(NOT WITHOUT_CLIENTLIBS)
+ADD_EXECUTABLE(my_print_defaults my_print_defaults.c)
+ADD_EXECUTABLE(perror perror.c)
+ENDIF(NOT WITHOUT_CLIENTLIBS)
 TARGET_LINK_LIBRARIES(my_print_defaults  mysys mysys_ssl)
 SET_TARGET_PROPERTIES(my_print_defaults PROPERTIES LINKER_LANGUAGE CXX)
 
-MYSQL_ADD_EXECUTABLE(perror perror.c)
 ADD_DEPENDENCIES(perror GenError)
 TARGET_LINK_LIBRARIES(perror mysys mysys_ssl)
 SET_TARGET_PROPERTIES(perror PROPERTIES LINKER_LANGUAGE CXX)
diff -aurN a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
--- a/libmysql/CMakeLists.txt	2018-03-28 16:15:18.014320257 -0400
+++ b/libmysql/CMakeLists.txt	2018-03-28 16:31:25.938114668 -0400
@@ -181,8 +181,13 @@
   LIST(APPEND LIBS auth_win_client)
 ENDIF()
 
+SET(INSTALL_STATIC_LIBS "")
+IF(NOT ENABLE_STATIC_LIBS)
+  SET(INSTALL_STATIC_LIBS "NOINSTALL")
+ENDIF()
+
 # Merge several convenience libraries into one big perconaserverclient
-MERGE_LIBRARIES(perconaserverclient STATIC ${LIBS} COMPONENT Development)
+MERGE_LIBRARIES(perconaserverclient STATIC ${LIBS} COMPONENT Development ${INSTALL_STATIC_LIBS})
 
 # Visual Studio users need debug  static library for debug projects
 IF(MSVC)
@@ -210,14 +215,14 @@
   ENDMACRO()
 ENDIF()
 
-IF(UNIX)
+IF(UNIX AND ENABLE_STATIC_LIBS AND NOT WITHOUT_CLIENTLIBS)
   GET_TARGET_NAME(perconaserverclient lib_name)
   INSTALL_SYMLINK(perconaserverclient
     ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}perconaserverclient_r.a
     ${INSTALL_LIBDIR} Development)
 ENDIF()
 
-IF(NOT DISABLE_SHARED)
+IF(NOT DISABLE_SHARED AND NOT WITHOUT_CLIENTLIBS)
   # Merge several convenience libraries into one big perconaserverclient
   # and link them together into shared library.
   MERGE_LIBRARIES(libmysql SHARED ${LIBS}
diff -aurN a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
--- a/scripts/CMakeLists.txt	2018-03-28 16:15:17.706326360 -0400
+++ b/scripts/CMakeLists.txt	2018-03-28 16:29:23.168556104 -0400
@@ -358,7 +358,6 @@
   SET(mysql_config_COMPONENT COMPONENT Development)
   SET(BIN_SCRIPTS
     msql2mysql
-    mysql_config
     mysql_fix_extensions
     mysql_setpermission
     mysql_zap
@@ -372,6 +371,12 @@
     mysqld_safe
     ps_tokudb_admin
   )
+  IF(NOT WITHOUT_CLIENTLIBS)
+    SET(BIN_SCRIPTS
+      ${BIN_SCRIPTS}
+      mysql_config
+    )
+  ENDIF(NOT WITHOUT_CLIENTLIBS)
   FOREACH(file ${BIN_SCRIPTS})
     IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh)
       CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh