Commit graph

120 commits

Author SHA1 Message Date
Vladislav Vaintroub
e1384dc718 Fix WITH_DEBUG problems in CMake build, so people who use configure wrappers do not
suffer. The problem was that when custom C flags were defined with in environment 
variable CFLAGS, WITH_DEBUG did not have any effect. Also, switch from 
WITH_DEBUG=ON to WITH_DEBUG=OFF   was not handled correctly .Expected is switch 
to with RelwithDebInfo or when custom compiler flags  are defined, to None.
2010-03-02 01:53:15 +01:00
Jonathan Perkin
26e77e0027 Some CMake packaging fixes:
- Remove INSTALL-BINARY from installed docs directory, we provide a copy
   in the root directory (but perhaps this should be revisited later).

 - Disable audit_null and daemon_example plugins.

 - Fix the docs directory.

 - Remove mysql-test/Makefile.in

 - Build and install mysql_tzinfo_to_sql

 - Remove share/charsets/languages.html
2010-02-24 19:19:24 +00:00
Jonathan Perkin
b0a89a2ee5 Support non-GPL builds. 2010-02-23 09:53:48 +00:00
Vladislav Vaintroub
541cf19c5c When installing, exclude some documents in Docs 2010-02-19 17:51:53 +01:00
vvaintroub
051f769dc5 Move WITH_UNITTESTS option up - otherwise it skips plugin unittests 2010-01-28 14:33:44 +01:00
Vladislav Vaintroub
19a2c052a5 WL#5161: Implement Mats' suggestion of moving OS specific CMake code to OS specific files, instead of
polluting code with IF(CMAKE_SYSTEM_NAME MATCHES...), first on Windows.
2010-01-26 13:47:34 +01:00
Vladislav Vaintroub
03fcdd0194 Following autotools tradition, add preprocessor definitions specified in environment variable CPPFLAGS 2010-01-24 21:03:21 +01:00
Vladislav Vaintroub
c827968a2d Handle different installation layouts.
using  cmake option INSTALL_LAYOUT=STANDALONE would produce the layout as in 
tar.gz or zip packages.
INSTALL_LAYOUT=UNIX will produce unixish install layout  (with mysqld being in sbin subdirectory , libs in lib/mysql etc). This layout is used for RPM packages.

Subtle differences in both packages unfortunately lead to the need to recompile MySQL to use with other package type - as otherwise for example default plugins or data directories would be wrong set.

There are numerous other variables that  allow fine-tuning packaging layout. (INSTALL_BINDIR, INSTALL_LIBDIR , INSTALL_PLUGINDIR etc).

This options are different from autotools as they do not expect full paths to directories, but only subdirectory of CMAKE_INSTALL_PREFIX.

There are 2 special options that expect full directory paths
- MYSQL_DATADIR that defines default MYSQL data directory (autotools equivalent
is --localstatedir)
- SYSCONFDIR  can be added to search my.cnf search path (autotools equivalent is --sysconfdir)
2010-01-24 16:23:16 +01:00
Vladislav Vaintroub
50d844d24a restore lost -g when WITH_DEBUG was specified 2010-01-21 12:37:22 +00:00
Vladislav Vaintroub
df2d0359d8 - another take on BUILD_CONFIG variable - use OPTION instead of SET for
boolean variables to ensure option is in cache. Also use documented CMAKE_USE_MAKE_RULES_OVERRIDE feature instead of INCLUDE.

