Age | Commit message (Collapse) | Author |
|
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
|
|
This patch handles a case where some of the files used to generate COPYING,
were containing unicode strings, which could lead to a failure when building
sid package. The code now will check the type of the string before writing to
the file, and if needed it will transform it to the appropriate format.
Test-Information:
Generated the sid package with package_all_platforms script with no problems.
Created a debian sid box and tested the installation of the generated
packages. Validated the output generated in Windows 10 and Ubuntu 16.04 builds
through the "About" dialog in Swift.
Change-Id: I05e518b758f316d9fbf23c1079be5a462e75106c
|
|
Qt's windeployqt tool does not know about QtWebKit's dependencies,
as it is not shipped together anymore and QtWebKit is not
maintained by the same maintainers as Qt anymore.
Test-Information:
With this patch ./scons dist=1 on Windows with latest
Qt 5.10 and QtWebKit 5.212.0 Alpha 2 creates a Swift/QtUI/Swift
directory with a running Swift.exe inside. Without this patch
Swift.exe crashes due to missing libxml2.dll and missing libxslt.dll.
Change-Id: I2f8e658bf417bde20648618bac19b1c148831e1e
|
|
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
|
|
This patch will allow the installer to perform per-user installations that
doesn't require elevated rights. If the Visual Studio prerequisites are
missing, the installer will ask the user if he wants to install them. If
the user chooses not to, the installer will deploy the necessary files in
the installation folder. Installations for all users (per machine) are
still available.
Upon upgrading in per-user installs from previous versions, the user can
still access the settings that were stored in the registry, but
not the settings stored in system-settings.xml.
Test-Information:
Build and tested with Wix3.11, Qt 5.8 and Visual Studio 2015 on Windows
10 and Windows 7.
Tested fresh install and upgrade, for per-machine and
per-user installations.
Tested the vcredist install and the dll deployment when the installation
is not present.
Verified that the installer uses the registry settings in per-user
installations.
Change-Id: I1879e2fb7ee347dab58852eb73d4ddddec15b35d
|
|
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
|
|
Furthermore extended the list of potential environment
variables based on what the qt4.py tool creates.
Fix for commit ed2226782ac15345aeb8e615b41d30e5aab67b51.
Test-Information:
Tested on Windows 8 with VS2013 with Qt 5.4.2 and on
macOS 10.12.4 with Qt 5.5.1.
Change-Id: Ib52084ca0e1505fe943c33fa74f479e360d834fe
|
|
googletest and googlemock from release 1.8.0 have been copied
to the 3rdParty folder.
With this commit tests for Swift project can also written
using googletest and googlemock APIs. The test runners will
execute test suites written to either test library.
Passing —-xml to a test runner will now create two test
report XML files, namely $programName-report.cppunit.xml and
$programName-report.gtest.xml.
The ByteArrayTest has been converted to use googletest
instead of googlemock to serve as an example and test the
integration.
Test-Information:
Build all tests via ‘./scons test=all’ and verified all tests
are run.
Build all tests via ‘./scons test=all checker_report=1’ and
verified that two report XML files are generated per test
runner executed.
Change-Id: I81a9fb2c7ea5612fc1b34eef70ed7e711bfeea81
|
|
This removes resource forks from our template disk image.
Add custom InstallWithSymLinks command that does behave
similar to the default env.Install command, however preserves
relative symbolic links inside an installed directory.
This is needed because the Sparkle.framework internally
uses symbolic links and codesign utility fails if these
links are replaced by copies of the original files.
Test-Information:
Verified dist=1 builds with and without code signing on macOS
10.12. Verified that on change of presence of the
codesign_identity SCons argument or its value, a new package
is build. If it does not change nothing is built again.
Change-Id: Iade94811b7d608cb7520662e2820be3b128ee90b
|
|
Test-Information:
Build Swift and verified that Info.plist inside Swift.app has
the updated year and copyright on macOS 10.12.
Change-Id: I84f921edf0b555a102dfb207d8fc3ee5f5f59eb9
|
|
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
|
|
Sparkle is configured to do silent automatic background
updates based on the provide appcast feed. When a new update
was downloaded and is ready to be installed Swift notifies
the user that they can restart to take advantage of the newly
available version.
Test-Information:
Setup a custom appcast feed with a newer Swift dev release.
Tested updating with Sparkle 1.14.0 binary release using DSA
keys and signatures. Did not test Sparkle update with code
signed Swift builds. Tested on macOS 10.12.
Change-Id: Idad461ec53963c80990e51a502cb6e28bc7b6b4e
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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: Icc0611181fbf7dbe22d6c0c8cb18be9c1cdbc138
|
|
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
|
|
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
|
|
createWindowsBundle implementation
Test-Information:
Did a clear rebuild with dist=1 and confirmed that it now starts the
WiX process after all dependencies are copied over.
Change-Id: Icbb9ec127b0d56e10f2620790f0fc6b6a29d5aa5
|
|
If windeployqt.exe is available for Qt5, it will be used to detect
which Qt DLLs to put in the Windows distribution and its dependencies
correctly.
Added a note to our Windows building documentation about the VS
redistributable.
Test-Information:
Tested building a MSI package on Windows 8.1 Pro with Qt 5.3.2 32-bit
msvc2013_opengl which successfully installs and runs.
Change-Id: I786da40d6467f1de8e64bfae275f8363ac1d5ba8
|
|
Includes fixes to:
Build with new Visual Studio and Boost
Avoid error caused when Avahi is present but Qt is not
Make declaration of XMPPRosterImpl::addContact consistent with implementation
Includes enhancements to:
Allow user-configurable mt.exe
Allow splitting openssl paths
Allow disabling gconf lookup
Make idn support optional
Allow disabling various library detections
Remove use of non-Python2.4 features in sconscripts
Test-Information:
Builds
Change-Id: Iee91ee80291a8bdf87cc169c915e4dad1cc1055b
|
|
projects
Change-Id: I173f42bfe2dde7d18be3d54976649aa1bac13dbf
|
|
Change-Id: Ib59fe1d9d71194f9b34b655ab817811d673c5187
|
|
Change-Id: I3791b31beb7a968901b33722a18771185e7aa61e
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
|
|
Change-Id: I1d74324515b20e0dc3d0ef4aa2f556fea7b4bee3
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.s
|
|
Change-Id: I9bff93b9bd9d81cec4143d0ba35a1045077e1e82
|
|
Change-Id: Icfcf31668a3bcba687885aab0e548a8b42c30773
|
|
Change-Id: I2d4de311e7d8c6909f6a35dbb650380e2b0b1da9
|
|
Change-Id: I62c7d5ca44c915e36c797c798294b7c34b465514
|
|
Change-Id: If7193006987fd86d102e5e17aac426ef1a6ccd83
|
|
Change-Id: I478e228f5c1ff082bebcc62e6e13a30d6c902c07
|
|
|
|
Added missing SWIFTEN_API declarations.
Changed test infrastructure to extend path before running
tests.
|
|
|