Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
This removes Snarl from 3rdParty, our adapter to it in
SwifTools and the integration in Swift UI.
Test-Information:
Builds and installer still work on Windows 8. Standard
system tray balloon notifications still work.
Change-Id: Id580642932eac260c79eaf2343a94ec9d5606f11
|
|
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
|
|
See DEVELOPMENT.md for instructions.
Test-Information:
Tested using a self-signed code signing certificate created
using Keychain Access.app.
Compared the output of 'codesign -vvv -d' on Swift.app with
preinstall apps. The output looks much the same except for
the signing authority.
Change-Id: Idbb3209ad917091c371ced61ec8a77e3e5d18884
|
|
This removes support for user dictionaries for now. The new
UI shows a list human readable languages (in their native
spelling) where the user can select one to use for spell
checking.
Updated our InstallSwiftDependencies.sh based on the package
names in their repositories.
Test-Information:
Tested on Ubuntu 16.04 with Hunspell and tested it still
builds on OS X 10.11.4.
Did not test InstallSwiftDependencies.sh.
Change-Id: I24fc705b1495f7c39a8da149cbd7116e41609998
|
|
Test-Information:
Unit and integration tests pass with system libs on Debian 8.5.
Change-Id: Ibcf7a1e07071d5de10c9d99c9b38e67b747f45eb
|
|
This changes HippoMocks include to -isystem include so it will
not cause compiler warnings.
This changes UserLocation floating point values to double and
remove remaining numerical casts.
Change C++11 compiler test to not cause warnings.
Test-Information:
Builds with allow_warnings=0 on OS X 10.11.5 with Xcode clang.
Change-Id: I26c60265a86c9be656089ade63fe9ad63851580f
|
|
This warning is generated when symbol names exceed a character
limit. This can happen fast with layered C++ templates.
Test-Information:
Tested with Visual Studio 2013 that the warning is not issued
anymore when building BoostConnectionTest.
Change-Id: I21c1e37ed6306f2da92dc7f78a1c16f26db0daf2
|
|
Test-Information:
Build failed correctly on error on Windows 8 with Visual
Studio 2013.
Change-Id: I1afc7a8a4cf0449057959638709c80c7ded8a5a6
|
|
Test-Information:
Test that it still builds and unit test pass on OS X 10.11.4.
Change-Id: I2eb4a0b707991aee553db36a8cd1ae28b813acab
|
|
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
|
|
Converted relevant SCons files from hard tabs to space based
indentation with 4 spaces width.
Test-Information:
Tested that build failed with misconfigured OpenSSL backend
(providing tls_backend=openssl on OS X and no information on
where to find it).
Tested that build succeeds on OS X 10.11.4.
Change-Id: I17f85ca3194f100f63361a8c94667d7aa76e811a
|
|
This enables building on Gentoo.
Test-Information:
A user successfully built with this patch and both Qt4 and Qt5
installed.
Change-Id: I81ada408d34208bbba22d30de5f4ecd0060e223f
|
|
The signals library is still called signals and not signals2.
Test-Information:
Builds and unit tests pass on Debian 8.4 with system GCC.
Change-Id: I1d1b3f6bade979bc8a181915176b84be0ddf6597
|
|
Just pass distcc=1 and set cxx=distcc clang++ and
cc=distcc clang and use an appropriate parallelization
argument (-j).
Converted hard tabs to spaces in the process.
Test-Information:
Used distcc with -j 10 to build the whole Swift project with
unit tests in 13 minutes across 2 hosts.
Change-Id: Ib6b63b5079872632a11c0fd28eb90b8901b956df
|
|
Boost.Signals was deprecated and is not improved further.
This patch removes Boost.Signals from 3rdParty and adds
Boost.Signals2 and its dependencies.
Also removed the Qt signals compatibility file
Swiften/Base/boost_bsignals.h.
Test-Information:
Build and ran unit tests on OS X 10.11.4. Confirmed successful
login using Swift client.
Change-Id: Ie6e3b2d15aac2462cda95401582f5287a479fb54
|
|
Added a SCons compiler test so that the build process fails
early if C++11 is not supported.
Remove C++11 checks as we now default to C++11 and they are
not needed anymore.
Ignore a Clang warning if building 3rdParty Boost.
Test-Information:
Tested build and unit tests on OS X 10.11.3.
Change-Id: Icbecbd1e25e8d8bbe5f402f75355373a86b5f8a1
|
|
This commit changes our TLS backend configuration behavior.
It introduces the tls_backend Scons argument, which defaults
to the native backend, but can also explicitly set to
'openssl' to use a project external OpenSSL installation or
'openssl_bundled' to build and configure with the OpenSSL
source in the 3rdParty directory.
Test-Information:
Tested on OS X 10.11.3.
./scons ends up using Secure Transport.
./scons tls_backend=openssl \
openssl_include=/usr/local/opt/openssl/include \
openssl_libdir=/usr/local/opt/openssl/lib \
openssl=/usr/local/opt/openssl successfully builds with
openssl from Homebrew.
./scons tls_backend=openssl_bundled successfully builds with
OpenSSL in 3rdParty.
Change-Id: I4fb0ef9d197609afe793554f86e54fe67fc1cab5
|
|
scons2ninja was broken since our last update to SCons in
3rdParty. This commit fixes it.
This also includes a workaround to AppBundle.py working
around an SCons encoding bug.
Test-Information:
Successfully run ./BuildTools/scons2ninja.py followed by
ninja.
Change-Id: I2f9dbbb33dc559ca339bb26ba11b885b39135011
|
|
Our Hunspell support has not been finished and thoroughly
tested yet. This commit disabled building with Hunspell
by default, even if the dependencies for it are installed
on the system.
Remove libhunspell-dev from the build depends in Debian
packaging.
Test-Information:
Tested on Debian 8.
Tested with and without the hunspell_enable=True flag.
With the spellchecking options are shown and however spell
checking is not stable.
Without it the spellchecking options are not shown and
spellchecking is disabled in general, as expected.
Change-Id: I100582852cbe128149fdb2e2a28d4ae407398be6
|
|
This will print errors like missing Qt linguist tools.
Test-Information:
Tested on Fedora 22 and OS X 10.11.3.
Change-Id: I0817f368920b839805597d8eb2f3297b1fbd90e6
|
|
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
|
|
Test-Information:
Tested on Debian 8 with system Boost packages.
Change-Id: Ice6a98dc8ba3f09502d79e704c3e1b744d829d5d
|
|
Even when using the OpenSSL TLS backend for Swiften secur32.lib is required by
Swiften/SASL/WindowsAuthentication.
This also adds additional flags needed to build a bundled OpenSSL on Windows.
Test-Information:
Tested on Windows 8 with VS 2013.
Change-Id: I51da79cfa7931c07c8da3f0c5d941a637ac26d0c
|
|
Updated documentation accordingly.
Test-Information:
Build and ran unit tests on OS X 10.11.2.
Change-Id: Iec4e82d3b63a6b0d24b854734879dd2fbfe17d79
|
|
Test-Information:
Tested build works with upcoming fixes with VS 2015
Community.
Change-Id: Ia4f78cc9efdae56ef78a2b7ae09f11fa1bd8bc37
|
|
Added integration tests for certificate validation and
revocation behavior checking.
Test-Information:
Tested client login over TLS against Prosody and M-Link.
Verified client certificate authentication works against
M-Link.
Change-Id: I6ad870f17adbf279f3bac913a3076909308a0021
|
|
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
|
|
At some point during the Qt5 timeline they moved platform
dependent audio playback code into a plugin. This fix will
ensure that audio plugins are always shipped with out packages.
Test-Information:
Tested playing sound works on Windows 7 and Windows 8.
Change-Id: I8976f1c1fb85d5efaadec5db26adec907a0a9f7b
|
|
Running './scons check_headers=1 will compile each header file
as an object file.
Test-Information:
Tested on OS X 10.9.5 and Elementary OS 0.2.
Change-Id: Ia429ccc6dc0a5bd76c08a2c2e91bf192c6ad2901
|
|
Introducing SWIFT_NETWORK_TEST_IPV4 and SWIFT_NETWORK_TEST_IPV6 for
the host addresses used in BoostConnectionTest.cpp.
Passing these variables and ASAN/LSAN_OPTIONS for memory leak
detection when calling the test from SCons.
Test-Information:
Tested on Elementary OS with correct available hosts and unavailable
hosts. In both cases the behavior is the same as before.
Change-Id: I24128c766642c5a2ee273f7c11624525ae33e270
|
|
Test-Information:
Tested on Elementary OS 0.2.
Change-Id: Ieae4fc2a2c6fdfaaac9895153b09c9504ef71495
|
|
Test-information:
Tested on Windows using WIP GSSAPI code.
Unit tests pass.
Change-Id: If872863d6a8b5a164f8ebec4f88e9939b4e73c62
|
|
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
|
|
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
|
|
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
|
|
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
|
|
By default cl.exe writes debug info to a static file name resulting
in all cl.exe trying to write to the same file when using parallel
builds.
This leads to race conditions and can have parallel builds fail.
This only takes effect if parallel builds are made by scons.
Test-Information:
Tested with VS 2013.
Change-Id: I8ea7e9370f5b149ded608e4c6f5e66a3fc6301c4
|
|
Test-Information:
Tested on FreeBSD 10.0.
Change-Id: Ic1c8a1637f0fbc9128973b41d6988a8afd61e387
|
|
Test-Information:
Verified that SCons still runs on OS X.
Change-Id: I7e9b97f90ee5581a691a959b6f2c999d93e0be53
|
|
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
|
|
Test-Information:
Tested with Qt 5.3.2 and Qt 5.4.1 from qt.io website.
Change-Id: Iada3e64e530d8a5b53b8b5c8943bcafbd9bd6c64
|
|
Test-Information:
Tested behavior on Elementary OS 0.2.1.
Change-Id: I887b85b78bfe5210844e0ea31f496fdbc8c21fa0
|
|
Test-Information:
Tested behavior on Elementary OS 0.2.1.
Change-Id: Icc0611181fbf7dbe22d6c0c8cb18be9c1cdbc138
|
|
Test-Information:
Verified with Clang 3.7.0 on OS X.
Change-Id: I345ef288163214288d41c3980c8e67529db0657d
|
|
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
|
|
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
|
|
Test-Information:
Tested on OS X 10.9.5 with Clang 3.7.0.
Change-Id: Ic3a5ec77ca488c1688da35f75dd7424f8f59784b
|
|
Previously every time WiX heat.exe ran it generated new GUIDs for all
the file components that MSI was going to install. Windows installer
deletes components if there is no software/component left that is
referencing it.
This patch uses the -ag flag instead of the -gg flag for heat.exe so
it will generate deterministic GUIDs based on the filename and other
things instead of completely random new one on each run.
In addition we schedule the upgrade to run after the new version has
been installed. This way old files are first replaced with the new
ones, shortcuts remain and are not deleted, pinned shortcuts remain
usable. Afterwards MSI uninstalls the old version, specifically the
components that are not reference anymore.
Test-Information:
Tested (a) two version upgrade with this patch and (b) an upgrade from
a version without this patch to a version with this patch.
a) The upgrade works as expected. MSI installs the new version and then
uninstalls the old version. The pinned shortcut stays alive and works.
b) In this case during the deinstallation files of the new installation
are deleted, since there are two components with different GUIDs which
however use the same filenames.
Running a repair on this installation, or first deinstalling the old
version and then the new one manually fixes this.
Change-Id: I842a288d837962e77efaa15b17d3877e923c7e49
|