summaryrefslogtreecommitdiff
path: root/cmake/configure.pl
diff options
context:
space:
mode:
authorVladislav Vaintroub <vvaintroub@mysql.com>2010-01-24 16:23:16 +0100
committerVladislav Vaintroub <vvaintroub@mysql.com>2010-01-24 16:23:16 +0100
commitc827968a2df5ad35e64cea0116abf862776cef26 (patch)
treec43eba4b5b19fd0edbb74db874eadf3a2a91f9c7 /cmake/configure.pl
parent80f57fb2524bfd451c603bce92ad061d85b42aae (diff)
downloadmariadb-git-c827968a2df5ad35e64cea0116abf862776cef26.tar.gz
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)
Diffstat (limited to 'cmake/configure.pl')
-rw-r--r--cmake/configure.pl7
1 files changed, 6 insertions, 1 deletions
diff --git a/cmake/configure.pl b/cmake/configure.pl
index 3768b046530..f52435e2cde 100644
--- a/cmake/configure.pl
+++ b/cmake/configure.pl
@@ -11,7 +11,6 @@ my $srcdir = dirname(dirname(abs_path($0)));
foreach my $option (@ARGV)
{
-
if (substr ($option, 0, 2) == "--")
{
$option = substr($option, 2);
@@ -83,6 +82,12 @@ foreach my $option (@ARGV)
$cmakeargs = $cmakeargs." -DWITH_CHARSETS=complex";
next;
}
+ if ($option =~ /localstatedir=/)
+ {
+ $cmakeargs = $cmakeargs." -DMYSQL_DATADIR=".substr($option,14);
+ next;
+ }
+
$option = uc($option);
$option =~ s/-/_/g;
$cmakeargs = $cmakeargs." -D".$option."=1";