summaryrefslogtreecommitdiff
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
parent588a1d652f5428beccb49328dd0d5e47e24232c2 (diff)
downloadmariadb-git-3de5613445b5e4ba6683769ab15afc3d1c71b5dd.tar.gz
INSTALL_DOCUMENTATION function for CMakeLists.txt
It puts files in the correct location for rpm/deb packages.
-rw-r--r--CMakeLists.txt14
-rw-r--r--cmake/cpack_deb.cmake9
-rw-r--r--cmake/install_layout.cmake8
-rw-r--r--cmake/install_macros.cmake30
-rw-r--r--debian/mariadb-tokudb-engine-5.5.files4
-rw-r--r--storage/tokudb/ft-index/CMakeLists.txt6
6 files changed, 52 insertions, 19 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9b8c9defeb7..7401fcb56b4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -136,6 +136,7 @@ INCLUDE(mysql_version)
INCLUDE(cpack_source_ignore_files)
INCLUDE(install_layout)
INCLUDE(cpack_rpm)
+INCLUDE(cpack_deb)
# Add macros
INCLUDE(character_sets)
@@ -364,15 +365,12 @@ ADD_CUSTOM_TARGET(INFO_BIN ALL
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
-INSTALL(FILES COPYING COPYING.LESSER LICENSE.mysql
-DESTINATION ${INSTALL_DOCREADMEDIR}
-COMPONENT Readme
-OPTIONAL
-)
-INSTALL(FILES README DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme)
-INSTALL(FILES ${CMAKE_BINARY_DIR}/Docs/INFO_SRC ${CMAKE_BINARY_DIR}/Docs/INFO_BIN DESTINATION ${INSTALL_DOCDIR})
+INSTALL_DOCUMENTATION(README COPYING COPYING.LESSER
+ COMPONENT Readme)
+INSTALL_DOCUMENTATION(${CMAKE_BINARY_DIR}/Docs/INFO_SRC
+ ${CMAKE_BINARY_DIR}/Docs/INFO_BIN)
IF(UNIX)
- INSTALL(FILES Docs/INSTALL-BINARY DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme)
+ INSTALL_DOCUMENTATION(Docs/INSTALL-BINARY COMPONENT Readme)
ENDIF()
INCLUDE(CPack)
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.
diff --git a/debian/mariadb-tokudb-engine-5.5.files b/debian/mariadb-tokudb-engine-5.5.files
index 44e10ed3616..e2033f1acbf 100644
--- a/debian/mariadb-tokudb-engine-5.5.files
+++ b/debian/mariadb-tokudb-engine-5.5.files
@@ -1,4 +1,4 @@
usr/bin/tokuftdump
usr/lib/mysql/plugin/ha_tokudb.so
-usr/share/doc/mariadb-server-5.5/tokudb/README-TOKUDB
-usr/share/doc/mariadb-server-5.5/tokudb/README.md
+usr/share/doc/mariadb-tokudb-engine-5.5/README-TOKUDB
+usr/share/doc/mariadb-tokudb-engine-5.5/README.md
diff --git a/storage/tokudb/ft-index/CMakeLists.txt b/storage/tokudb/ft-index/CMakeLists.txt
index 33efb79285a..41e3116b16d 100644
--- a/storage/tokudb/ft-index/CMakeLists.txt
+++ b/storage/tokudb/ft-index/CMakeLists.txt
@@ -57,11 +57,7 @@ add_subdirectory(include)
add_subdirectory(toku_include)
#add_subdirectory(examples)
-install(
- FILES README.md README-TOKUDB
- COMPONENT "tokudb-engine"
- DESTINATION "${INSTALL_DOCREADMEDIR}/tokudb"
- )
+INSTALL_DOCUMENTATION(README.md README-TOKUDB COMPONENT "tokudb-engine")
## build tags
#include(TokuBuildTagDatabases)