summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-07-12Fix Python 3 compatibility of our SCons and tooling Python codeTobias Markmann
For the upcoming update to Scons 3, which works with Python 2 and Python 3, this change makes our code compatible with Python 3 so that it still works with Python 2. Test-Information: Tested these changes with SCons 3.0.1 on macOS 10.13.6 with Python 2.7.15 and Python 3.7.0. Change-Id: Idb5207b179a79a0dbe89d7e620d182a7d2f1ca6c
2018-05-03Disable all warnings for generated Qt filesTobias Markmann
This includes compilation of MOC generated source files and adjusting the UIC generated header files with compiler pragmas that ignore all warnings. Test-Information: Tested no warnings are emitted for generated files on macOS 10.13.4 with Qt 5.5.1 and clang trunk. Change-Id: Ib49ba7bc2017e018ebd857837fbe2d9640fba2bb
2017-06-21Add CircleCI configuration for basic GitHub PR checksTobias Markmann
This also disables a couple compiler warnings raised by clang trunk. Test-Information: Tested this on my personal GitHub fork of Swift and it works. Change-Id: I646d3beb9fc0376e0b38ce8e323e5717a899ad45
2016-09-29Support building against newer QtWebKit on macOSTobias Markmann
Test-Information: Tested with official Qt/QtWebKit 5.4.2 and Qt/QtWebKit 5.5.1. Tested with official Qt 5.6.1 and QtWebKit from https://github.com/annulen/webkit . Change-Id: I2b8258faec71296591095e998e61da55ba0ca67c
2016-07-25Improve Qt detection on Linux by setting correct environmentTobias Markmann
Pass along current scons process environment to the Popen call that detects Qt MOC version. This is required for Linux distributions that use qtchooser. This fixes building Swift on Gentoo. Test-Information. None. Change-Id: I8a1f18af5b8a7bdfe86b262ab38088d0700aab8d
2016-07-22Ignore warnings in Qt headers and fix Boost.Signals2 detectionTobias Markmann
SCons will now include Qt headers via -isystem if the compiler is either clang or gcc to ignore warnings in files out of our control. Fix SCons to test for boost/signals2.hpp header instead of boost/signals.hpp as we migrated to the newer signals2 library. Test-Information: Successfully build with allow_warnings=0 on Debian 8.5 with system boost. Change-Id: Ie6871daae73d97369de4de652e994ad5542715cf
2016-07-05Fix building with Qt 5.5.1 on OS XTobias Markmann
Since Qt 5.5.1 the packages from qt.io require setting the rpath for linking. Test-Information: Tested building with dist=1 and testing distribution packages and their used runtime libraries with Qt 5.4.2 and Qt 5.5.1. Change-Id: Idc6826a61489842d39c1d6aec3548e26da48e738
2016-04-25Convert hard tabs to four spaces in all our SConscript/*.py filesTobias Markmann
Test-Information: Test that it still builds and unit test pass on OS X 10.11.4. Change-Id: I2eb4a0b707991aee553db36a8cd1ae28b813acab
2016-04-25Add Lato font and use it in chat view themeTobias Markmann
The font has been imported from the TTF version available from http://www.latofonts.com/lato-free-fonts/ . This commit also adds default parameters to all Qt resource compiler calls, so that files that compress by more than 5% are compressed with the highest compression level. Ideally this will lead to smaller resource C++ source code files that will require less runtime memory when compiled. VS's cl.exe is particular resource hungry. Test-Information: Started Swift and verified the new font is used correctly in chat views. Change-Id: I0b450819b0f50041e768deca6e0ef5619b45d7bf
2016-01-16Remove warning about undefined QTDIR environment variableTobias Markmann
It used to be a common way to use the QTDIR environment variable to tell SCons the location of the Qt installation on the system. Swift however uses the 'qt' SCons config variable for the location and the 'qt5' variable for the version of Qt to use. On Unix/Linux systems with pkg-config, SCons will use it to detect the Qt installation and its flags. The QTDIR environment variable is rarely used and tested so the warning about missing environment variable is removed. Test-Information: Tested on Debian 8. Change-Id: I2cd793f12b8607743db2848765011cc719b106aa
2015-10-16Do not require complete Qt installation when building SwiftenTobias Markmann
Previously, if a base installation of Qt was available but not all Qt modules required by Swift are available Scons would fail configuration. If a basic Qt installation is available SCons will try to configure Swift even if you only want to build Swiften. This commit changes the hard failure in Swift configuration to a warning. This allows only Swiften to be build. In addition, the warning now lists the Qt packages required by Swift. Test-Information: Tested on Arch Linux. Change-Id: I220ea61a7e4af849912e1fb1ae66cbecf5136d29
2015-07-07Fix './scons --help' if no Qt installation can be foundTobias Markmann
Test-Information: Tested on Elementary OS 0.2. Change-Id: Ieae4fc2a2c6fdfaaac9895153b09c9504ef71495
2015-06-25Fix qt4.py tool for ArchTobias Markmann
The tool had syntax errors (missing subprocess. in front of PIPE) and SCons errors (missing conf.Finish() calls). Test-Information: Tested on Arch Linux 1.4. Change-Id: Ibab23e1dc776ee9fe96de45221c4fb9659f4a185
2015-06-18Have SCons qt4 tool check for real moc or qtchooserTobias Markmann
Some platforms, e.g. KUbuntu, provide a wrapper around Qt's commands that allow easy switching between different Qt versions. With this change SCons will execute the found moc tool and check whether it works or not. Test-Information: Tested with correctly installed Qt and uninstalled Qt on KUbuntu 14.04. Change-Id: I88f0a36af462e909829c30115aa5481abdcd3ac6
2015-06-14Fix SCons qt4 tool pkg-config detectionTobias Markmann
Correctly use pkg-config to test for Qt, if no qt path is specified in config.py. 'Import(…)' at the top caused an error which was hidden by try/catch at upper layer. Test-Information: Tested on Kubuntu 14.04, with and w/o qt path set and verified that no exception is thrown if Qt is registered at pkg-config. Change-Id: I82800c23e9f75bd5f6b136fe384a70165a92bb45
2015-06-02Fix qt4.py Scons module pkg-config support in case Qt is not presentTobias Markmann
Test-Information: Tested on Elementary OS 0.2.1 with all Qt components uninstalled. Previously it would abort configuration and build. Now it simply builds without Swift and other parts depending on Qt. Change-Id: I84c91985a0ba1fdab98e97f80621cd41e0a7507b
2015-05-19Gracefully handle pkg-config when Qt is not installedTobias Markmann
Test-Information: Tested on Elementary OS 0.2.0. Without this patch scons crashed if not all required Qt libs are installed. Now it marks Qt as unavailable and will configure a build without Swift. Change-Id: I5aa28ab8438e4c326d16413deb3a3fa739c94480
2015-05-07Add support for Qt 5.4.1 to build and distribution process on WindowsTobias Markmann
Test-Information: Tested with Qt 5.3.2 and Qt 5.4.1 from qt.io website. Change-Id: Iada3e64e530d8a5b53b8b5c8943bcafbd9bd6c64
2015-05-04Ignore 3rdParty warnings on Linux platforms when using Clang or GCCTobias Markmann
Test-Information: Tested behavior on Elementary OS 0.2.1. Change-Id: Icc0611181fbf7dbe22d6c0c8cb18be9c1cdbc138
2015-04-29Ignore compiler warnings from 3rdParty librariesTobias Markmann
When compiling with Clang or GCC, include 3rdParty libraries as system headers and frameworks (-isystem and -f). Test-Information: Tested with Clang on OS X. Change-Id: I184221ddc4b34d30ee6ba66e202953619b5afd56
2015-04-28Add Qt flags detection using pkg-config on Linux platformsTobias Markmann
Fix qt4.py SCons module to use the specific tools of the correct Qt verison. On non-Windows and non-Darwin platforms SCons will try to detect the correct Qt compiler and linker flags from pkg-config. Added the ability to build Slimber with Qt5. Fixed Qt5 support on Linux when using prebuilt Qt distribution from Qt. This patch adds support for building Swift on Arch Linux, with Qt4 and Qt5. Test-Information: Tested under Mac OS X 10.9.5 and Manjaor Linux (Arch Linux) in Qt4 and Qt5 configuration, and tested Qt5 Linux binary from their website on Arch Linux with the qt variable set in config.py. Change-Id: I2e19ab4aa7a26fdd989e2a12faa51a0f3f89c3ce
2014-01-19Make SCons Qt4 tool work on all non-Windows/OS X platformsRemko Tronçon
Change-Id: Ib59fe1d9d71194f9b34b655ab817811d673c5187
2013-07-15Fixed Qt5 compilation on Windows.Remko Tronçon
Change-Id: I2d4de311e7d8c6909f6a35dbb650380e2b0b1da9
2013-03-04Qt5 support & warning fixes.Remko Tronçon
Change-Id: I62c7d5ca44c915e36c797c798294b7c34b465514
2012-06-23Fixed .qrc dependencies not being tracked.Remko Tronçon
Resolves: #1134
2012-02-28Add workaround for Qt MOC bug.Remko Tronçon
Details about the workaround & bug can be found here: https://bugreports.qt-project.org/browse/QTBUG-22829 Resolves: #1067
2011-08-13Fixed Qt SCons tool on Linux 3.0 systems.Remko Tronçon
Resolves: #961
2011-02-19Make Swift translatable.Remko Tronçon
2011-01-22Link against debug version of Qt on windows.Remko Tronçon
2010-03-28Moving submodule contents back.Remko Tronçon
2010-03-28Removing submodules.Remko Tronçon
2010-03-28Moved BuildTools to a separate module.Remko Tronçon
2010-03-28Removing BuildTools module.Remko Tronçon
2009-12-31Fix building on OS X using default Qt installation.Remko Tronçon
2009-08-10Fix SCons build on windows.Remko Tronçon
2009-08-10Migrated all configure flags to SCons.Remko Tronçon