diff options
author | Vladislav Vaintroub <vvaintroub@mysql.com> | 2010-01-24 16:23:16 +0100 |
---|---|---|
committer | Vladislav Vaintroub <vvaintroub@mysql.com> | 2010-01-24 16:23:16 +0100 |
commit | c514d75ebb0651dcc65ca9e09cf8458dc904f242 (patch) | |
tree | c43eba4b5b19fd0edbb74db874eadf3a2a91f9c7 /cmake/mysql_add_executable.cmake | |
parent | df9f68e9730d5d1f00ad82536c27352b9915c018 (diff) | |
download | mariadb-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/mysql_add_executable.cmake')
-rw-r--r-- | cmake/mysql_add_executable.cmake | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cmake/mysql_add_executable.cmake b/cmake/mysql_add_executable.cmake index cb0237332c2..2157d03e6d1 100644 --- a/cmake/mysql_add_executable.cmake +++ b/cmake/mysql_add_executable.cmake @@ -29,7 +29,7 @@ INCLUDE(cmake_parse_arguments) FUNCTION (MYSQL_ADD_EXECUTABLE)
# Pass-through arguments for ADD_EXECUTABLE
CMAKE_PARSE_ARGUMENTS(ARG
- "WIN32;MACOSX_BUNDLE;EXCLUDE_FROM_ALL"
+ "WIN32;MACOSX_BUNDLE;EXCLUDE_FROM_ALL;DESTINATION"
""
${ARGN}
)
@@ -41,6 +41,9 @@ FUNCTION (MYSQL_ADD_EXECUTABLE) ADD_EXECUTABLE(${target} ${ARG_WIN32} ${ARG_MACOSX_BUNDLE} ${ARG_EXCLUDE_FROM_ALL} ${sources})
# tell CPack where to install
IF(NOT ARG_EXCLUDE_FROM_ALL)
- MYSQL_INSTALL_TARGETS(${target} DESTINATION bin)
+ IF(NOT ARG_DESTINATION)
+ SET(ARG_DESTINATION ${INSTALL_BINDIR})
+ ENDIF()
+ MYSQL_INSTALL_TARGETS(${target} DESTINATION ${ARG_DESTINATION})
ENDIF()
ENDFUNCTION()
\ No newline at end of file |