diff options
Diffstat (limited to 'win/packaging/CMakeLists.txt')
-rw-r--r-- | win/packaging/CMakeLists.txt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/win/packaging/CMakeLists.txt b/win/packaging/CMakeLists.txt index 02fba4ae16b..8c8cca60c35 100644 --- a/win/packaging/CMakeLists.txt +++ b/win/packaging/CMakeLists.txt @@ -103,6 +103,37 @@ IF(WITH_INNOBASE_STORAGE_ENGINE OR WITH_INNODB_STORAGE_ENGINE OR WITH_XTRADB_STO SET(EXTRA_WIX_PREPROCESSOR_FLAGS ${EXTRA_WIX_PREPROCESSOR_FLAGS} "-dHaveInnodb=1") ENDIF() +SET(THIRD_PARTY_FEATURE_CONDITION "") + +IF(WITH_THIRD_PARTY) + SET(THIRD_PARTY_DOWNLOAD_LOCATION "$ENV{TEMP}") + IF(THIRD_PARTY_DOWNLOAD_LOCATION) + FILE(TO_CMAKE_PATH "${THIRD_PARTY_DOWNLOAD_LOCATION}" THIRD_PARTY_DOWNLOAD_LOCATION) + ELSE() + SET(THIRD_PARTY_DOWNLOAD_LOCATION "${CMAKE_BINARY_DIR}") + ENDIF() +ENDIF() + +FOREACH(third_party ${WITH_THIRD_PARTY}) + SET(third_party_install_plugin ${CMAKE_CURRENT_SOURCE_DIR}/${third_party}.cmake) + IF(NOT EXISTS ${third_party_install_plugin}) + MESSAGE(FATAL_ERROR +"Third party MSI installation plugin ${third_party_install_plugin} does not exist. +It was expected due to WITH_THIRD_PARTY=${WITH_THIRD_PARTY}" +) + ENDIF() + STRING(TOUPPER "${third_party}" upper_third_party) + IF(NOT THIRD_PARTY_FEATURE_CONDITION ) + SET(THIRD_PARTY_FEATURE_CONDITION "<Condition Level='0'>${upper_third_party}INSTALLED") + ELSE() + SET(THIRD_PARTY_FEATURE_CONDITION "AND ${upper_third_party}INSTALLED") + ENDIF() +ENDFOREACH() + +IF(THIRD_PARTY_FEATURE_CONDITION) + SET(THIRD_PARTY_FEATURE_CONDITION "${THIRD_PARTY_FEATURE_CONDITION}</Condition>") +ENDIF() + IF(NOT CPACK_WIX_UI) SET(CPACK_WIX_UI "MyWixUI_Mondo") ENDIF() |