summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladislav Vaintroub <vvaintroub@mysql.com>2010-11-13 19:38:39 +0100
committerVladislav Vaintroub <vvaintroub@mysql.com>2010-11-13 19:38:39 +0100
commit1b6bf12b1113cafa183b441a9fb52c7d5617f702 (patch)
treef9ecaa74685e238755a9d9a2fa6241ee4ad043e4
parent36fffdeaa22c7208d3744613a7bd7bbe6e49b394 (diff)
downloadmariadb-git-1b6bf12b1113cafa183b441a9fb52c7d5617f702.tar.gz
Bug#58178: "make package" is broken with cmake 2.8.3
Problem: with "make package" , many small packages are generated, one per CMake COMPONENT, instead of expected single package. This is due to the new (in cmake 2.8.3) component-based install for archive( e.g ZIP,TGZ ) CPack generators. See http://public.kitware.com/Bug/view.php?id=11452 for discussion. Fix: use CPACK_MONOLITHIC_INSTALL=1 to enforce single package. Reset this variable temporarily to 0 for MSI creation (MSI needs COMPONENTs)
-rw-r--r--CMakeLists.txt5
-rw-r--r--packaging/WiX/create_msi.cmake.in12
2 files changed, 17 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 544c48f79f6..4078e520a08 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -331,6 +331,11 @@ ELSE()
SET(CPACK_GENERATOR "TGZ")
ENDIF()
ADD_SUBDIRECTORY(packaging/WiX)
+
+# Create a single package with "make package"
+# (see http://public.kitware.com/Bug/view.php?id=11452)
+SET(CPACK_MONOLITHIC_INSTALL 1 CACHE INTERNAL "")
+
INCLUDE(CPack)
IF(UNIX)
INSTALL(FILES Docs/mysql.info DESTINATION ${INSTALL_INFODIR} OPTIONAL)
diff --git a/packaging/WiX/create_msi.cmake.in b/packaging/WiX/create_msi.cmake.in
index adc3cf4c4dd..404095fb567 100644
--- a/packaging/WiX/create_msi.cmake.in
+++ b/packaging/WiX/create_msi.cmake.in
@@ -27,6 +27,12 @@ ENDIF()
SET(ENV{VS_UNICODE_OUTPUT})
+# Switch off the monolithic install
+EXECUTE_PROCESS(
+ COMMAND ${CMAKE_COMMAND} -DCPACK_MONOLITHIC_INSTALL=0 ${CMAKE_BINARY_DIR}
+ OUTPUT_QUIET
+)
+
INCLUDE(${CMAKE_BINARY_DIR}/CPackConfig.cmake)
IF(CPACK_WIX_CONFIG)
@@ -318,3 +324,9 @@ EXECUTE_PROCESS(
${EXTRA_LIGHT_ARGS}
)
+# Switch monolithic install on again
+EXECUTE_PROCESS(
+ COMMAND ${CMAKE_COMMAND} -DCPACK_MONOLITHIC_INSTALL=1 ${CMAKE_BINARY_DIR}
+ OUTPUT_QUIET
+)
+