diff options
Diffstat (limited to 'Swift/QtUI/SConscript')
-rw-r--r-- | Swift/QtUI/SConscript | 486 |
1 files changed, 243 insertions, 243 deletions
diff --git a/Swift/QtUI/SConscript b/Swift/QtUI/SConscript index fb4d853..e7fe93f 100644 --- a/Swift/QtUI/SConscript +++ b/Swift/QtUI/SConscript @@ -2,20 +2,20 @@ import os, datetime, re, time import Version def generateDefaultTheme(dir) : - sourceDir = dir.abspath - result = "<!-- WARNING: This file is automatically generated. Any changes will be overwritten. -->\n" - result += "<RCC version =\"1.0\">" - result += "<qresource prefix=\"/themes/Default\">" - for (path, dirs, files) in os.walk(sourceDir) : - for file in files : - filePath = os.path.join(path,file) - result += "<file alias=\"%(alias)s\">%(path)s</file>" % { - "alias": filePath[len(sourceDir)+1:], - "path": filePath - } - result += "</qresource>" - result += "</RCC>" - return result + sourceDir = dir.abspath + result = "<!-- WARNING: This file is automatically generated. Any changes will be overwritten. -->\n" + result += "<RCC version =\"1.0\">" + result += "<qresource prefix=\"/themes/Default\">" + for (path, dirs, files) in os.walk(sourceDir) : + for file in files : + filePath = os.path.join(path,file) + result += "<file alias=\"%(alias)s\">%(path)s</file>" % { + "alias": filePath[len(sourceDir)+1:], + "path": filePath + } + result += "</qresource>" + result += "</RCC>" + return result Import("env") @@ -29,15 +29,15 @@ if "clang" in env["CC"] : myenv.UseFlags(env["SWIFT_CONTROLLERS_FLAGS"]) myenv.UseFlags(env["SWIFTOOLS_FLAGS"]) if myenv["HAVE_XSS"] : - myenv.UseFlags(env["XSS_FLAGS"]) + myenv.UseFlags(env["XSS_FLAGS"]) if env["PLATFORM"] == "posix" : - myenv.Append(LIBS = ["X11"]) + myenv.Append(LIBS = ["X11"]) if myenv["HAVE_SPARKLE"] : - myenv.UseFlags(env["SPARKLE_FLAGS"]) + myenv.UseFlags(env["SPARKLE_FLAGS"]) myenv.UseFlags(env["SWIFTEN_FLAGS"]) myenv.UseFlags(env["SWIFTEN_DEP_FLAGS"]) if myenv.get("HAVE_BREAKPAD") : - myenv.UseFlags(env["BREAKPAD_FLAGS"]) + myenv.UseFlags(env["BREAKPAD_FLAGS"]) if myenv.get("HAVE_GROWL", False) : myenv.UseFlags(myenv["GROWL_FLAGS"]) myenv.Append(CPPDEFINES = ["HAVE_GROWL"]) @@ -59,12 +59,12 @@ myenv.Tool("wix", toolpath = ["#/BuildTools/SCons/Tools"]) myenv.Tool("textfile", toolpath = ["#/BuildTools/SCons/Tools"]) qt4modules = ['QtCore', 'QtWebKit', 'QtGui'] if myenv["qt5"] : - qt_version = '5' - qt4modules += ['QtWidgets', 'QtWebKitWidgets', 'QtMultimedia'] - if env["PLATFORM"] != "win32" and env["PLATFORM"] != "darwin" : - qt4modules += ['QtX11Extras'] + qt_version = '5' + qt4modules += ['QtWidgets', 'QtWebKitWidgets', 'QtMultimedia'] + if env["PLATFORM"] != "win32" and env["PLATFORM"] != "darwin" : + qt4modules += ['QtX11Extras'] else : - qt_version = '4' + qt_version = '4' if env["PLATFORM"] == "posix" : qt4modules += ["QtDBus"] if env["PLATFORM"] != "win32" and env["PLATFORM"] != "darwin" : @@ -75,135 +75,135 @@ myenv.EnableQt4Modules(qt4modules, debug = False, version = qt_version) myenv.Append(CPPPATH = ["."]) if env["PLATFORM"] == "win32" : - #myenv.Append(LINKFLAGS = ["/SUBSYSTEM:CONSOLE"]) - myenv.Append(LINKFLAGS = ["/SUBSYSTEM:WINDOWS"]) - myenv.Append(LIBS = "qtmain") - if myenv.get("HAVE_SCHANNEL", 0) : - myenv.Append(LIBS = "Cryptui") - myenv.Append(CPPDEFINES = "HAVE_SCHANNEL") - if env["debug"] and not env["optimize"]: - myenv.Append(LINKFLAGS = ["/NODEFAULTLIB:msvcrt"]) + #myenv.Append(LINKFLAGS = ["/SUBSYSTEM:CONSOLE"]) + myenv.Append(LINKFLAGS = ["/SUBSYSTEM:WINDOWS"]) + myenv.Append(LIBS = "qtmain") + if myenv.get("HAVE_SCHANNEL", 0) : + myenv.Append(LIBS = "Cryptui") + myenv.Append(CPPDEFINES = "HAVE_SCHANNEL") + if env["debug"] and not env["optimize"]: + myenv.Append(LINKFLAGS = ["/NODEFAULTLIB:msvcrt"]) myenv.WriteVal("DefaultTheme.qrc", myenv.Value(generateDefaultTheme(myenv.Dir("#/Swift/resources/themes/Default")))) sources = [ - "main.cpp", - "QtAboutWidget.cpp", - "QtSpellCheckerWindow.cpp", - "QtAvatarWidget.cpp", - "QtUIFactory.cpp", - "QtChatWindowFactory.cpp", - "QtClickableLabel.cpp", - "QtLoginWindow.cpp", - "QtMainWindow.cpp", - "QtProfileWindow.cpp", - "QtBlockListEditorWindow.cpp", - "QtNameWidget.cpp", - "QtSettingsProvider.cpp", - "QtStatusWidget.cpp", - "QtScaledAvatarCache.cpp", - "QtSwift.cpp", - "QtURIHandler.cpp", - "QtChatWindow.cpp", - "QtChatView.cpp", - "QtWebKitChatView.cpp", - "QtPlainChatView.cpp", - "QtChatTheme.cpp", - "QtChatTabs.cpp", - "QtChatTabsBase.cpp", - "QtChatTabsShortcutOnlySubstitute.cpp", - "QtSoundPlayer.cpp", - "QtSystemTray.cpp", - "QtCachedImageScaler.cpp", - "QtTabbable.cpp", - "QtTabWidget.cpp", - "QtTextEdit.cpp", - "QtXMLConsoleWidget.cpp", - "QtHistoryWindow.cpp", - "QtFileTransferListWidget.cpp", - "QtFileTransferListItemModel.cpp", - "QtAdHocCommandWindow.cpp", - "QtAdHocCommandWithJIDWindow.cpp", - "QtUtilities.cpp", - "QtBookmarkDetailWindow.cpp", - "QtAddBookmarkWindow.cpp", - "QtEditBookmarkWindow.cpp", - "QtEmoticonsGrid.cpp", - "QtEmoticonCell.cpp", - "QtContactEditWindow.cpp", - "QtContactEditWidget.cpp", - "QtSingleWindow.cpp", - "QtHighlightEditor.cpp", - "QtColorToolButton.cpp", - "QtClosableLineEdit.cpp", - "ChatSnippet.cpp", - "MessageSnippet.cpp", - "SystemMessageSnippet.cpp", - "QtElidingLabel.cpp", - "QtFormWidget.cpp", - "QtFormResultItemModel.cpp", - "QtLineEdit.cpp", - "QtJoinMUCWindow.cpp", - "QtConnectionSettingsWindow.cpp", - "Roster/RosterModel.cpp", - "Roster/QtTreeWidget.cpp", -# "Roster/QtTreeWidgetItem.cpp", - "Roster/RosterDelegate.cpp", - "Roster/GroupItemDelegate.cpp", - "Roster/DelegateCommons.cpp", - "Roster/QtFilterWidget.cpp", - "Roster/QtRosterWidget.cpp", - "Roster/QtOccupantListWidget.cpp", - "Roster/RosterTooltip.cpp", - "EventViewer/EventModel.cpp", - "EventViewer/EventDelegate.cpp", - "EventViewer/TwoLineDelegate.cpp", - "EventViewer/QtEventWindow.cpp", - "EventViewer/QtEvent.cpp", - "ChatList/QtChatListWindow.cpp", - "ChatList/ChatListModel.cpp", - "ChatList/ChatListDelegate.cpp", - "ChatList/ChatListMUCItem.cpp", - "ChatList/ChatListRecentItem.cpp", - "ChatList/ChatListWhiteboardItem.cpp", - "MUCSearch/QtMUCSearchWindow.cpp", - "MUCSearch/MUCSearchModel.cpp", - "MUCSearch/MUCSearchRoomItem.cpp", - "MUCSearch/MUCSearchEmptyItem.cpp", - "MUCSearch/MUCSearchDelegate.cpp", - "UserSearch/ContactListDelegate.cpp", - "UserSearch/ContactListModel.cpp", - "UserSearch/QtContactListWidget.cpp", - "UserSearch/QtSuggestingJIDInput.cpp", - "UserSearch/QtUserSearchFirstPage.cpp", - "UserSearch/QtUserSearchFirstMultiJIDPage.cpp", - "UserSearch/QtUserSearchFieldsPage.cpp", - "UserSearch/QtUserSearchResultsPage.cpp", - "UserSearch/QtUserSearchDetailsPage.cpp", - "UserSearch/QtUserSearchWindow.cpp", - "UserSearch/UserSearchModel.cpp", - "UserSearch/UserSearchDelegate.cpp", - "Whiteboard/FreehandLineItem.cpp", - "Whiteboard/GView.cpp", - "Whiteboard/TextDialog.cpp", - "Whiteboard/QtWhiteboardWindow.cpp", - "Whiteboard/ColorWidget.cpp", - "QtSubscriptionRequestWindow.cpp", - "QtRosterHeader.cpp", - "QtWebView.cpp", - "qrc_DefaultTheme.cc", - "qrc_Swift.cc", - "QtChatWindowJSBridge.cpp", - "QtMUCConfigurationWindow.cpp", - "QtAffiliationEditor.cpp", - "QtUISettingConstants.cpp", - "QtURLValidator.cpp", - "QtResourceHelper.cpp", - "QtSpellCheckHighlighter.cpp", - "Trellis/QtDynamicGridLayout.cpp", - "Trellis/QtDNDTabBar.cpp", - "Trellis/QtGridSelectionDialog.cpp" - ] + "main.cpp", + "QtAboutWidget.cpp", + "QtSpellCheckerWindow.cpp", + "QtAvatarWidget.cpp", + "QtUIFactory.cpp", + "QtChatWindowFactory.cpp", + "QtClickableLabel.cpp", + "QtLoginWindow.cpp", + "QtMainWindow.cpp", + "QtProfileWindow.cpp", + "QtBlockListEditorWindow.cpp", + "QtNameWidget.cpp", + "QtSettingsProvider.cpp", + "QtStatusWidget.cpp", + "QtScaledAvatarCache.cpp", + "QtSwift.cpp", + "QtURIHandler.cpp", + "QtChatWindow.cpp", + "QtChatView.cpp", + "QtWebKitChatView.cpp", + "QtPlainChatView.cpp", + "QtChatTheme.cpp", + "QtChatTabs.cpp", + "QtChatTabsBase.cpp", + "QtChatTabsShortcutOnlySubstitute.cpp", + "QtSoundPlayer.cpp", + "QtSystemTray.cpp", + "QtCachedImageScaler.cpp", + "QtTabbable.cpp", + "QtTabWidget.cpp", + "QtTextEdit.cpp", + "QtXMLConsoleWidget.cpp", + "QtHistoryWindow.cpp", + "QtFileTransferListWidget.cpp", + "QtFileTransferListItemModel.cpp", + "QtAdHocCommandWindow.cpp", + "QtAdHocCommandWithJIDWindow.cpp", + "QtUtilities.cpp", + "QtBookmarkDetailWindow.cpp", + "QtAddBookmarkWindow.cpp", + "QtEditBookmarkWindow.cpp", + "QtEmoticonsGrid.cpp", + "QtEmoticonCell.cpp", + "QtContactEditWindow.cpp", + "QtContactEditWidget.cpp", + "QtSingleWindow.cpp", + "QtHighlightEditor.cpp", + "QtColorToolButton.cpp", + "QtClosableLineEdit.cpp", + "ChatSnippet.cpp", + "MessageSnippet.cpp", + "SystemMessageSnippet.cpp", + "QtElidingLabel.cpp", + "QtFormWidget.cpp", + "QtFormResultItemModel.cpp", + "QtLineEdit.cpp", + "QtJoinMUCWindow.cpp", + "QtConnectionSettingsWindow.cpp", + "Roster/RosterModel.cpp", + "Roster/QtTreeWidget.cpp", +# "Roster/QtTreeWidgetItem.cpp", + "Roster/RosterDelegate.cpp", + "Roster/GroupItemDelegate.cpp", + "Roster/DelegateCommons.cpp", + "Roster/QtFilterWidget.cpp", + "Roster/QtRosterWidget.cpp", + "Roster/QtOccupantListWidget.cpp", + "Roster/RosterTooltip.cpp", + "EventViewer/EventModel.cpp", + "EventViewer/EventDelegate.cpp", + "EventViewer/TwoLineDelegate.cpp", + "EventViewer/QtEventWindow.cpp", + "EventViewer/QtEvent.cpp", + "ChatList/QtChatListWindow.cpp", + "ChatList/ChatListModel.cpp", + "ChatList/ChatListDelegate.cpp", + "ChatList/ChatListMUCItem.cpp", + "ChatList/ChatListRecentItem.cpp", + "ChatList/ChatListWhiteboardItem.cpp", + "MUCSearch/QtMUCSearchWindow.cpp", + "MUCSearch/MUCSearchModel.cpp", + "MUCSearch/MUCSearchRoomItem.cpp", + "MUCSearch/MUCSearchEmptyItem.cpp", + "MUCSearch/MUCSearchDelegate.cpp", + "UserSearch/ContactListDelegate.cpp", + "UserSearch/ContactListModel.cpp", + "UserSearch/QtContactListWidget.cpp", + "UserSearch/QtSuggestingJIDInput.cpp", + "UserSearch/QtUserSearchFirstPage.cpp", + "UserSearch/QtUserSearchFirstMultiJIDPage.cpp", + "UserSearch/QtUserSearchFieldsPage.cpp", + "UserSearch/QtUserSearchResultsPage.cpp", + "UserSearch/QtUserSearchDetailsPage.cpp", + "UserSearch/QtUserSearchWindow.cpp", + "UserSearch/UserSearchModel.cpp", + "UserSearch/UserSearchDelegate.cpp", + "Whiteboard/FreehandLineItem.cpp", + "Whiteboard/GView.cpp", + "Whiteboard/TextDialog.cpp", + "Whiteboard/QtWhiteboardWindow.cpp", + "Whiteboard/ColorWidget.cpp", + "QtSubscriptionRequestWindow.cpp", + "QtRosterHeader.cpp", + "QtWebView.cpp", + "qrc_DefaultTheme.cc", + "qrc_Swift.cc", + "QtChatWindowJSBridge.cpp", + "QtMUCConfigurationWindow.cpp", + "QtAffiliationEditor.cpp", + "QtUISettingConstants.cpp", + "QtURLValidator.cpp", + "QtResourceHelper.cpp", + "QtSpellCheckHighlighter.cpp", + "Trellis/QtDynamicGridLayout.cpp", + "Trellis/QtDNDTabBar.cpp", + "Trellis/QtGridSelectionDialog.cpp" +] # QtVCardWidget sources.extend([ @@ -251,7 +251,7 @@ if env["PLATFORM"] == "win32" : ("SWIFT_VERSION_PATCH", "${SWIFT_VERSION_PATCH}"), ]) res = res_env.RES("#/Swift/resources/Windows/Swift.rc") - # For some reason, SCons isn't picking up the dependency correctly + # For some reason, SCons isn't picking up the dependency correctly # Adding it explicitly until i figure out why myenv.Depends(res, "../Controllers/BuildVersion.h") sources += [ @@ -272,11 +272,11 @@ if env["PLATFORM"] == "darwin" : sources += ["CocoaUIHelpers.mm"] if env["PLATFORM"] == "darwin" or env["PLATFORM"] == "win32" : - swiftProgram = myenv.Program("Swift", sources) + swiftProgram = myenv.Program("Swift", sources) else : - sources += ["QtCertificateViewerDialog.cpp"]; - myenv.Uic4("QtCertificateViewerDialog.ui"); - swiftProgram = myenv.Program("swift-im", sources) + sources += ["QtCertificateViewerDialog.cpp"]; + myenv.Uic4("QtCertificateViewerDialog.ui"); + swiftProgram = myenv.Program("swift-im", sources) if env["PLATFORM"] != "darwin" and env["PLATFORM"] != "win32" : openURIProgram = myenv.Program("swift-open-uri", "swift-open-uri.cpp") @@ -353,97 +353,97 @@ if env["PLATFORM"] == "win32" : ################################################################################ if env["PLATFORM"] == "darwin" : - frameworks = [] - if env["HAVE_SPARKLE"] : - frameworks.append(env["SPARKLE_FRAMEWORK"]) - if env["HAVE_GROWL"] : - frameworks.append(env["GROWL_FRAMEWORK"]) - commonResources[""] = commonResources.get("", []) + ["#/Swift/resources/MacOSX/Swift.icns"] - app = myenv.AppBundle("Swift", version = myenv["SWIFT_VERSION"], resources = commonResources, frameworks = frameworks, handlesXMPPURIs = True) - if env["DIST"] : - myenv.Command(["#/Packages/Swift/Swift-${SWIFT_VERSION}.dmg"], [app], ["Swift/Packaging/MacOSX/package.sh " + app.path + " Swift/Packaging/MacOSX/Swift.dmg.gz $TARGET $QTDIR"]) - dsym = myenv.Command(["Swift-${SWIFT_VERSION}.dSYM"], ["Swift"], ["dsymutil -o ${TARGET} ${SOURCE}"]) - myenv.Command(["#/Packages/Swift/Swift-${SWIFT_VERSION}.dSYM.zip"], dsym, ["cd ${SOURCE.dir} && zip -r ${TARGET.abspath} ${SOURCE.name}"]) + frameworks = [] + if env["HAVE_SPARKLE"] : + frameworks.append(env["SPARKLE_FRAMEWORK"]) + if env["HAVE_GROWL"] : + frameworks.append(env["GROWL_FRAMEWORK"]) + commonResources[""] = commonResources.get("", []) + ["#/Swift/resources/MacOSX/Swift.icns"] + app = myenv.AppBundle("Swift", version = myenv["SWIFT_VERSION"], resources = commonResources, frameworks = frameworks, handlesXMPPURIs = True) + if env["DIST"] : + myenv.Command(["#/Packages/Swift/Swift-${SWIFT_VERSION}.dmg"], [app], ["Swift/Packaging/MacOSX/package.sh " + app.path + " Swift/Packaging/MacOSX/Swift.dmg.gz $TARGET $QTDIR"]) + dsym = myenv.Command(["Swift-${SWIFT_VERSION}.dSYM"], ["Swift"], ["dsymutil -o ${TARGET} ${SOURCE}"]) + myenv.Command(["#/Packages/Swift/Swift-${SWIFT_VERSION}.dSYM.zip"], dsym, ["cd ${SOURCE.dir} && zip -r ${TARGET.abspath} ${SOURCE.name}"]) if env.get("SWIFT_INSTALLDIR", "") : - env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "bin"), swiftProgram + openURIProgram) - env.InstallAs(os.path.join(env["SWIFT_INSTALLDIR"], "share", "pixmaps", "swift.xpm"), "#/Swift/resources/logo/logo-icon-32.xpm") - icons_path = os.path.join(env["SWIFT_INSTALLDIR"], "share", "icons", "hicolor") - env.InstallAs(os.path.join(icons_path, "32x32", "apps", "swift.xpm"), "#/Swift/resources/logo/logo-icon-32.xpm") - env.InstallAs(os.path.join(icons_path, "scalable", "apps", "swift.svg"), "#/Swift/resources/logo/logo-icon.svg") - for i in ["16", "22", "24", "64", "128"] : - env.InstallAs(os.path.join(icons_path, i + "x" + i, "apps", "swift.png"), "#/Swift/resources/logo/logo-icon-" + i + ".png") - env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "share", "applications"), "#/Swift/resources/swift.desktop") - for dir, resource in commonResources.items() : - env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "share", "swift", dir), resource) + env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "bin"), swiftProgram + openURIProgram) + env.InstallAs(os.path.join(env["SWIFT_INSTALLDIR"], "share", "pixmaps", "swift.xpm"), "#/Swift/resources/logo/logo-icon-32.xpm") + icons_path = os.path.join(env["SWIFT_INSTALLDIR"], "share", "icons", "hicolor") + env.InstallAs(os.path.join(icons_path, "32x32", "apps", "swift.xpm"), "#/Swift/resources/logo/logo-icon-32.xpm") + env.InstallAs(os.path.join(icons_path, "scalable", "apps", "swift.svg"), "#/Swift/resources/logo/logo-icon.svg") + for i in ["16", "22", "24", "64", "128"] : + env.InstallAs(os.path.join(icons_path, i + "x" + i, "apps", "swift.png"), "#/Swift/resources/logo/logo-icon-" + i + ".png") + env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "share", "applications"), "#/Swift/resources/swift.desktop") + for dir, resource in commonResources.items() : + env.Install(os.path.join(env["SWIFT_INSTALLDIR"], "share", "swift", dir), resource) if env["PLATFORM"] == "win32" : - if env["DIST"] or ARGUMENTS.get("dump_trace") : - commonResources[""] = commonResources.get("", []) + [ - #os.path.join(env["OPENSSL_DIR"], "bin", "ssleay32.dll"), - #os.path.join(env["OPENSSL_DIR"], "bin", "libeay32.dll"), - "#/Swift/resources/images", - ] - if env["SWIFTEN_DLL"] : - commonResources[""] = commonResources.get("", []) + ["#/Swiften/${SWIFTEN_LIBRARY_FILE}"] - qtplugins = {} - qtplugins["imageformats"] = ["gif", "ico", "jpeg", "mng", "svg", "tiff"] - qtlibs = ["QtCore", "QtGui", "QtNetwork", "QtWebKit", "QtXMLPatterns"] - if qt_version == '4' : - qtlibs.append("phonon") - qtlibs = [lib + '4' for lib in qtlibs] - else : - qtlibs += ['QtQuick', 'QtQml', 'QtPositioning', 'QtMultimedia', 'QtSql', 'QtSensors', 'QtWidgets', 'QtWebChannel', 'QtWebKitWidgets', 'QtMultimediaWidgets', 'QtOpenGL', 'QtPrintSupport'] - qtlibs = [lib.replace('Qt', 'Qt5') for lib in qtlibs] - qtlibs += ['icuin51', 'icuuc51', 'icudt51', 'libGLESv2', 'libEGL'] - qtplugins["platforms"] = ['windows'] - qtplugins["accessible"] = ["taccessiblewidgets"] - - windowsBundleFiles = myenv.WindowsBundle("Swift", - resources = commonResources, - qtplugins = qtplugins, - qtlibs = qtlibs, - qtversion = qt_version) - - if env["DIST"] : - #myenv.Append(NSIS_OPTIONS = [ - # "/DmsvccRedistributableDir=\"" + env["vcredist"] + "\"", - # "/DbuildVersion=" + myenv["SWIFT_VERSION"] - # ]) - #myenv.Nsis("../Packaging/nsis/swift.nsi") - if env["SCONS_STAGE"] == "build" and env.get("wix_bindir", None): - def convertToRTF(env, target, source) : - infile = open(source[0].abspath, 'r') - outfile = open(target[0].abspath, 'w') - outfile.write('{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\fs16\\f0\\pard\n') - for line in infile: - for char in line.decode("utf-8") : - if ord(char) > 127 : - # FIXME: This is incorrect, because it only works for latin1. - # The correct way is \u<decimal utf16 point>? , but this is more - # work - outfile.write("\\'%X" % ord(char)) - else : - outfile.write(char) - outfile.write('\\par ') - outfile.write('}') - outfile.close() - infile.close() - copying = env.Command(["Swift/COPYING.rtf"], ["COPYING"], convertToRTF) - wixvariables = { - 'VCCRTFile': env["vcredist"], - 'Version': str(myenv["SWIFT_VERSION_MAJOR"]) + "." + str(myenv["SWIFT_VERSION_MINOR"]) + "." + str(myenv["SWIFT_VERSION_PATCH"]) - } - wixincludecontent = "<Include>" - for key in wixvariables: - wixincludecontent += "<?define %s = \"%s\" ?>" % (key, wixvariables[key]) - wixincludecontent += "</Include>" - myenv.WriteVal("..\\Packaging\\Wix\\variables.wxs", env.Value(wixincludecontent)) - myenv["WIX_SOURCE_OBJECT_DIR"] = "Swift\\QtUI\\Swift" - myenv.WiX_Heat('..\\Packaging\\WiX\\gen_files.wxs', windowsBundleFiles + copying) - myenv.WiX_Candle('..\\Packaging\\WiX\\Swift.wixobj', '..\\Packaging\\WiX\\Swift.wxs') - myenv.WiX_Candle('..\\Packaging\\WiX\\gen_files.wixobj', '..\\Packaging\\WiX\\gen_files.wxs') - myenv.WiX_Light('#/Packages/Swift/Swift-' + myenv["SWIFT_VERSION"] + '.msi', ['..\\Packaging\\WiX\\gen_files.wixobj','..\\Packaging\\WiX\\Swift.wixobj']) - - if myenv["debug"] : - myenv.InstallAs('#/Packages/Swift/Swift-' + myenv["SWIFT_VERSION"] + '.pdb', "Swift.pdb") + if env["DIST"] or ARGUMENTS.get("dump_trace") : + commonResources[""] = commonResources.get("", []) + [ + #os.path.join(env["OPENSSL_DIR"], "bin", "ssleay32.dll"), + #os.path.join(env["OPENSSL_DIR"], "bin", "libeay32.dll"), + "#/Swift/resources/images", + ] + if env["SWIFTEN_DLL"] : + commonResources[""] = commonResources.get("", []) + ["#/Swiften/${SWIFTEN_LIBRARY_FILE}"] + qtplugins = {} + qtplugins["imageformats"] = ["gif", "ico", "jpeg", "mng", "svg", "tiff"] + qtlibs = ["QtCore", "QtGui", "QtNetwork", "QtWebKit", "QtXMLPatterns"] + if qt_version == '4' : + qtlibs.append("phonon") + qtlibs = [lib + '4' for lib in qtlibs] + else : + qtlibs += ['QtQuick', 'QtQml', 'QtPositioning', 'QtMultimedia', 'QtSql', 'QtSensors', 'QtWidgets', 'QtWebChannel', 'QtWebKitWidgets', 'QtMultimediaWidgets', 'QtOpenGL', 'QtPrintSupport'] + qtlibs = [lib.replace('Qt', 'Qt5') for lib in qtlibs] + qtlibs += ['icuin51', 'icuuc51', 'icudt51', 'libGLESv2', 'libEGL'] + qtplugins["platforms"] = ['windows'] + qtplugins["accessible"] = ["taccessiblewidgets"] + + windowsBundleFiles = myenv.WindowsBundle("Swift", + resources = commonResources, + qtplugins = qtplugins, + qtlibs = qtlibs, + qtversion = qt_version) + + if env["DIST"] : + #myenv.Append(NSIS_OPTIONS = [ + # "/DmsvccRedistributableDir=\"" + env["vcredist"] + "\"", + # "/DbuildVersion=" + myenv["SWIFT_VERSION"] + # ]) + #myenv.Nsis("../Packaging/nsis/swift.nsi") + if env["SCONS_STAGE"] == "build" and env.get("wix_bindir", None): + def convertToRTF(env, target, source) : + infile = open(source[0].abspath, 'r') + outfile = open(target[0].abspath, 'w') + outfile.write('{\\rtf1\\ansi{\\fonttbl\\f0\\fswiss Helvetica;}\\fs16\\f0\\pard\n') + for line in infile: + for char in line.decode("utf-8") : + if ord(char) > 127 : + # FIXME: This is incorrect, because it only works for latin1. + # The correct way is \u<decimal utf16 point>? , but this is more + # work + outfile.write("\\'%X" % ord(char)) + else : + outfile.write(char) + outfile.write('\\par ') + outfile.write('}') + outfile.close() + infile.close() + copying = env.Command(["Swift/COPYING.rtf"], ["COPYING"], convertToRTF) + wixvariables = { + 'VCCRTFile': env["vcredist"], + 'Version': str(myenv["SWIFT_VERSION_MAJOR"]) + "." + str(myenv["SWIFT_VERSION_MINOR"]) + "." + str(myenv["SWIFT_VERSION_PATCH"]) + } + wixincludecontent = "<Include>" + for key in wixvariables: + wixincludecontent += "<?define %s = \"%s\" ?>" % (key, wixvariables[key]) + wixincludecontent += "</Include>" + myenv.WriteVal("..\\Packaging\\Wix\\variables.wxs", env.Value(wixincludecontent)) + myenv["WIX_SOURCE_OBJECT_DIR"] = "Swift\\QtUI\\Swift" + myenv.WiX_Heat('..\\Packaging\\WiX\\gen_files.wxs', windowsBundleFiles + copying) + myenv.WiX_Candle('..\\Packaging\\WiX\\Swift.wixobj', '..\\Packaging\\WiX\\Swift.wxs') + myenv.WiX_Candle('..\\Packaging\\WiX\\gen_files.wixobj', '..\\Packaging\\WiX\\gen_files.wxs') + myenv.WiX_Light('#/Packages/Swift/Swift-' + myenv["SWIFT_VERSION"] + '.msi', ['..\\Packaging\\WiX\\gen_files.wixobj','..\\Packaging\\WiX\\Swift.wixobj']) + + if myenv["debug"] : + myenv.InstallAs('#/Packages/Swift/Swift-' + myenv["SWIFT_VERSION"] + '.pdb', "Swift.pdb") |