summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-09-10 22:53:44 +0200
committerSergei Golubchik <sergii@pisem.net>2013-09-10 22:53:44 +0200
commit3de5613445b5e4ba6683769ab15afc3d1c71b5dd (patch)
tree7d78b5673a3e04c5828df2d8f37f0db417705580 /cmake
parent588a1d652f5428beccb49328dd0d5e47e24232c2 (diff)
downloadmariadb-git-3de5613445b5e4ba6683769ab15afc3d1c71b5dd.tar.gz
INSTALL_DOCUMENTATION function for CMakeLists.txt
It puts files in the correct location for rpm/deb packages.
Diffstat (limited to 'cmake')
-rw-r--r--cmake/cpack_deb.cmake9
-rw-r--r--cmake/install_layout.cmake8
-rw-r--r--cmake/install_macros.cmake30
3 files changed, 43 insertions, 4 deletions
diff --git a/cmake/cpack_deb.cmake b/cmake/cpack_deb.cmake
new file mode 100644
index 00000000000..5fb9db1f07f
--- /dev/null
+++ b/cmake/cpack_deb.cmake
@@ -0,0 +1,9 @@
+#
+# One day it'll be a complete solution for building deb packages with CPack
+# But for now it's only to make INSTALL_DOCUMENTATION function happy
+#
+IF(DEB)
+SET(CPACK_COMPONENT_SERVER_GROUP "server")
+SET(CPACK_COMPONENT_README_GROUP "server")
+ENDIF(DEB)
+
diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake
index 839ded2ee24..be9f32fb94a 100644
--- a/cmake/install_layout.cmake
+++ b/cmake/install_layout.cmake
@@ -156,8 +156,8 @@ ENDIF()
#
SET(INSTALL_INCLUDEDIR_RPM "include/mysql")
#
-SET(INSTALL_DOCDIR_RPM "share/doc/${CPACK_SOURCE_PACKAGE_FILE_NAME}")
-SET(INSTALL_DOCREADMEDIR_RPM "share/doc/${CPACK_SOURCE_PACKAGE_FILE_NAME}")
+SET(INSTALL_DOCDIR_RPM "share/doc")
+SET(INSTALL_DOCREADMEDIR_RPM "share/doc")
SET(INSTALL_INFODIR_RPM "share/info")
SET(INSTALL_MANDIR_RPM "share/man")
#
@@ -184,8 +184,8 @@ SET(INSTALL_PLUGINDIR_DEB "lib/mysql/plugin")
#
SET(INSTALL_INCLUDEDIR_DEB "include/mysql")
#
-SET(INSTALL_DOCDIR_DEB "share/doc/mariadb-server-5.5")
-SET(INSTALL_DOCREADMEDIR_DEB "share/doc/mariadb-server-5.5")
+SET(INSTALL_DOCDIR_DEB "share/doc")
+SET(INSTALL_DOCREADMEDIR_DEB "share/doc")
SET(INSTALL_MANDIR_DEB "share/man")
SET(INSTALL_INFODIR_DEB "share/info")
#
diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake
index 14e43ee5e95..9f4148342a7 100644
--- a/cmake/install_macros.cmake
+++ b/cmake/install_macros.cmake
@@ -130,6 +130,36 @@ FUNCTION(INSTALL_SCRIPT)
INSTALL_MANPAGE(${script})
ENDFUNCTION()
+
+FUNCTION(INSTALL_DOCUMENTATION)
+ MYSQL_PARSE_ARGUMENTS(ARG "COMPONENT" "" ${ARGN})
+ SET(files ${ARG_DEFAULT_ARGS})
+ IF(NOT ARG_COMPONENT)
+ SET(ARG_COMPONENT Server)
+ ENDIF()
+ IF (ARG_COMPONENT MATCHES "Readme")
+ SET(destination ${INSTALL_DOCREADMEDIR})
+ ELSE()
+ SET(destination ${INSTALL_DOCDIR})
+ ENDIF()
+
+ STRING(TOUPPER ${ARG_COMPONENT} COMPUP)
+ IF(CPACK_COMPONENT_${COMPUP}_GROUP)
+ SET(group ${CPACK_COMPONENT_${COMPUP}_GROUP})
+ ELSE()
+ SET(group ${ARG_COMPONENT})
+ ENDIF()
+
+ IF(RPM)
+ SET(destination "${destination}/MariaDB-${group}-${VERSION}")
+ ELSEIF(DEB)
+ SET(destination "${destination}/mariadb-${group}-${MAJOR_VERSION}.${MINOR_VERSION}")
+ ENDIF()
+
+ INSTALL(FILES ${files} DESTINATION ${destination} COMPONENT ${ARG_COMPONENT})
+ENDFUNCTION()
+
+
# Install symbolic link to CMake target.
# the link is created in the same directory as target
# and extension will be the same as for target file.