Commit graph

208 commits

Author SHA1 Message Date
Vladislav Vaintroub
7ce02039af WL#5161, implement Mats' suggeston to move platform specifics into own files
under cmake/os. This patch does it for Linux
2010-01-26 15:56:50 +01:00
Vladislav Vaintroub
a8c47397fc 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.

cmake/libutils.cmake:
  Fix the case in MERGE_LIBRARIES, where  there is no dependency on OS libraries.
cmake/os/Windows.cmake:
  Move windows specific code to cmake/os/Windows.cmake
configure.cmake:
  Move some Windows code to cmake/os/Windows.cmake
2010-01-26 13:47:34 +01:00
Vladislav Vaintroub
9129685e51 merge, add plugin/audit_null/CMakeLists.txt 2010-01-26 05:39:48 +01:00
Vladislav Vaintroub
32f0a54628 In standalone package, default data subdirectory is "data", not "var" 2010-01-25 13:12:29 +01:00
Vladislav Vaintroub
135c25d165 Fix smaller stuff: disable transitive linking for MERGE_LIBRARIES results,
compile embedded with PIC to allow linking with shared libraries
2010-01-25 02:52:32 +01:00
Vladislav Vaintroub
c514d75ebb 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
6e84defdd4 Add -lmtmalloc to server linker flags on Solaris 10
and later
2010-01-20 17:21:38 +00:00
Vladislav Vaintroub
bc61d6e840 Add Solaris sparc Sun Studio flags 2010-01-20 00:28:47 +01:00
Vladislav Vaintroub
a71e4cf18e - 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
5d61e31d4d 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
6b596534c0 Add compiler flags used by the buildteam to do release 2010-01-19 01:47:51 +01:00
Vladislav Vaintroub
0bdd08d996 Fix output name of embedded library,
honor OUTPUT_NAME in MERGE_LIBRARIES macro
2010-01-15 19:07:45 +01:00
Kent Boortz
2ed249e9e0 Added support for product names in package names 2010-01-15 15:11:59 +01:00
Vladislav Vaintroub
8807608561 use _GNU_SOURCE on Linux to have all useful definitions (pthread_rwlock_t) for example 2010-01-13 16:52:14 +01:00
Vladislav Vaintroub
4c872d51f6 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
4fbd5ccd71 Address Kents comments: copy docs, remove autom4te.cache subdirectory if exists. 2010-01-09 00:38:19 +01:00
vladislav vaintroub
0f0e56b03a CMake 2.6.2 fix 2010-01-08 11:06:42 +01:00
Vladislav Vaintroub
31548075cf Fix error with cmake 2.6 2010-01-08 10:33:28 +01:00
Vladislav Vaintroub
cd1501a169 some refactoring around readline/libedit
(handle dependent options, allow user with change WITH_READLINE to
WITH_LIBEDIT and other way around after the first compile)
2010-01-08 07:20:43 +01:00
Vladislav Vaintroub
0fe9b8b35e Fix version string parsing 2010-01-07 02:58:55 +01:00
Vladislav Vaintroub
400f9587c5 Do not use fvisibility flag if GCC does not support it
(i.e if gcc version < 4)
2010-01-06 12:31:35 +00:00
Vladislav Vaintroub
541edcc2e4 merge 2009-12-25 16:49:21 +01:00
Vladislav Vaintroub
0940d7d204 merge 2009-12-25 03:24:00 +01:00
Vladislav Vaintroub
f2d4808fbb enable Cygwin build again 2009-12-25 03:22:23 +01:00
Vladislav Vaintroub
b3debb1de8 use systemtap on linux if installed, for dtrace functionality 2009-12-24 07:21:05 +01:00
Vladislav Vaintroub
728c437a85 Fix build with LDFLAGS=--Wl,--as-needed on Linux 2009-12-19 22:15:10 +01:00
Vladislav Vaintroub
27c0d595e9 Simplify embedding version info into executables with ADD_VERSION_INFO 2009-12-18 23:53:30 +01:00
Vladislav Vaintroub
c7d19daba5 add missing file to EXTRA_DIST 2009-12-18 01:32:01 +01:00
Vladislav Vaintroub
e348453395 add new file 2009-12-18 00:43:35 +01:00
Vladislav Vaintroub
eb3c44030b 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
07bfd2617d merge 2009-12-16 15:34:11 +01:00
Vladislav Vaintroub
04d1596d64 fix windows errors with version resource 2009-12-16 13:25:41 +01:00
Vladislav Vaintroub
28a7bb8b8c attempt to fix error in rc call 2009-12-16 03:51:07 +01:00
Vladislav Vaintroub
37b1efb947 Add version resource to windows executables 2009-12-16 02:51:13 +01:00
Vladislav Vaintroub
ef65dae9b1 Dtrace on Solaris:
fix excessive relinking that results from rerunning
dtrace -G second time on the objects that come into 
static library. 
The reason for relinking is that dtrace -G changes 
timestamp for the object file, which in turn results
in re-archiving the mysys on next time make runs, 
which causes relinking of the whole mysql, because
everything depends on mysys.

