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
commitc514d75ebb0651dcc65ca9e09cf8458dc904f242 (patch)
treec43eba4b5b19fd0edbb74db874eadf3a2a91f9c7 /cmake/configure.pl
parentdf9f68e9730d5d1f00ad82536c27352b9915c018 (diff)
downloadmariadb-git-c514d75ebb0651dcc65ca9e09cf8458dc904f242.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";