summaryrefslogtreecommitdiff
path: root/win/packaging/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'win/packaging/CMakeLists.txt')
-rw-r--r--win/packaging/CMakeLists.txt31
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()