|
@@ -2,7 +2,7 @@
|
|
|
# CPackIFW
|
|
# CPackIFW
|
|
|
# --------
|
|
# --------
|
|
|
#
|
|
#
|
|
|
-# .. _QtIFW: http://qt-project.org/doc/qtinstallerframework/index.html
|
|
|
|
|
|
|
+# .. _QtIFW: http://doc.qt.io/qtinstallerframework/index.html
|
|
|
#
|
|
#
|
|
|
# This module looks for the location of the command line utilities supplied with
|
|
# This module looks for the location of the command line utilities supplied with
|
|
|
# the Qt Installer Framework (QtIFW_).
|
|
# the Qt Installer Framework (QtIFW_).
|
|
@@ -33,18 +33,26 @@
|
|
|
#
|
|
#
|
|
|
# You can use the following variables to change behavior of CPack ``IFW`` generator.
|
|
# You can use the following variables to change behavior of CPack ``IFW`` generator.
|
|
|
#
|
|
#
|
|
|
|
|
+# Debug
|
|
|
|
|
+# """"""
|
|
|
|
|
+#
|
|
|
|
|
+# .. variable:: CPACK_IFW_VERBOSE
|
|
|
|
|
+#
|
|
|
|
|
+# Set to ``ON`` to enable addition debug output.
|
|
|
|
|
+# By default is ``OFF``.
|
|
|
|
|
+#
|
|
|
# Package
|
|
# Package
|
|
|
# """""""
|
|
# """""""
|
|
|
#
|
|
#
|
|
|
# .. variable:: CPACK_IFW_PACKAGE_TITLE
|
|
# .. variable:: CPACK_IFW_PACKAGE_TITLE
|
|
|
#
|
|
#
|
|
|
# Name of the installer as displayed on the title bar.
|
|
# Name of the installer as displayed on the title bar.
|
|
|
-# By default used :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`
|
|
|
|
|
|
|
+# By default used :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`.
|
|
|
#
|
|
#
|
|
|
# .. variable:: CPACK_IFW_PACKAGE_PUBLISHER
|
|
# .. variable:: CPACK_IFW_PACKAGE_PUBLISHER
|
|
|
#
|
|
#
|
|
|
# Publisher of the software (as shown in the Windows Control Panel).
|
|
# Publisher of the software (as shown in the Windows Control Panel).
|
|
|
-# By default used :variable:`CPACK_PACKAGE_VENDOR`
|
|
|
|
|
|
|
+# By default used :variable:`CPACK_PACKAGE_VENDOR`.
|
|
|
#
|
|
#
|
|
|
# .. variable:: CPACK_IFW_PRODUCT_URL
|
|
# .. variable:: CPACK_IFW_PRODUCT_URL
|
|
|
#
|
|
#
|
|
@@ -63,6 +71,12 @@
|
|
|
#
|
|
#
|
|
|
# Filename for a logo is used as QWizard::LogoPixmap.
|
|
# Filename for a logo is used as QWizard::LogoPixmap.
|
|
|
#
|
|
#
|
|
|
|
|
+# .. variable:: CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
|
|
|
|
|
+#
|
|
|
|
|
+# Name of the default program group for the product in the Windows Start menu.
|
|
|
|
|
+#
|
|
|
|
|
+# By default used :variable:`CPACK_IFW_PACKAGE_NAME`.
|
|
|
|
|
+#
|
|
|
# .. variable:: CPACK_IFW_TARGET_DIRECTORY
|
|
# .. variable:: CPACK_IFW_TARGET_DIRECTORY
|
|
|
#
|
|
#
|
|
|
# Default target directory for installation.
|
|
# Default target directory for installation.
|
|
@@ -85,6 +99,35 @@
|
|
|
# The root package name, which will be used if configuration group is not
|
|
# The root package name, which will be used if configuration group is not
|
|
|
# specified
|
|
# specified
|
|
|
#
|
|
#
|
|
|
|
|
+# .. variable:: CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
|
|
|
|
|
+#
|
|
|
|
|
+# Filename of the generated maintenance tool.
|
|
|
|
|
+# The platform-specific executable file extension is appended.
|
|
|
|
|
+#
|
|
|
|
|
+# By default used QtIFW_ defaults (``maintenancetool``).
|
|
|
|
|
+#
|
|
|
|
|
+# .. variable:: CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
|
|
|
|
|
+#
|
|
|
|
|
+# Filename for the configuration of the generated maintenance tool.
|
|
|
|
|
+#
|
|
|
|
|
+# By default used QtIFW_ defaults (``maintenancetool.ini``).
|
|
|
|
|
+#
|
|
|
|
|
+# .. variable:: CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
|
|
|
|
|
+#
|
|
|
|
|
+# Set to ``ON`` if the installation path can contain non-ASCII characters.
|
|
|
|
|
+#
|
|
|
|
|
+# Is ``ON`` for QtIFW_ less 2.0 tools.
|
|
|
|
|
+#
|
|
|
|
|
+# .. variable:: CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
|
|
|
|
|
+#
|
|
|
|
|
+# Set to ``OFF`` if the installation path cannot contain space characters.
|
|
|
|
|
+#
|
|
|
|
|
+# Is ``ON`` for QtIFW_ less 2.0 tools.
|
|
|
|
|
+#
|
|
|
|
|
+# .. variable:: CPACK_IFW_PACKAGE_CONTROL_SCRIPT
|
|
|
|
|
+#
|
|
|
|
|
+# Filename for a custom installer control script.
|
|
|
|
|
+#
|
|
|
# .. variable:: CPACK_IFW_REPOSITORIES_ALL
|
|
# .. variable:: CPACK_IFW_REPOSITORIES_ALL
|
|
|
#
|
|
#
|
|
|
# The list of remote repositories.
|
|
# The list of remote repositories.
|
|
@@ -113,6 +156,10 @@
|
|
|
# Tools
|
|
# Tools
|
|
|
# """"""""
|
|
# """"""""
|
|
|
#
|
|
#
|
|
|
|
|
+# .. variable:: CPACK_IFW_FRAMEWORK_VERSION
|
|
|
|
|
+#
|
|
|
|
|
+# The version of used QtIFW_ tools.
|
|
|
|
|
+#
|
|
|
# .. variable:: CPACK_IFW_BINARYCREATOR_EXECUTABLE
|
|
# .. variable:: CPACK_IFW_BINARYCREATOR_EXECUTABLE
|
|
|
#
|
|
#
|
|
|
# The path to "binarycreator" command line client.
|
|
# The path to "binarycreator" command line client.
|
|
@@ -276,16 +323,16 @@
|
|
|
# Qt Installer Framework Manual:
|
|
# Qt Installer Framework Manual:
|
|
|
#
|
|
#
|
|
|
# Index page
|
|
# Index page
|
|
|
-# http://qt-project.org/doc/qtinstallerframework/index.html
|
|
|
|
|
|
|
+# http://doc.qt.io/qtinstallerframework/index.html
|
|
|
#
|
|
#
|
|
|
# Component Scripting
|
|
# Component Scripting
|
|
|
-# http://qt-project.org/doc/qtinstallerframework/scripting.html
|
|
|
|
|
|
|
+# http://doc.qt.io/qtinstallerframework/scripting.html
|
|
|
#
|
|
#
|
|
|
# Predefined Variables
|
|
# Predefined Variables
|
|
|
-# http://qt-project.org/doc/qtinstallerframework/scripting.html#predefined-variables
|
|
|
|
|
|
|
+# http://doc.qt.io/qtinstallerframework/scripting.html#predefined-variables
|
|
|
#
|
|
#
|
|
|
-# Download Qt Installer Framework for you platform from Qt Project site:
|
|
|
|
|
-# http://download.qt-project.org/official_releases/qt-installer-framework/
|
|
|
|
|
|
|
+# Download Qt Installer Framework for you platform from Qt site:
|
|
|
|
|
+# http://download.qt.io/official_releases/qt-installer-framework
|
|
|
#
|
|
#
|
|
|
|
|
|
|
|
#=============================================================================
|
|
#=============================================================================
|
|
@@ -324,8 +371,14 @@ else()
|
|
|
endif()
|
|
endif()
|
|
|
|
|
|
|
|
set(_CPACK_IFW_SUFFIXES
|
|
set(_CPACK_IFW_SUFFIXES
|
|
|
|
|
+# Common
|
|
|
"bin"
|
|
"bin"
|
|
|
- "QtIFW-1.7.0/bin"
|
|
|
|
|
|
|
+# Second branch
|
|
|
|
|
+ "QtIFW2.3.0/bin"
|
|
|
|
|
+ "QtIFW2.2.0/bin"
|
|
|
|
|
+ "QtIFW2.1.0/bin"
|
|
|
|
|
+ "QtIFW2.0.0/bin"
|
|
|
|
|
+# First branch
|
|
|
"QtIFW-1.6.0/bin"
|
|
"QtIFW-1.6.0/bin"
|
|
|
"QtIFW-1.5.0/bin"
|
|
"QtIFW-1.5.0/bin"
|
|
|
"QtIFW-1.4.0/bin"
|
|
"QtIFW-1.4.0/bin"
|
|
@@ -351,6 +404,26 @@ find_program(CPACK_IFW_REPOGEN_EXECUTABLE
|
|
|
)
|
|
)
|
|
|
mark_as_advanced(CPACK_IFW_REPOGEN_EXECUTABLE)
|
|
mark_as_advanced(CPACK_IFW_REPOGEN_EXECUTABLE)
|
|
|
|
|
|
|
|
|
|
+# Look for 'installerbase'
|
|
|
|
|
+
|
|
|
|
|
+find_program(CPACK_IFW_INSTALLERBASE_EXECUTABLE
|
|
|
|
|
+ NAMES installerbase
|
|
|
|
|
+ PATHS ${_CPACK_IFW_PATHS}
|
|
|
|
|
+ PATH_SUFFIXES ${_CPACK_IFW_SUFFIXES}
|
|
|
|
|
+ DOC "QtIFW installer executable base"
|
|
|
|
|
+ )
|
|
|
|
|
+mark_as_advanced(CPACK_IFW_INSTALLERBASE_EXECUTABLE)
|
|
|
|
|
+
|
|
|
|
|
+# Look for 'devtool' (appeared in the second branch)
|
|
|
|
|
+
|
|
|
|
|
+find_program(CPACK_IFW_DEVTOOL_EXECUTABLE
|
|
|
|
|
+ NAMES devtool
|
|
|
|
|
+ PATHS ${_CPACK_IFW_PATHS}
|
|
|
|
|
+ PATH_SUFFIXES ${_CPACK_IFW_SUFFIXES}
|
|
|
|
|
+ DOC "QtIFW devtool command line client"
|
|
|
|
|
+ )
|
|
|
|
|
+mark_as_advanced(CPACK_IFW_DEVTOOL_EXECUTABLE)
|
|
|
|
|
+
|
|
|
#
|
|
#
|
|
|
## Next code is included only once
|
|
## Next code is included only once
|
|
|
#
|
|
#
|
|
@@ -358,6 +431,27 @@ mark_as_advanced(CPACK_IFW_REPOGEN_EXECUTABLE)
|
|
|
if(NOT CPackIFW_CMake_INCLUDED)
|
|
if(NOT CPackIFW_CMake_INCLUDED)
|
|
|
set(CPackIFW_CMake_INCLUDED 1)
|
|
set(CPackIFW_CMake_INCLUDED 1)
|
|
|
|
|
|
|
|
|
|
+#=============================================================================
|
|
|
|
|
+# Framework version
|
|
|
|
|
+#=============================================================================
|
|
|
|
|
+
|
|
|
|
|
+if(CPACK_IFW_INSTALLERBASE_EXECUTABLE AND CPACK_IFW_DEVTOOL_EXECUTABLE)
|
|
|
|
|
+ execute_process(COMMAND
|
|
|
|
|
+ "${CPACK_IFW_INSTALLERBASE_EXECUTABLE}" --framework-version
|
|
|
|
|
+ OUTPUT_VARIABLE CPACK_IFW_FRAMEWORK_VERSION)
|
|
|
|
|
+ if(CPACK_IFW_FRAMEWORK_VERSION)
|
|
|
|
|
+ string(REPLACE " " ""
|
|
|
|
|
+ CPACK_IFW_FRAMEWORK_VERSION "${CPACK_IFW_FRAMEWORK_VERSION}")
|
|
|
|
|
+ string(REPLACE "\t" ""
|
|
|
|
|
+ CPACK_IFW_FRAMEWORK_VERSION "${CPACK_IFW_FRAMEWORK_VERSION}")
|
|
|
|
|
+ string(REPLACE "\n" ""
|
|
|
|
|
+ CPACK_IFW_FRAMEWORK_VERSION "${CPACK_IFW_FRAMEWORK_VERSION}")
|
|
|
|
|
+ if(CPACK_IFW_VERBOSE)
|
|
|
|
|
+ message(STATUS "Found QtIFW ${CPACK_IFW_FRAMEWORK_VERSION} version")
|
|
|
|
|
+ endif()
|
|
|
|
|
+ endif()
|
|
|
|
|
+endif()
|
|
|
|
|
+
|
|
|
#=============================================================================
|
|
#=============================================================================
|
|
|
# Macro definition
|
|
# Macro definition
|
|
|
#=============================================================================
|
|
#=============================================================================
|
|
@@ -514,4 +608,7 @@ macro(cpack_ifw_add_repository reponame)
|
|
|
|
|
|
|
|
endmacro()
|
|
endmacro()
|
|
|
|
|
|
|
|
|
|
+# Resolve package control script
|
|
|
|
|
+_cpack_ifw_resolve_script(CPACK_IFW_PACKAGE_CONTROL_SCRIPT)
|
|
|
|
|
+
|
|
|
endif() # NOT CPackIFW_CMake_INCLUDED
|
|
endif() # NOT CPackIFW_CMake_INCLUDED
|