summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/mac/default_post.prf
blob: da3e22b5f3b19326b8c52a518379fdacc6a94348 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
load(default_post)
!no_objective_c:CONFIG += objective_c

qt:!isEmpty(QT_CONFIG) {
    # Pick a suitable default architecture for qmake-based applications.
    # If the Qt package contains one of x86 and x86_64, pick that one. If it
    # contains both then use the compiler default. Make a similar decision for
    # PowerPC-based systems. Note that this logic assumes that Qt has been
    # configured with an architecture that is usable on the system.
    contains(QMAKE_HOST.arch, ppc)|contains(QMAKE_HOST.arch, "Power Macintosh") {
        !contains(QT_CONFIG, ppc64):contains(QT_CONFIG, ppc):CONFIG += ppc
        contains(QT_CONFIG, ppc64):!contains(QT_CONFIG, ppc):CONFIG += ppc64
    } else {
        !contains(QT_CONFIG, x86_64):contains(QT_CONFIG, x86):CONFIG += x86
        contains(QT_CONFIG, x86_64):!contains(QT_CONFIG, x86):CONFIG += x86_64
    }

    contains(QT_CONFIG, static) {
        # C++11 support means using libc++ instead of libstd++. As the
        # two libraries are incompatible we need to ensure the end user
        # project is built using the same C++11 support/no support as Qt.
        contains(QT_CONFIG, c++11) {
            CONFIG += c++11
        } else: c++11 {
            warning("Qt was not built with C++11 enabled, disabling feature")
            CONFIG -= c++11
        }

        !c++11 {
            # Explicitly use libstdc++ if C++11 support is not enabled,
            # as otherwise the compiler will choose the standard library
            # based on the deployment target, which for iOS 7 and OS X 10.9
            # is libc++, and we can't mix and match the two.
            QMAKE_CXXFLAGS += -stdlib=libstdc++
            QMAKE_LFLAGS   += -stdlib=libstdc++
        }
    }
}

cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
cache(QMAKE_XCODE_VERSION, stash)

QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()

# Ensure that we process sdk.prf first, as it will update QMAKE_CXX
# and friends that other features/extra compilers may depend on.
sdk: load(sdk)