summaryrefslogtreecommitdiff
path: root/win/packaging
diff options
context:
space:
mode:
Diffstat (limited to 'win/packaging')
-rw-r--r--win/packaging/CMakeLists.txt17
-rw-r--r--win/packaging/CPackWixConfig.cmake2
-rw-r--r--win/packaging/CPackZIPConfig.cmake11
-rw-r--r--win/packaging/CPackZIPDebugInfoConfig.cmake6
4 files changed, 35 insertions, 1 deletions
diff --git a/win/packaging/CMakeLists.txt b/win/packaging/CMakeLists.txt
index 61bfe9e5568..683abc64ef3 100644
--- a/win/packaging/CMakeLists.txt
+++ b/win/packaging/CMakeLists.txt
@@ -247,3 +247,20 @@ ADD_CUSTOM_TARGET(
)
ADD_DEPENDENCIES(MSI_ESSENTIALS wixca)
+
+IF(CMAKE_GENERATOR MATCHES "Visual Studio")
+ SET(CPACK_CONFIG_PARAM -C $(Configuration))
+ENDIF()
+
+IF(SIGNCODE)
+ SET(SIGN_COMMAND COMMAND ${CMAKE_COMMAND} -P ${PROJECT_BINARY_DIR}/sign.cmake)
+ENDIF()
+
+ADD_CUSTOM_TARGET(
+ win_package
+ ${SIGN_COMMAND}
+ COMMAND cpack ${CPACK_CONFIG_PARAM} --config ${CMAKE_CURRENT_SOURCE_DIR}/CPackZipConfig.cmake
+ COMMAND cpack ${CPACK_CONFIG_PARAM} --config ${CMAKE_CURRENT_SOURCE_DIR}/CPackZipDebugInfoConfig.cmake
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+)
+
diff --git a/win/packaging/CPackWixConfig.cmake b/win/packaging/CPackWixConfig.cmake
index 581f4925d41..994b121797a 100644
--- a/win/packaging/CPackWixConfig.cmake
+++ b/win/packaging/CPackWixConfig.cmake
@@ -9,7 +9,7 @@ IF(ESSENTIALS)
ENDIF()
ELSE()
SET(CPACK_COMPONENTS_USED
- "Server;Client;Development;SharedLibraries;Documentation;Readme;Debuginfo;Common;VCCRT;connect-engine;ClientPlugins;gssapi-server;gssapi-client;aws-key-management;rocksdb-engine;backup")
+ "Server;Client;Development;SharedLibraries;Documentation;Readme;Common;VCCRT;connect-engine;ClientPlugins;gssapi-server;gssapi-client;aws-key-management;rocksdb-engine;backup")
ENDIF()
SET( WIX_FEATURE_MySQLServer_EXTRA_FEATURES "DBInstance;SharedClientServerComponents")
diff --git a/win/packaging/CPackZIPConfig.cmake b/win/packaging/CPackZIPConfig.cmake
new file mode 100644
index 00000000000..5afbffbf0fe
--- /dev/null
+++ b/win/packaging/CPackZIPConfig.cmake
@@ -0,0 +1,11 @@
+INCLUDE(CPackConfig.cmake)
+SET(CPACK_GENERATOR ZIP)
+set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
+set(CPACK_COMPONENTS_GROUPING ALL_COMPONENTS_IN_ONE)
+SET(CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY ON)
+FOREACH(it DebugBinaries Debuginfo IniFiles Junk Test SqlBench)
+ list(FIND CPACK_COMPONENTS_ALL "${it}" index)
+ IF(index GREATER 0)
+ LIST(REMOVE_AT CPACK_COMPONENTS_ALL ${index})
+ ENDIF()
+ENDFOREACH()
diff --git a/win/packaging/CPackZIPDebugInfoConfig.cmake b/win/packaging/CPackZIPDebugInfoConfig.cmake
new file mode 100644
index 00000000000..674c1675399
--- /dev/null
+++ b/win/packaging/CPackZIPDebugInfoConfig.cmake
@@ -0,0 +1,6 @@
+INCLUDE(CPackConfig.cmake)
+set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}-debugsymbols")
+set(CPACK_ARCHIVE_COMPONENT_INSTALL ON)
+set(CPACK_COMPONENTS_GROUPING ALL_COMPONENTS_IN_ONE)
+SET(CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY ON)
+SET(CPACK_COMPONENTS_ALL Debuginfo)