mkspecs/features/sis_targets.prf
changeset 37 758a864f9613
parent 33 3e2da88830cd
equal deleted inserted replaced
36:ef0373b55136 37:758a864f9613
     2 GENERATE_SIS_TARGETS = false
     2 GENERATE_SIS_TARGETS = false
     3 
     3 
     4 contains(TEMPLATE, app): GENERATE_SIS_TARGETS = true
     4 contains(TEMPLATE, app): GENERATE_SIS_TARGETS = true
     5 else:!equals(DEPLOYMENT, default_deployment) {
     5 else:!equals(DEPLOYMENT, default_deployment) {
     6     for(dep_item, $$list($$DEPLOYMENT)) {
     6     for(dep_item, $$list($$DEPLOYMENT)) {
     7         eval(dep_item_sources = $${dep_item}.sources)
     7         dep_item_sources = $$eval($${dep_item}.sources)
     8         !isEmpty(dep_item_sources): GENERATE_SIS_TARGETS = true
     8         !isEmpty(dep_item_sources): GENERATE_SIS_TARGETS = true
     9     }
     9     }
    10 }
    10 }
    11 
    11 
    12 equals(GENERATE_SIS_TARGETS, true) {
    12 equals(GENERATE_SIS_TARGETS, true) {
       
    13 
       
    14     baseTarget = $$symbianRemoveSpecialCharacters($$basename(TARGET))
       
    15 
    13     symbian-abld|symbian-sbsv2 {
    16     symbian-abld|symbian-sbsv2 {
    14         sis_destdir =
    17         symbian-sbsv2 {
       
    18             CONVERT_GCCE_PARAM = -g
       
    19         } else {
       
    20             CONVERT_GCCE_PARAM =
       
    21         }
       
    22         
    15         make_cache_name = .make.cache
    23         make_cache_name = .make.cache
    16         sis_target.target = sis
    24         sis_target.target = sis
    17         sis_target.commands = $(if $(wildcard $$basename(TARGET)_template.pkg), \
    25         sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \
    18                                   $(if $(wildcard $$make_cache_name), \
    26                                   $(if $(wildcard $$make_cache_name), \
    19                                       $(MAKE) -f $(MAKEFILE) ok_sis MAKEFILES=$$make_cache_name \
    27                                       $(MAKE) -f $(MAKEFILE) ok_sis MAKEFILES=$$make_cache_name \
    20                                   , \
    28                                   , \
    21                                       $(if $(QT_SIS_TARGET), \
    29                                       $(if $(QT_SIS_TARGET), \
    22                                           $(MAKE) -f $(MAKEFILE) ok_sis \
    30                                           $(MAKE) -f $(MAKEFILE) ok_sis \
    27                               , \
    35                               , \
    28                                   $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
    36                                   $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
    29                               )
    37                               )
    30 
    38 
    31         ok_sis_target.target = ok_sis
    39         ok_sis_target.target = ok_sis
    32         ok_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) $$basename(TARGET)_template.pkg \
    40         ok_sis_target.commands = createpackage.bat $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
    33                                      $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
    41                                      $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
    34 
    42 
    35         unsigned_sis_target.target = unsigned_sis
    43         unsigned_sis_target.target = unsigned_sis
    36         unsigned_sis_target.commands = $(if $(wildcard $$basename(TARGET)_template.pkg), \
    44         unsigned_sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \
    37                                   $(if $(wildcard $$make_cache_name), \
    45                                   $(if $(wildcard $$make_cache_name), \
    38                                       $(MAKE) -f $(MAKEFILE) ok_unsigned_sis MAKEFILES=$$make_cache_name \
    46                                       $(MAKE) -f $(MAKEFILE) ok_unsigned_sis MAKEFILES=$$make_cache_name \
    39                                   , \
    47                                   , \
    40                                       $(if $(QT_SIS_TARGET), \
    48                                       $(if $(QT_SIS_TARGET), \
    41                                           $(MAKE) -f $(MAKEFILE) ok_unsigned_sis \
    49                                           $(MAKE) -f $(MAKEFILE) ok_unsigned_sis \
    46                               , \
    54                               , \
    47                                   $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
    55                                   $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
    48                               )
    56                               )
    49 
    57 
    50         ok_unsigned_sis_target.target = ok_unsigned_sis
    58         ok_unsigned_sis_target.target = ok_unsigned_sis
    51         ok_unsigned_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) -o $$basename(TARGET)_template.pkg $(QT_SIS_TARGET)
    59         ok_unsigned_sis_target.commands = createpackage.bat $$CONVERT_GCCE_PARAM $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg $(QT_SIS_TARGET)
    52 
    60 
    53         target_sis_target.target = $${sis_destdir}$${TARGET}.sis
    61         target_sis_target.target = $${baseTarget}.sis
    54         target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
    62         target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
    55 
    63 
    56         installer_sis_target.target = installer_sis
    64         installer_sis_target.target = installer_sis
    57         installer_sis_target.commands = $(if $(wildcard $$basename(TARGET)_installer.pkg), \
    65         installer_sis_target.commands = $(if $(wildcard $${baseTarget}_installer.pkg), \
    58                                             $(MAKE) -f $(MAKEFILE) ok_installer_sis \
    66                                             $(MAKE) -f $(MAKEFILE) ok_installer_sis \
    59                                         , \
    67                                         , \
    60                                             $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
    68                                             $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
    61                                         )
    69                                         )
    62         installer_sis_target.depends = $${sis_destdir}$${TARGET}.sis
    70         installer_sis_target.depends = $${baseTarget}.sis
    63 
    71 
    64         ok_installer_sis_target.target = ok_installer_sis
    72         ok_installer_sis_target.target = ok_installer_sis
    65         ok_installer_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) $$basename(TARGET)_installer.pkg - \
    73         ok_installer_sis_target.commands = createpackage.bat $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
    66                                                $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
    74                                                $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
    67 
    75 
    68         fail_sis_nopkg_target.target = fail_sis_nopkg
    76         fail_sis_nopkg_target.target = fail_sis_nopkg
    69         fail_sis_nopkg_target.commands = "$(error PKG file does not exist, 'sis' and 'installer_sis' target are only supported for executables or projects with DEPLOYMENT statement)"
    77         fail_sis_nopkg_target.commands = "$(error PKG file does not exist, 'sis' and 'installer_sis' target are only supported for executables or projects with DEPLOYMENT statement)"
    70 
    78 
    71         fail_sis_nocache_target.target = fail_sis_nocache
    79         fail_sis_nocache_target.target = fail_sis_nocache
    72         fail_sis_nocache_target.commands = "$(error Project has to be built or QT_SIS_TARGET environment variable has to be set before calling 'SIS' target)"
    80         fail_sis_nocache_target.commands = "$(error Project has to be built or QT_SIS_TARGET environment variable has to be set before calling 'SIS' target)"
    73 
    81 
    74         stub_sis_target.target = stub_sis
    82         stub_sis_target.target = stub_sis
    75         stub_sis_target.commands = $(if $(wildcard $$basename(TARGET)_template.pkg), \
    83         stub_sis_target.commands = $(if $(wildcard $${baseTarget}_template.pkg), \
    76                                        $(if $(wildcard $$make_cache_name), \
    84                                        $(if $(wildcard $$make_cache_name), \
    77                                            $(MAKE) -f $(MAKEFILE) ok_stub_sis MAKEFILES=$$make_cache_name \
    85                                            $(MAKE) -f $(MAKEFILE) ok_stub_sis MAKEFILES=$$make_cache_name \
    78                                        , \
    86                                        , \
    79                                            $(if $(QT_SIS_TARGET), \
    87                                            $(if $(QT_SIS_TARGET), \
    80                                                $(MAKE) -f $(MAKEFILE) ok_stub_sis \
    88                                                $(MAKE) -f $(MAKEFILE) ok_stub_sis \
    85                                    , \
    93                                    , \
    86                                        $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
    94                                        $(MAKE) -f $(MAKEFILE) fail_sis_nopkg \
    87                                    )
    95                                    )
    88 
    96 
    89         ok_stub_sis_target.target = ok_stub_sis
    97         ok_stub_sis_target.target = ok_stub_sis
    90         ok_stub_sis_target.commands = createpackage.bat -s $(QT_SIS_OPTIONS) $$basename(TARGET)_stub.pkg \
    98         ok_stub_sis_target.commands = createpackage.bat -s $(QT_SIS_OPTIONS) $${baseTarget}_stub.pkg \
    91                                           $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
    99                                           $(QT_SIS_TARGET) $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
    92 
   100 
    93         QMAKE_EXTRA_TARGETS += sis_target \
   101         QMAKE_EXTRA_TARGETS += sis_target \
    94                                ok_sis_target \
   102                                ok_sis_target \
    95                                unsigned_sis_target \
   103                                unsigned_sis_target \
   123                 && echo QT_SIS_TARGET ?= $(QT_SIS_TARGET) >> $$make_cache_name
   131                 && echo QT_SIS_TARGET ?= $(QT_SIS_TARGET) >> $$make_cache_name
   124 
   132 
   125             QMAKE_EXTRA_TARGETS += store_build_target
   133             QMAKE_EXTRA_TARGETS += store_build_target
   126         }
   134         }
   127     } else {
   135     } else {
       
   136         qtPrepareTool(QMAKE_CREATEPACKAGE, createpackage)
       
   137 
   128         sis_destdir = $$DESTDIR
   138         sis_destdir = $$DESTDIR
   129         isEmpty(sis_destdir):sis_destdir = .
   139         isEmpty(sis_destdir):sis_destdir = .
   130         baseTarget = $$basename(TARGET)
       
   131         !equals(TARGET, "$$baseTarget"):sis_destdir = $$sis_destdir/$$dirname(TARGET)
   140         !equals(TARGET, "$$baseTarget"):sis_destdir = $$sis_destdir/$$dirname(TARGET)
   132 
   141 
   133         sis_target.target = sis
   142         sis_target.target = sis
   134         sis_target.commands = createpackage $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
   143         sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) $${baseTarget}_template.pkg \
   135                                   - $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
   144                                   - $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
   136         sis_target.depends = first
   145         sis_target.depends = first
   137 
   146 
   138         unsigned_sis_target.target = unsigned_sis
   147         unsigned_sis_target.target = unsigned_sis
   139         unsigned_sis_target.commands = createpackage $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg
   148         unsigned_sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) -o $${baseTarget}_template.pkg
   140         unsigned_sis_target.depends = first
   149         unsigned_sis_target.depends = first
   141 
   150 
   142         target_sis_target.target = $${sis_destdir}/$${baseTarget}.sis
   151         target_sis_target.target = $${sis_destdir}/$${baseTarget}.sis
   143         target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
   152         target_sis_target.commands = $(MAKE) -f $(MAKEFILE) sis
   144 
   153 
   145         installer_sis_target.target = installer_sis
   154         installer_sis_target.target = installer_sis
   146         installer_sis_target.commands = createpackage $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
   155         installer_sis_target.commands = $$QMAKE_CREATEPACKAGE $(QT_SIS_OPTIONS) $${baseTarget}_installer.pkg - \
   147                                             $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
   156                                             $(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)
   148         installer_sis_target.depends = $${sis_destdir}/$${baseTarget}.sis
   157         installer_sis_target.depends = $${sis_destdir}/$${baseTarget}.sis
   149 
   158 
   150         !isEmpty(sis_destdir):!equals(sis_destdir, "."):!equals(sis_destdir, "./") {
   159         !isEmpty(sis_destdir):!equals(sis_destdir, "."):!equals(sis_destdir, "./") {
   151             sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir
   160             sis_target.commands += && $$QMAKE_MOVE $${baseTarget}.sis $$sis_destdir