The fix is to copy objects into temp before running 
dtrace -G in mysqld pre-build step. This way dtrace 
does not affect the object timestamp.
2009-12-13 05:42:26 +00:00
Vladislav Vaintroub
3c3dc0f524 Mark signing parameters as advanced 2009-12-13 00:17:42 +01:00
Vladislav Vaintroub
770d315846 new option SIGNCODE to sign executables and dlls with digital certificates 2009-12-12 20:30:18 +01:00
Vladislav Vaintroub
df3b67318c remove debug message 2009-12-12 02:10:47 +01:00
Vladislav Vaintroub
cedb6101db Cleanup, use MYSQL_INSTALL_TARGETS macro instead of INSTALL(TARGETS) combined with
INSTALL_DEBUG_SYMBOLS
2009-12-12 02:03:05 +01:00
Vladislav Vaintroub
3a6b75949c Introduce macro DTRACE_INSTRUMENT_STATIC_LIBS,to hide
the ugly Solaris dtrace workarounds
2009-12-11 18:33:00 +00:00
Vladislav Vaintroub
55ccb35ba6 Introduce a workaround for Solaris' inability to deal with dtrace in static libraries.
Rerun dtrace -G on all  objects that can contan dtrace probes (also objects that are
part of static libs) before linking mysqld to produce dtrace_probes_all.o and link 
dtrace_probes_all.o with mysqld

This ugly workaround was inspired by handling dtrace using autotools.
2009-12-11 15:51:39 +01:00
Vladislav Vaintroub
ef4685eccf fix install_symlink on unixes other than osx 2009-12-10 03:48:21 +01:00
vvaintroub
0e28e588b9 Use CMAKE_CFG_INTDIR instead of different MSVC and Xcode specific
configuration names
2009-12-09 03:13:38 +01:00
Vladislav Vaintroub
ef482374e5 couple of tweaks for solaris on sparc, link with librt, as it defines sched_yield 2009-12-08 03:12:23 +01:00
Vladislav Vaintroub
9fcef3c45b On Linux, support -Wl,--no-undefined (only client shared library)
and --Wl,--as-needed (all shared modules). The later will remove
unused dependencies (also from gcc and C++ runtime)
2009-12-07 02:16:05 +01:00
Vladislav Vaintroub
04d2adbd4f Fix creation of exports file on Unix 2009-12-05 13:16:30 +00:00
Vladislav Vaintroub
a426f50f5c merge 2009-12-04 20:05:04 +00:00
Vladislav Vaintroub
1407b6f1ec fix build errors 2009-12-01 18:28:13 +00:00
Vladislav Vaintroub
8b90176a47 in RESTRICT_SYMBOL_EXPORTS,handle cases where COMPILE_FLAGS are not set
(COMPILE_FLAGS-NOTFOUND)
2009-12-01 14:35:09 +01:00
Vladislav Vaintroub
60a3d30086 fix make dist errors 2009-12-01 14:18:53 +01:00