- remove superfluous tests in innobase's CMakeLists.txt
2010-01-20 00:52:21 +01:00
Vladislav Vaintroub
7d1d78e574 Fix end-of-line characters in mysql_release.cmake to be unix-conform
make -DBUILD_CONFIG=mysql_release work
2010-01-19 02:21:48 +00:00
Vladislav Vaintroub
7e7965aeb4 Add WITH_FAST_MUTEXES option (non-debug configurations only) 2010-01-13 13:33:32 +01:00
Vladislav Vaintroub
125cd58f2b Add option for specifying MYSQL build configurations.
Add mysql_release.cmake intended for use by the build team (
compile options, build settings to do MySQL releases)
2010-01-11 14:42:07 +01:00
Vladislav Vaintroub
36549c4fa2 Install docs 2010-01-09 01:16:07 +01:00
Vladislav Vaintroub
54c5a4beef Simplify embedding version info into executables with ADD_VERSION_INFO 2009-12-18 23:53:30 +01:00
Vladislav Vaintroub
555d46ea7f Replace ADD_EXECUTABLE with MYSQL_ADD_EXECUTABLE for binaries that are installed.
MYSQL_ADD_EXECUTABLE  will instructs CPack where to install the exe. On Windows, it also 
adds version resource and   if -DSIGNCODE  was given, will sign the exe in packaging step.
2009-12-17 14:41:50 +01:00
Vladislav Vaintroub
baf588a26f remove inadverent change 2009-12-10 15:01:39 +01:00
Vladislav Vaintroub
ddfdb1b1d1 fix install_symlink on unixes other than osx 2009-12-10 03:48:21 +01:00
Vladislav Vaintroub
9b31158e3c simplify some tests, silence warning in script install 2009-12-07 22:01:03 +01:00
Vladislav Vaintroub
5dfa313eb7 - Introduce MYSQL_ADD_PLUGIN that replaces MYSQL_STORAGE_ENGINE
- Fix semisync library prefix (remove lib on Unixes)
- restrict exported symbols from zlib and yassl (fvisibility=hidden)
2009-12-01 12:00:50 +01:00
Vladislav Vaintroub
ff57321f8c - move ADD_SUBDIRECTORY(extra) outside of WITHOUT_SERVER
- add INSTALL to shared client library
2009-11-25 07:28:45 +01:00
Vladislav Vaintroub
2f3e777797 add --disable-shared equivalent
fix mtr (empty argument passed to mysqld)
2009-11-25 05:13:51 +01:00
Vladislav Vaintroub
afe4ee1e17 implement convenience libraries 2009-11-24 23:15:47 +00:00
Vladislav Vaintroub
9edb94c69e fix make install/ mysqld_safe 2009-11-14 14:29:14 +01:00
Vladislav Vaintroub
13cd7170cc WL#5161 : Cross-platform build with CMake 2009-11-09 12:32:48 +01:00
Sergei Golubchik
d101d144df WL#4903 Plugin Service API part I
(mysql-next-mr backport)
2009-11-02 21:05:42 +01:00
Luis Soares
78172f9e21 automerge: mysql-5.1-rep+2-delivery1 --> mysql-5.1-rpl-merge. 2009-10-25 22:58:52 +00:00
He Zhenxing
b6529a140b Add semi-sync support for Windows 2009-10-23 12:56:30 +08:00
Alexander Nozdrin
3fd2f50b6c Merge from mysql-trunk-merge. 2009-10-19 17:36:19 +04:00
Alexander Nozdrin
f3457a73d6 Merge from mysql-5.1. 2009-10-19 17:17:08 +04:00
Alexander Nozdrin
ca08f10ccd Manual merge from mysql-trunk-merge. 2009-10-14 12:25:39 +04:00
Alexander Nozdrin
0f51423532 Merge from mysql-5.1. 2009-10-13 13:42:38 +04:00
Magnus Blåudd
b92892dc9c Bug #47795 CMake, storage engine name different from directory name
- Read plug.in to fid the name of the engine to link with, does not have
   to be same as engine dir
 - Use engine dir when figuring out which libraries to build limbysqld with
2009-10-08 15:19:24 +02:00
Vladislav Vaintroub
6e6b84fd02 backport of
Revision: 
2597.72.1 revid:sp1r-Reggie@core.-20080403153947-15243
removed instances of __NT__ from code. We now only build "NT" binaries
2009-09-30 22:10:22 +02:00
Vladislav Vaintroub
2801599323 Backport http://lists.mysql.com/commits/57778
2677 Vladislav Vaintroub	2008-11-04
CMakeLists.txt files cleanup
- remove SAFEMALLOC and SAFE_MUTEX definitions that were 
present in *each* CMakeLists.txt. Instead, put them into top level 
CMakeLists.txt, but disable on Windows, because
a) SAFEMALLOC does not add any functionality that is not already
present in Debug C runtime ( and 2 safe malloc one on top of the other 
only unnecessarily slows down the server) 
      
b)SAFE_MUTEX does not work on Windows  and have been
explicitely  disabled on Windows with #undef previously.  Fortunately,
ntdll does  pretty good  job identifying l problems with 
CRITICAL_SECTIONs.
DebugBreak()s on using uninited critical section, unlocking unowned 
critical section)
      
