import os def generateDefaultTheme(env, target, source) : sourceDir = source[0].abspath output = open(target[0].abspath, "w") output.write("") output.write("") for (path, dirs, files) in os.walk(sourceDir) : for file in files : filePath = os.path.join(path,file) output.write("%(path)s" % { "alias": filePath[len(sourceDir)+1:], "path": filePath }) output.write("") output.write("") def createBundle(env, target, source) : target = target[0].abspath source = source[0].abspath os.makedirs(target + "/Contents/MacOS") Execute(Copy(target + "/Contents/MacOS", source)) pkgInfo = open(target + "/Contents/PkgInfo", "w") pkgInfo.write("APPL\77\77\77\77") pkgInfo.close() Import("env") myenv = env.Clone() myenv.MergeFlags(env["SWIFT_CONTROLLERS_FLAGS"]) myenv.MergeFlags(env["SWIFTEN_FLAGS"]) myenv.MergeFlags(env["CPPUNIT_FLAGS"]) myenv.MergeFlags(env["LIBIDN_FLAGS"]) myenv.MergeFlags(env["BOOST_FLAGS"]) myenv.MergeFlags(env["SQLITE_FLAGS"]) myenv.MergeFlags(env["EXPAT_FLAGS"]) myenv.MergeFlags(env["ZLIB_FLAGS"]) myenv.MergeFlags(env["OPENSSL_FLAGS"]) myenv.Tool("qt4") myenv.EnableQt4Modules(['QtCore', 'QtGui', 'QtWebKit'], debug = False) myenv.Append(CPPPATH = ["/usr/include/phonon"]) myenv.Append(CPPPATH = ["."]) myenv.Command("DefaultTheme.qrc", "../resources/themes/Default", generateDefaultTheme) sources = [ "main.cpp", "QtChatWindow.cpp", "QtChatWindowFactory.cpp", "QtJoinMUCDialog.cpp", "QtLoginWindow.cpp", "QtLoginWindowFactory.cpp", "QtMainWindow.cpp", "QtMainWindowFactory.cpp", "QtSettingsProvider.cpp", "QtStatusWidget.cpp", "QtSwift.cpp", "QtChatView.cpp", "QtChatTabs.cpp", "QtSoundPlayer.cpp", "QtSystemTray.cpp", "QtTabbable.cpp", "ChatSnippet.cpp", "MessageSnippet.cpp", "SystemMessageSnippet.cpp", "Roster/RosterModel.cpp", "Roster/QtTreeWidget.cpp", "Roster/QtTreeWidgetItem.cpp", "Roster/RosterDelegate.cpp", "qrc_DefaultTheme.cc", "qrc_Swift.cc", ] if env["PLATFORM"] == "win32" : sources += ["../resources/Windows/Swift.rc"] if env["PLATFORM"] == "darwin" or env["PLATFORM"] == "win32" : myenv.Program("Swift", sources) else : myenv.Program("swift", sources) myenv.Uic4("QtJoinMUCDialog.ui") myenv.Qrc("DefaultTheme.qrc") myenv.Qrc("Swift.qrc") if env["PLATFORM"] == "darwin" : myenv.Command("Swift.app", "Swift", createBundle)