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