-Also, remove occationally used -D_DEBUG (added by compiler 
anyway)
2009-09-30 15:35:01 +02:00
Ingo Struewing
21586dfb08 WL#4259 - Debug Sync Facility
Backport from 6.0 to 5.1.
Only those sync points are included, which are used in debug_sync.test.

  The Debug Sync Facility allows to place synchronization points
  in the code:
  
  open_tables(...)
  
  DEBUG_SYNC(thd, "after_open_tables");
  
  lock_tables(...)
  
  When activated, a sync point can
  
  - Send a signal and/or
  - Wait for a signal
  
  Nomenclature:
  
  - signal:            A value of a global variable that persists
                       until overwritten by a new signal. The global
                       variable can also be seen as a "signal post"
                       or "flag mast". Then the signal is what is
                       attached to the "signal post" or "flag mast".
  
  - send a signal:     Assign the value (the signal) to the global
                       variable ("set a flag") and broadcast a
                       global condition to wake those waiting for
                       a signal.
  
  - wait for a signal: Loop over waiting for the global condition until
                       the global value matches the wait-for signal.
  
  Please find more information in the top comment in debug_sync.cc
  or in the worklog entry.
2009-09-29 17:38:40 +02:00
Alexander Nozdrin
eeec93f305 Merge from mysql-5.1. 2009-09-19 13:07:51 +04:00
Jonathan Perkin
17476e2797 Build fixes for Windows, AIX, HP/UX and Sun Studio11, from Timothy Smith. 2009-08-14 17:18:52 +02:00
Guilhem Bichot
8d1fdf09bb merge of 5.1-main into mysql-trunk.
Changes to ha_innodb.cc are not propagated to plugin, they will come back
via Oracle/Innobase if needed.
2009-08-12 15:44:34 +02:00
Guilhem Bichot
648f4cdf54 importing Vlad's fix which should eliminate many Windows test failures.
Putting back Summit defaults (removing them didn't seem to have a good effect on pushbuild2).
2009-08-11 18:35:22 +02:00
Vladislav Vaintroub
cea2f8b630 merge fix to define __NT__ on Windows 2009-08-11 17:47:33 +02:00
Vladislav Vaintroub
fcc5126777 Always compile with __NT__ on windows. in 5.1 itthis #define is
widely used, in replication (delete_allow_opened) and for named
pipe support. We do not support Win9x anymore.
2009-08-11 17:44:13 +02:00
Sergey Vojtovich
7a77e3d05a Merge mysql-5.1-innodb_plugin to mysql-5.1. 2009-08-11 18:05:25 +05:00
Guilhem Bichot
c5ab943afe Creation of mysql-trunk = {summit + "Innodb plugin replacing the builtin"}:
bzr branch mysql-5.1-performance-version mysql-trunk # Summit
cd mysql-trunk
bzr merge mysql-5.1-innodb_plugin # which is 5.1 + Innodb plugin 
bzr rm innobase # remove the builtin
Next step: build, test fixes.
2009-08-04 13:25:19 +02:00
Ignacio Galarza
8ef28b4962 Auto-merge 2009-07-31 15:28:15 -04:00
Ignacio Galarza
6df2af22ce Bug#17270 - mysql client tool could not find ../share/charsets folder and fails.
- Define and pass compile time path variables as pre-processor definitions to 
  mimic the makefile build.
- Set new CMake version and policy requirements explicitly.
- Changed DATADIR to MYSQL_DATADIR to avoid conflicting definition in 
  Platform SDK header ObjIdl.h which also defines DATADIR.
2009-07-31 15:22:02 -04:00
Georgi Kodinov
683b866575 automerge 2009-07-16 10:31:00 +03:00
Georgi Kodinov
8acf778eae Bug #45287: phase 1 : 32 bit compilation warnings
Fixed the following problems:
1. cmake 2.6 warning because of a changed default on
how the dependencies to libraries with a specified 
path are resolved.
Fixed by requiring cmake 2.6.
2. Removed an obsolete pre-NT4 hack including defining
Windows system defines to alter the behavior of windows.h.
3. Disabled warning C4065 on compiling sql_yacc.cc because
of a know incompatibility in some of the newer bison binaries.
2009-07-15 16:46:25 +03:00
Mikael Ronstrom
506c7fd47d Merge MySQL 5.1.35 into MySQL 5.4 2009-06-11 12:07:59 +02:00
Vladislav Vaintroub
31b79618e3 Backport WL#3653 to 5.1 to enable bundled innodb plugin.
Remove custom DLL loader code from innodb plugin code, use 
symbols exported from mysqld.
2009-06-10 10:59:49 +02:00