diff -aurN a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt 2017-05-14 19:13:15.000000000 -0400 +++ b/CMakeLists.txt 2017-06-28 13:14:25.686006673 -0400 @@ -325,8 +325,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") @@ -363,28 +361,41 @@ SET (MYSQLD_STATIC_PLUGIN_LIBS "" CACHE INTERNAL "") +IF(NOT WITHOUT_CLIENTLIBS) # mariadb_connector_c fetches submodules which is useful for plugins INCLUDE(mariadb_connector_c) # this does ADD_SUBDIRECTORY(libmariadb) +ENDIF() # Add storage engines and plugins. CONFIGURE_PLUGINS() -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(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(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 2017-05-14 19:13:15.000000000 -0400 +++ b/extra/CMakeLists.txt 2017-06-28 12:54:14.972089739 -0400 @@ -46,12 +46,14 @@ DEPENDS ${CMAKE_BINARY_DIR}/include/mysqld_error.h.tmp) -MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.c) -TARGET_LINK_LIBRARIES(my_print_defaults mysys) +IF(NOT WITHOUT_CLIENTLIBS) + MYSQL_ADD_EXECUTABLE(my_print_defaults my_print_defaults.c) + TARGET_LINK_LIBRARIES(my_print_defaults mysys) -MYSQL_ADD_EXECUTABLE(perror perror.c) -ADD_DEPENDENCIES(perror GenError) -TARGET_LINK_LIBRARIES(perror mysys) + MYSQL_ADD_EXECUTABLE(perror perror.c) + ADD_DEPENDENCIES(perror GenError) + TARGET_LINK_LIBRARIES(perror mysys) +ENDIF(NOT WITHOUT_CLIENTLIBS) IF(UNIX) MYSQL_ADD_EXECUTABLE(resolveip resolveip.c) diff -aurN a/libmariadb/libmariadb/CMakeLists.txt b/libmariadb/libmariadb/CMakeLists.txt --- a/libmariadb/libmariadb/CMakeLists.txt 2017-05-14 19:13:15.000000000 -0400 +++ b/libmariadb/libmariadb/CMakeLists.txt 2017-06-28 13:08:17.185731795 -0400 @@ -380,8 +380,10 @@ "FILE_DESCRIPTION:Dynamic lib for client/server communication") ENDIF() -ADD_LIBRARY(mariadbclient STATIC ${MARIADB_OBJECTS} ${EMPTY_FILE}) -TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS}) +IF(ENABLE_STATIC_LIBS OR NOT WITHOUT_TOOLS) + ADD_LIBRARY(mariadbclient STATIC ${MARIADB_OBJECTS} ${EMPTY_FILE}) + TARGET_LINK_LIBRARIES(mariadbclient ${SYSTEM_LIBS}) +ENDIF(ENABLE_STATIC_LIBS OR NOT WITHOUT_TOOLS) IF(UNIX) ADD_LIBRARY(libmariadb SHARED ${libmariadb_RC} ${MARIADB_OBJECTS} ${EMPTY_FILE} mariadbclient.def) @@ -379,7 +381,9 @@ TARGET_LINK_LIBRARIES (libmariadb "-Wl,--version-script=${CC_BINARY_DIR}/libmariadb/mariadbclient.def") ENDIF() +IF(ENABLE_STATIC_LIBS OR NOT WITHOUT_TOOLS) SET_TARGET_PROPERTIES(mariadbclient PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}") +ENDIF(ENABLE_STATIC_LIBS OR NOT WITHOUT_TOOLS) SET_TARGET_PROPERTIES(libmariadb PROPERTIES IMPORTED_INTERFACE_LINK_LIBRARIES "${SYSTEM_LIBS}") SET_TARGET_PROPERTIES(libmariadb PROPERTIES PREFIX "") @@ -398,9 +402,11 @@ ${CPACK_PACKAGE_VERSION_MAJOR} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR}) +IF(ENABLE_STATIC_LIBS) INSTALL(TARGETS mariadbclient COMPONENT Development DESTINATION ${INSTALL_LIBDIR}) +ENDIF(ENABLE_STATIC_LIBS) INSTALL(TARGETS libmariadb COMPONENT SharedLibraries DESTINATION ${INSTALL_LIBDIR}) diff -aurN a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt --- a/scripts/CMakeLists.txt 2017-05-14 19:13:18.000000000 -0400 +++ b/scripts/CMakeLists.txt 2017-06-28 12:56:23.774081970 -0400 @@ -276,7 +276,6 @@ # On Unix, most of the files end up in the bin directory SET(BIN_SCRIPTS msql2mysql - mysql_config mysql_setpermission mysql_secure_installation mysqlaccess @@ -288,6 +287,12 @@ ${WSREP_SCRIPTS} ${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/libmariadb/libmariadb/CMakeLists.txt b/libmariadb/libmariadb/CMakeLists.txt --- a/libmariadb/libmariadb/CMakeLists.txt 2017-07-26 20:26:17.094481997 -0400 +++ b/libmariadb/libmariadb/CMakeLists.txt 2017-07-26 20:31:47.042608316 -0400 @@ -427,9 +427,11 @@ IF(WITH_MYSQLCOMPAT) create_symlink(libmysqlclient${CMAKE_SHARED_LIBRARY_SUFFIX} libmariadb ${INSTALL_LIBDIR}) - create_symlink(libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX} libmariadb ${INSTALL_LIBDIR}) - create_symlink(libmysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_LIBDIR}) - create_symlink(libmysqlclient_r${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_LIBDIR}) +# create_symlink(libmysqlclient_r${CMAKE_SHARED_LIBRARY_SUFFIX} libmariadb ${INSTALL_LIBDIR}) + IF(ENABLE_STATIC_LIBS) + create_symlink(libmysqlclient${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_LIBDIR}) +# create_symlink(libmysqlclient_r${CMAKE_STATIC_LIBRARY_SUFFIX} mariadbclient ${INSTALL_LIBDIR}) + ENDIF(ENABLE_STATIC_LIBS) ENDIF()