Commit Graph

120 Commits

Author SHA1 Message Date
Mikkel Krautz
35e58ebbaf Add CONFIG(unix)'s new SYSTEM_INCLUDES to CFLAGS and CXXFLAGS.
I mistakenly thought SYSTEM_INCLUDES was a qmake setting.

It isn't. So add the entries to CFLAGS and CXXFLAGS ourselves.
2015-07-11 20:44:19 +02:00
Mikkel Krautz
81bc94c9aa Add $MUMBLE_PREFIX/include and $MUMBLE_PREFIX/lib when in a build env in CONFIG(unix) builds.
Previously, they would only be added by accident via PKGCONFIG.

Moving the Protobuf-related things into mumble_proto revealed this,
as it broke the build for Unix-like systems.

This commit should let mumble_proto find protobuf in the build env,
and unbreak the build.
2015-07-11 20:04:27 +02:00
Jamie Fraser
7e4639c580 Add rules to compiler.pri to fix FreeBSD builds w/ Qt5 2015-06-05 12:10:03 +02:00
Mikkel Krautz
faddfda5f8 Remove old "non-tagged" Boost include directories.
The default Boost installation paradigm for non-Unix boxes
is to install Boost into your include directory with a version
attached. For example:

    include/boost-1_49/boost

However, it is also possible to install Boost in a more traditional
manner, such that it simply lives in include/boost, instead of having
a version attached -- this is called a tagged installation, and
is triggered via 'b2 --layout=tagged'.

All of our build environments use tagged Boost installations, and thus
we can avoid the embedded versions now that we have transitioned to
using build environments from mumble-releng.

While we don't necessarily want to force the build environments
from mumble-releng on people, the versioned includes are a bad idea
in the first place, because they require constant maintenance.

Nothing prevents people from adding a non-tagged include themselves,
if that is what their home-grown build environment uses.
2015-06-05 10:00:04 +02:00
Stefan Hacker
15fbe1d72f Remove ICC support and some VC10 workarounds
We do not plan on using ICC to build mumble now or in the
foreseeable future. Hence this patch drops it.

It also removes some backwards compatibility code that
worked around bad C compatibility with VC10 mostly
related to math header usage.
2015-05-15 10:10:34 +02:00
Stefan Hacker
bf2a2cd67c Add /Zo to release flags for improved optimized build debugging
Updated compiler.pri to make use of the new /Zo
option to improve our debugging capabilities on optimized
builds. This flag is officially supported since
Visual Studio 2013 Update 3.
2015-05-15 10:10:20 +02:00
Stefan Hacker
f6e17feace Drop support for VC10 by updating compiler.pri for VC12 default flags
This patch updates the compiler flags under the assumption
of us using VC12. This mostly consists of dropping flags
this compiler already set by default as well as removing
a conditional. This might even still build from this point
on VC10 support is considered to be dropped.
2015-05-15 10:01:54 +02:00
Mikkel Krautz
4a478f7f04 Add force-x86-toolchain and force-x86_64-toolchain to compiler.pri.
These CONFIG options allow a .pro file to select which toolchain
its target should be built with.

To force a target to always be built for x86 (in both x86 and
x86_64 build environments), set CONFIG+=force-x86-toolchain.

The same thing is possible with force-x86_64-toolchain.
2015-04-22 21:03:37 +02:00
Mikkel Krautz
c9f476c57c compiler.pri: only set explicit -ARCH:SSE for Windows x86. 2014-12-30 22:55:43 +01:00
Mikkel Krautz
4d55c33e47 compiler.pri: use explicit subsystem versioning for Windows builds. 2014-12-30 22:26:41 +01:00
Mikkel Krautz
d2dbfedf19 Remove -Zc:strictStrings flag that Qt 5.4 adds when using MSVS 2013. 2014-12-24 12:49:09 +01:00
Mikkel Krautz
c31269ad67 Make Mumble and Murmur build on Windows/amd64. 2014-07-13 13:32:41 +02:00
Mikkel Krautz
af37749046 compiler.pri: explicitly specify -ARCH:SSE for MSVS 2012 and 2013.
The C++ compiler in these versions os Visual Studio default to
generating SSE2 code, unless this is overridden with /ARCH.
2014-04-04 00:57:29 +02:00
Mikkel Krautz
724d9e9855 compiler.pri: explicitly target Windows XP when specifying output binary's subsystem.
MSVS 2012 and 2013 default to outputting binaries that require Vista or greater.
2014-04-04 00:57:29 +02:00
Mikkel Krautz
90963a1b21 compiler.pri: tweak OS X SDK detection when building with Qt 4.
In Xcode 5, the xcrun tool includes a --show-sdk-path parameter
which, as the name implies, can be used to query the system for
a usable OS X SDK path. However, xcrun in Xcode 4 does *not*
include this parameter.

We used this parameter unconditionally, which lead to failures
when using building against Qt 4 when using Xcode 4.

This change modifies the SDK selection code to first attempt to
query for the OS X sdk using the --show-sdk-path parameter. If
that fails, we try to fall back to using a 10.8 SDK living in
a DEVELOPER_DIR found via xcode-select --print-path. If that
doesn't exist either, we warn the user and abort the build.

This should allow people to build Mumble on most systems without
having to resort to manual .pro file editing.
2014-02-08 12:56:41 +01:00
Mikkel Krautz
d59a3b1301 compiler.pri: use default OS X SDK instead of hard-coding it.
For Qt 5, we simply use 'macosx'. For Qt 4, we query via 'xcrun',
just like Qt 5 does under the covers.

