Bug #66000 problem building client only
Submitted: 24 Jul 2012 17:07 Modified: 10 Jun 2013 17:28
Reporter: Lynn Garren Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Compiling Severity:S3 (Non-critical)
Version:5.5.25a, 5.5.28, 5.7.0 OS:Linux
Assigned to: CPU Architecture:Any
Tags: Contribution

[24 Jul 2012 17:07] Lynn Garren
Description:
I am attempting to build just the mysql client, using this cmake command line:
cmake -DWITHOUT_SERVER:BOOL=ON (path to source)

This build proceeds nicely until it fails with the following error:
Can't create output directory for .../build/sql/share/ukrainian

Upon investigation, the top level CMakeLists.txt contains this code:

ADD_SUBDIRECTORY(extra)
IF(NOT WITHOUT_SERVER)
  ADD_SUBDIRECTORY(tests)
  ADD_SUBDIRECTORY(client)
  ADD_SUBDIRECTORY(sql)
  ADD_SUBDIRECTORY(sql/share)
...
ENDIF()

However, extra/CMakeLists.txt contains code which creates files in ${PROJECT_BINARY_DIR}/sql/share/

This is a clear conflict. 

How to repeat:
cmake -DWITHOUT_SERVER:BOOL=ON (path to source)
[24 Jul 2012 17:31] Sveta Smirnova
Thank you for the report.

Verified as described.
[24 Jul 2012 17:31] Sveta Smirnova
Problem is only repeatable if build outside of source dir.
[24 Jul 2012 19:27] Lynn Garren
OK, but one of the hallmarks of cmake is that you are supposed to be able to do an out of source build.   In fact, we have been doing out of source builds whenever possible for years.  So many advantages.
[6 Aug 2012 19:26] Brian Evans
Patch to allow client to be built when server build is disabled

Attachment: fix-client-only-build-cmake.patch (application/octet-stream, text), 386 bytes.

[6 Aug 2012 20:15] Lynn Garren
The patch works well.  Thank you!
[5 Jun 2013 13:56] Jon Olav Hauglid
Marked Bug#69401 as a duplicate of this bug.
[10 Jun 2013 17:28] Paul DuBois
Noted in 5.7.2 changelog.

Configuring with cmake -DWITHOUT_SERVER to build clients without the
server failed for builds outside of the source tree.
[13 Sep 2013 3:19] jiang xiaobing
why do not push the patch to the mysql5.5 and mysql5.6?
[10 Jul 2014 14:35] Paul DuBois
Noted in 5.6.20 changelog.