summaryrefslogtreecommitdiffstats
path: root/src/core/config/mac_osx.pri
blob: e52051b0c8565f1e9f3f8afd2e9383cafac237d6 (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
48
49
50
51
52
53
54
55
56
57
58
59
60
include(common.pri)
load(functions)

# Reuse the cached sdk version value from mac/sdk.prf if available
# otherwise query for it.
QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion)
isEmpty(QMAKE_MAC_SDK_VERSION) {
     QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null")
     isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
}

QMAKE_CLANG_DIR = "/usr"
QMAKE_CLANG_PATH = $$eval(QMAKE_MAC_SDK.macx-clang.$${QMAKE_MAC_SDK}.QMAKE_CXX)
!isEmpty(QMAKE_CLANG_PATH) {
    clang_dir = $$clean_path("$$dirname(QMAKE_CLANG_PATH)/../")
    exists($$clang_dir): QMAKE_CLANG_DIR = $$clang_dir
}

QMAKE_CLANG_PATH = "$${QMAKE_CLANG_DIR}/bin/clang++"
message("Using clang++ from $${QMAKE_CLANG_PATH}")
system("$${QMAKE_CLANG_PATH} --version")


use?(gn) {
    gn_args += \
        is_clang=true \
        use_sysroot=false \
        use_kerberos=false \
        clang_base_path=\"$${QMAKE_CLANG_DIR}\" \
        clang_use_chrome_plugins=false \
        mac_deployment_target=\"$${QMAKE_MACOSX_DEPLOYMENT_TARGET}\" \
        mac_sdk_min=\"$${QMAKE_MAC_SDK_VERSION}\"

    use?(spellchecker) {
        use?(native_spellchecker): gn_args += use_browser_spellchecker=true
        else: gn_args += use_browser_spellchecker=false
    } else {
        macos: gn_args += use_browser_spellchecker=false
    }

} else {
    GYP_CONFIG += \
        qt_os=\"mac\" \
        mac_sdk_min=\"$${QMAKE_MAC_SDK_VERSION}\" \
        mac_deployment_target=\"$${QMAKE_MACOSX_DEPLOYMENT_TARGET}\" \
        make_clang_dir=\"$${QMAKE_CLANG_DIR}\" \
        clang_use_chrome_plugins=0

    # Force touch API is used in 49-based Chromium, which is included starting with 10.10.3 SDK, so we
    # disable the API usage if the SDK version is lower.
    !isMinOSXSDKVersion(10, 10, 3): GYP_CONFIG += disable_force_touch=1

    # Pass a supported -fstack-protect flag depending on Xcode version.
    lessThan(QMAKE_XCODE_VERSION, 6.3) {
      GYP_CONFIG += use_xcode_stack_protector_strong=0
    }

    QMAKE_MAC_SDK_PATH = "$$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.path)"
    exists($$QMAKE_MAC_SDK_PATH): GYP_CONFIG += mac_sdk_path=\"$${QMAKE_MAC_SDK_PATH}\"
}