This allows us to avoid changing the hard-coded OS X SDK every time
a new SDK is released. As long as Xcode is up-to-date, we'll build
with the new SDK automatically.
2013-10-20 22:28:51 +02:00
Mikkel Krautz
6c7e0e3152 compiler.pri: allow version-less Boost to be used on Windows.
This allows Mumble to build with Boost that has been
configured with the --layout=tagged or --layout=system
options.

The win32-static build environment uses this kind of
Boost install.

This means we'll be able to keep Boost up-to-date without
modifying compiler.pri each time.
2013-08-25 23:15:46 +02:00
Mikkel Krautz
c9f46b89ff compiler.pri: use short-form OS X SDKs for Qt 5. 2013-08-02 14:54:35 +02:00
Mikkel Krautz
d848af97c0 compiler.pri: update to Boost 1.54.0 on OS X. 2013-08-02 14:53:55 +02:00
Mikkel Krautz
9f62921e14 mumble: Qt 5 support for OS X. 2013-06-29 16:56:41 +02:00
Stefan Hacker
8b74d4bb6c Make analyze config option also apply to release builds 2012-12-27 18:22:29 +01:00
Stefan Hacker
0d825b3879 WASAPINotificationClient singleton initialization wasn't threadsafe.
* Implementation relied on local static variable initialization being
  threadsafe which is not the case before C++11.
* To retain lazy initialization now using boost::call_one() to force
  thread-safe first get()
* This adds a non header dependency to boost::threads for the windows
  build.
2012-12-24 01:55:52 +01:00
Mikkel Krautz
ea221f30ab compiler.pri: add CONFIG=clang-analyzer for the clang-checker slave. 2012-12-22 22:39:07 +01:00
Mikkel Krautz
e8a28dce9c compiler.pri: Update OS X Boost to 1.51.0. 2012-09-15 14:27:00 +02:00
Mikkel Krautz
a0b3706125 compiler.pri: fix mistakes from previous commit; use QMAKE_OBJECTIVE_C(XX)FLAGS for ObjC-flags. 2012-08-19 11:15:20 +02:00
Mikkel Krautz
beea3015a6 compiler.pri: cleanup -isystem includes, fix ObjC/ObjC++ FLAGS. 2012-08-18 20:19:04 +02:00
Mikkel Krautz
f102f56583 compiler.pri: mark all external library include paths as system paths to suppress warnings. 2012-08-18 15:28:49 +02:00
Mikkel Krautz
cfa5125956 Boost 1.50.0 for OS X. 2012-08-05 00:49:12 +02:00
Mikkel Krautz
5e4c61cc02 OS X: use clang++ for QMAKE_CXX. 2012-07-11 13:28:40 +02:00
Mikkel Krautz
105c72eef7 OS X: update build for Xcode 4.4. 2012-07-11 13:21:24 +02:00
Thorvald Natvig
4653fd8e3d Upgrade boost 2012-04-29 23:24:07 +02:00
Mikkel Krautz
fa9aed87b5 OS X: Update compiler.pri to new Lion toolchain 2012-02-18 01:46:05 +01:00
Mikkel Krautz
133a83f983 Build fixes for universal OS X. 2012-01-11 19:02:45 +01:00
Mikkel Krautz
53cd8e4b1b Update Boost version for OS X. 2011-08-14 12:09:44 +02:00
Stefan Hacker
b05dc717c9 Make vld an explicit, default off, option instead of implicit default 2011-08-05 23:59:55 +02:00
Stefan Hacker
d31b33dc61 Updated boost to 1.47 2011-07-29 01:08:49 +02:00
Mikkel Krautz
e9cfd217dd Add build configuration for compiling on Lion. 2011-06-17 16:25:01 +02:00
Thorvald Natvig
d0f075e36b Add quiet-build-log config option 2011-05-15 14:57:59 -07:00
Thorvald Natvig
1550415a16 Use installation default paths and stop being difficult 2011-05-04 17:56:21 -07:00
Stefan Hacker
7bdd779ec7 Update boost to 1.46.1 2011-03-19 00:51:30 +01:00
Thorvald Natvig
973790fc19 Update win32 build paths 2011-03-12 15:45:14 -08:00
Mikkel Krautz
b8cb9d0d53 Update Boost path for OSX to 1.45.0. 2010-11-28 23:49:45 +01:00
Thorvald Natvig
84884ba4cd Boost 1.45 2010-11-24 20:22:35 -08:00
Stefan Hacker
ca23daf003 Add no-vld and no-plugin qmake flags 2010-11-15 11:59:40 +01:00
Stefan Hacker
d84fa5d7fc Add a winpaths_default.pri to contain all windows dependency paths and make them easily overridable by a custom winpaths_custom.pri 2010-10-21 22:51:27 +02:00
Mikkel Krautz
433c5f62b3 Use QT_MAC_USE_COCOA instead of MACOSX_UNIVERSAL_BUILD. Fix universal build. 2010-08-22 22:52:16 +02:00
Thorvald Natvig
81f9d9fcd2 Boost 1.44 2010-08-19 16:13:27 +02:00
Mikkel Krautz
11edcd6832 Bump Boost to 1.44.0 for OSX. 2010-08-18 23:34:42 +02:00
Thorvald Natvig
ff4783858c SSE2 build using MSVC 2010-08-11 22:35:41 +02:00
Mikkel Krautz
41cdc04b31 Diable overlay for universal Mac OS X builds. 2010-07-30 16:26:35 +02:00