diff options
author | Vladislav Vaintroub <wlad@montyprogram.com> | 2013-04-19 18:45:54 +0200 |
---|---|---|
committer | Vladislav Vaintroub <wlad@montyprogram.com> | 2013-04-19 18:45:54 +0200 |
commit | 0b034c1b2c619e3de6c8cbaddaede75578b5ef1a (patch) | |
tree | cbd9ef0be6348e38b0fdc75a6087c5aaa1f46f96 /win | |
parent | 9df2057cfa5c080b04db070bdd2992a054a66a65 (diff) | |
download | mariadb-git-0b034c1b2c619e3de6c8cbaddaede75578b5ef1a.tar.gz |
Fix to handle CMake component names with dash in the name, when producing MSI package.
Rename connect_engine component back to connect-engine.
Diffstat (limited to 'win')
-rw-r--r-- | win/packaging/CPackWixConfig.cmake | 10 | ||||
-rw-r--r-- | win/packaging/create_msi.cmake.in | 38 |
2 files changed, 26 insertions, 22 deletions
diff --git a/win/packaging/CPackWixConfig.cmake b/win/packaging/CPackWixConfig.cmake index e363fb97a28..d6fcf963ce3 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;Embedded;Documentation;IniFiles;Readme;Debuginfo;Common;connect_engine")
+ "Server;Client;Development;SharedLibraries;Embedded;Documentation;IniFiles;Readme;Debuginfo;Common;connect-engine")
ENDIF()
SET( WIX_FEATURE_MySQLServer_EXTRA_FEATURES "DBInstance;SharedClientServerComponents")
@@ -63,10 +63,10 @@ SET(CPACK_COMPONENT_GROUP_MYSQLSERVER_DESCRIPTION "Install server") SET(CPACK_COMPONENT_DATAFILES_HIDDEN 1)
#Subfeature "Connect Engine"
- SET(CPACK_COMPONENT_CONNECT_ENGINE_GROUP "MySQLServer")
- SET(CPACK_COMPONENT_CONNECT_ENGINE_DISPLAY_NAME "Server data files")
- SET(CPACK_COMPONENT_CONNECT_ENGINE_DESCRIPTION "Server data files" )
- SET(CPACK_COMPONENT_CONNECT_ENGINE_HIDDEN 1)
+ SET(CPACK_COMPONENT_CONNECT-ENGINE_GROUP "MySQLServer")
+ SET(CPACK_COMPONENT_CONNECT-ENGINE_DISPLAY_NAME "Server data files")
+ SET(CPACK_COMPONENT_CONNECT-ENGINE_DESCRIPTION "Server data files" )
+ SET(CPACK_COMPONENT_CONNECT-ENGINE_HIDDEN 1)
#Feature "Devel"
diff --git a/win/packaging/create_msi.cmake.in b/win/packaging/create_msi.cmake.in index a8ca35906e8..c2ab648a6db 100644 --- a/win/packaging/create_msi.cmake.in +++ b/win/packaging/create_msi.cmake.in @@ -29,6 +29,21 @@ SET(THIRD_PARTY_DOWNLOAD_LOCATION "@THIRD_PARTY_DOWNLOAD_LOCATION@") SET(THIRD_PARTY_FEATURE_CONDITION "@THIRD_PARTY_FEATURE_CONDITION@") SET(LIBMYSQL_LOCATION "@LIBMYSQL_LOCATION@") + +MACRO(MAKE_WIX_IDENTIFIER str varname) + STRING(REPLACE "/" "." ${varname} "${str}") + STRING(REGEX REPLACE "[^a-zA-Z_0-9.]" "_" ${varname} "${${varname}}") + STRING(LENGTH "${${varname}}" len) + # Identifier should be smaller than 72 character + # We have to cut down the length to 70 chars, since we add 2 char prefix + # pretty often + IF(len GREATER 70) + MATH(EXPR diff "${len}-67") + STRING(SUBSTRING "${${varname}}" ${diff} 67 shortstr) + SET(${varname} "___${shortstr}") + ENDIF() +ENDMACRO() + SET($ENV{VS_UNICODE_OUTPUT} "") IF(LIBMYSQL_LOCATION AND CMAKE_CFG_INTDIR) # resolve libmysql full path @@ -191,6 +206,7 @@ FOREACH(f ${WIX_FEATURES}) Level='${Level}' ${DISPLAY} >" ) FOREACH(c ${${f}_COMPONENTS}) + STRING(TOUPPER "${c}" c_upper) IF (CPACK_COMPONENT_${c_upper}_DISPLAY_NAME) SET(TITLE ${CPACK_COMPONENT_${c_upper}_DISPLAY_NAME}) @@ -208,10 +224,12 @@ FOREACH(f ${WIX_FEATURES}) ELSE() SET(Level 1) ENDIF() + MAKE_WIX_IDENTIFIER("${c}" cg) + IF(CPACK_COMPONENT_${c_upper}_HIDDEN) SET(CPACK_WIX_FEATURES "${CPACK_WIX_FEATURES} - <ComponentGroupRef Id='componentgroup.${c}'/>") + <ComponentGroupRef Id='componentgroup.${cg}'/>") ELSE() SET(CPACK_WIX_FEATURES "${CPACK_WIX_FEATURES} @@ -221,7 +239,7 @@ FOREACH(f ${WIX_FEATURES}) ConfigurableDirectory='INSTALLDIR' AllowAdvertise='no' Level='${Level}'> - <ComponentGroupRef Id='componentgroup.${c}'/> + <ComponentGroupRef Id='componentgroup.${cg}'/> </Feature>") ENDIF() @@ -248,21 +266,6 @@ MACRO(GENERATE_GUID VarName) OUTPUT_STRIP_TRAILING_WHITESPACE) ENDMACRO() -MACRO(MAKE_WIX_IDENTIFIER str varname) - STRING(REPLACE "/" "." ${varname} "${str}") - STRING(REGEX REPLACE "[^a-zA-Z_0-9.]" "_" ${varname} "${${varname}}") - STRING(LENGTH "${${varname}}" len) - # Identifier should be smaller than 72 character - # We have to cut down the length to 70 chars, since we add 2 char prefix - # pretty often - IF(len GREATER 70) - MATH(EXPR diff "${len}-67") - STRING(SUBSTRING "${${varname}}" ${diff} 67 shortstr) - SET(${varname} "___${shortstr}") - ENDIF() -ENDMACRO() - - FUNCTION(TRAVERSE_FILES dir topdir file file_comp dir_root) FILE(GLOB all_files ${dir}/*) @@ -354,6 +357,7 @@ GET_FILENAME_COMPONENT(abs . ABSOLUTE) FOREACH(d ${DIRS}) GET_FILENAME_COMPONENT(d ${d} ABSOLUTE) GET_FILENAME_COMPONENT(d_name ${d} NAME) + MAKE_WIX_IDENTIFIER("${d_name}" d_name) FILE(WRITE ${abs}/${d_name}_component_group.wxs "<ComponentGroup Id='componentgroup.${d_name}'>") SET(COMP_NAME ${d_name}) |