summaryrefslogtreecommitdiff
blob: 3487b701afe55ca344121a6741eaa47b9e7b0a95 (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
diff -aurN a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt	2015-06-17 10:54:11.000000000 -0400
+++ b/CMakeLists.txt	2015-06-24 10:34:17.314169100 -0400
@@ -354,8 +354,6 @@
 MYSQL_CHECK_ZLIB_WITH_COMPRESS()
 # Add bundled yassl/taocrypt or system openssl.
 MYSQL_CHECK_SSL()
-# Add readline or libedit.
-MYSQL_CHECK_READLINE()
 
 SET(MALLOC_LIBRARY "system")
 CHECK_JEMALLOC()
@@ -394,22 +392,33 @@
  CONFIGURE_PLUGINS()
 ENDIF()
 
-ADD_SUBDIRECTORY(include)
+IF(NOT WITHOUT_CLIENTLIBS)
+  ADD_SUBDIRECTORY(include)
+ENDIF(NOT WITHOUT_CLIENTLIBS)
+
 ADD_SUBDIRECTORY(dbug)
 ADD_SUBDIRECTORY(strings)
 ADD_SUBDIRECTORY(vio)
 ADD_SUBDIRECTORY(mysys)
 ADD_SUBDIRECTORY(mysys_ssl)
 ADD_SUBDIRECTORY(libmysql)
-ADD_SUBDIRECTORY(client)
 ADD_SUBDIRECTORY(extra)
 ADD_SUBDIRECTORY(libservices)
 ADD_SUBDIRECTORY(sql/share)
 
+IF(NOT WITHOUT_TOOLS)
+  # Add readline or libedit.
+  MYSQL_CHECK_READLINE()
+  ADD_SUBDIRECTORY(client)
+ENDIF(NOT WITHOUT_TOOLS)
+
 IF(NOT WITHOUT_SERVER)
   ADD_SUBDIRECTORY(tests)
   ADD_SUBDIRECTORY(sql)
   OPTION (WITH_EMBEDDED_SERVER "Compile MySQL with embedded server" OFF)
-  IF(WITH_EMBEDDED_SERVER) 
+  IF(WITH_EMBEDDED_SERVER)
+   IF(WITHOUT_TOOLS)
+      MYSQL_CHECK_READLINE()
+   ENDIF(WITHOUT_TOOLS)
    ADD_SUBDIRECTORY(libmysqld)
    ADD_SUBDIRECTORY(libmysqld/examples)
   ENDIF(WITH_EMBEDDED_SERVER)
diff -aurN a/extra/CMakeLists.txt b/extra/CMakeLists.txt
--- a/extra/CMakeLists.txt	2015-06-17 10:54:11.000000000 -0400
+++ b/extra/CMakeLists.txt	2015-06-24 10:37:31.879169100 -0400
@@ -54,10 +54,15 @@
                   DEPENDS 
                   ${CMAKE_BINARY_DIR}/include/mysqld_error.h.tmp)
 
+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)
 
-MYSQL_ADD_EXECUTABLE(perror perror.c)
 ADD_DEPENDENCIES(perror GenError)
 TARGET_LINK_LIBRARIES(perror mysys)

diff -aurN a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
--- a/scripts/CMakeLists.txt	2015-06-24 10:28:12.800169100 -0400
+++ b/scripts/CMakeLists.txt	2015-06-24 10:42:49.682169100 -0400
@@ -327,6 +327,5 @@
   # On Unix, most of the files end up in the bin directory
   SET(BIN_SCRIPTS
     msql2mysql
-    mysql_config
     mysql_setpermission
     mysql_secure_installation
@@ -341,6 +340,12 @@
     ${WSREP_BINARIES}
     ${SYSTEMD_SCRIPTS}
   )
+  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
diff -aurN a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
--- a/libmysql/CMakeLists.txt	2015-06-24 12:32:11.606169100 -0400
+++ b/libmysql/CMakeLists.txt	2015-06-24 13:44:53.857169100 -0400
@@ -440,12 +440,12 @@
       SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
     ENDIF() 
   ENDMACRO()
-  IF(ENABLE_STATIC_LIBS)
+  IF(ENABLE_STATIC_LIBS AND NOT WITHOUT_CLIENTLIBS)
     INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR} Development)
   ENDIF()
 ENDIF()
 
-IF(NOT DISABLE_SHARED)
+IF(NOT DISABLE_SHARED AND NOT WITHOUT_CLIENTLIBS)
   MERGE_LIBRARIES(libmysql SHARED ${LIBS}
     EXPORTS ${CLIENT_API_FUNCTIONS} ${CLIENT_API_5_1_EXTRA} ${CLIENT_API_5_5_EXTRA}
     COMPONENT SharedLibraries)