mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 23:05:36 +08:00
211 lines
5.3 KiB
Plaintext
211 lines
5.3 KiB
Plaintext
# Copyright (C) 2015
|
|
# swift project Community / Contributors
|
|
#
|
|
# This file is part of swift project. It is subject to the license terms in
|
|
# the LICENSE file found in the top-level directory of this distribution and
|
|
# at http://www.swift-project.org/license.html. No part of swift project,
|
|
# including this file, may be copied, modified, propagated, or distributed
|
|
# except according to the terms contained in the LICENSE file.
|
|
|
|
################################
|
|
# Version number
|
|
################################
|
|
|
|
include(version.pri)
|
|
|
|
!win32 {
|
|
VER_MAJ = $${BLACK_VER_MAJ}
|
|
VER_MIN = $${BLACK_VER_MIN}
|
|
VER_PAT = $${BLACK_VER_PAT}
|
|
VERSION = $${BLACK_VERSION}
|
|
}
|
|
|
|
################################
|
|
# Destination tree
|
|
################################
|
|
|
|
CONFIG(debug, debug|release): DestRoot = $$DestRootDebug
|
|
else: DestRoot = $$DestRootRelease
|
|
|
|
################################
|
|
# Build configuration
|
|
################################
|
|
|
|
include(config.pri)
|
|
|
|
################################
|
|
# QMake options
|
|
################################
|
|
|
|
CONFIG += qt
|
|
CONFIG += warn_on
|
|
CONFIG += c++14
|
|
|
|
################################
|
|
# Detect 32 or 64 bit
|
|
################################
|
|
|
|
include(wordsize.pri)
|
|
|
|
################################
|
|
# Multithreaded build in VS IDE
|
|
################################
|
|
|
|
contains(TEMPLATE, "vc.*"): QMAKE_CXXFLAGS *= /MP
|
|
|
|
################################
|
|
# Profile build
|
|
################################
|
|
|
|
contains(BLACK_CONFIG, ProfileRelease) {
|
|
msvc {
|
|
QMAKE_CXXFLAGS_RELEASE *= /Zi
|
|
QMAKE_LFLAGS_RELEASE *= /DEBUG /PROFILE /INCREMENTAL:NO /OPT:REF /OPT:ICF
|
|
}
|
|
}
|
|
|
|
################################
|
|
# Workaround C1128 error
|
|
################################
|
|
|
|
msvc:!llvm: QMAKE_CXXFLAGS *= /bigobj
|
|
|
|
################################
|
|
# No gigantic MinGW obj files
|
|
################################
|
|
|
|
win32-g++: QMAKE_CXXFLAGS_DEBUG += -Og
|
|
|
|
################################
|
|
# FSX, P3D or FS9 on 32bit Windows only
|
|
################################
|
|
|
|
equals(WORD_SIZE,64)|!win32: BLACK_CONFIG -= FSX FS9 P3D
|
|
|
|
################################
|
|
# For BlackMisc::getStackTrace
|
|
################################
|
|
|
|
linux-g++: QMAKE_LFLAGS_DEBUG *= -rdynamic
|
|
|
|
################################
|
|
# Suppress stupid warnings
|
|
################################
|
|
|
|
include(warnings.pri)
|
|
|
|
################################
|
|
# Handle addresses larger than 2GB
|
|
################################
|
|
|
|
equals(WORD_SIZE,32) {
|
|
win32-g++: QMAKE_LFLAGS *= -Wl,--large-address-aware
|
|
}
|
|
|
|
################################
|
|
# Path to external dependencies
|
|
################################
|
|
|
|
# If you want to manually set the external path, uncomment the following line
|
|
# EXTERNALSROOT = /path/to/externals
|
|
|
|
isEmpty(EXTERNALSROOT) {
|
|
EXTERNALSROOT = $$(SWIFT_EXTERNALS_DIR)
|
|
}
|
|
|
|
isEmpty(EXTERNALSROOT) {
|
|
EXTERNALSROOT = $$SourceRoot/externals
|
|
}
|
|
|
|
!exists("$$EXTERNALSROOT/common/include") {
|
|
error("Could not find externals in $${EXTERNALSROOT}. Please install them!")
|
|
}
|
|
|
|
################################
|
|
# Externals
|
|
################################
|
|
|
|
EXTERNALS_SPEC = $$basename(QMAKESPEC)
|
|
msvc {
|
|
clang_cl: EXTERNALS_SPEC = win32-msvc2015
|
|
win32-msvc2017: EXTERNALS_SPEC = win32-msvc2015
|
|
win32-msvc {
|
|
# From Qt 5.8.1 onwards, QMAKESPEC is win32-msvc without the version number
|
|
# see https://codereview.qt-project.org/#/c/162754/
|
|
lessThan(MSVC_VER, 14.0) | greaterThan(MSVC_VER, 15.0) {
|
|
error(This version of Visual Studio is not supported (MSVC_VER = $$MSVC_VER))
|
|
}
|
|
EXTERNALS_SPEC = win32-msvc2015
|
|
}
|
|
}
|
|
|
|
INCLUDEPATH *= $$EXTERNALSROOT/common/include
|
|
INCLUDEPATH *= $$EXTERNALSROOT/$$EXTERNALS_SPEC/include
|
|
INCLUDEPATH *= $$EXTERNALSROOT/common/include/crashpad
|
|
INCLUDEPATH *= $$EXTERNALSROOT/common/include/mini_chromium
|
|
|
|
equals(WORD_SIZE,64) {
|
|
EXTERNALS_BIN_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/bin64
|
|
EXTERNALS_LIB_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/lib64
|
|
}
|
|
equals(WORD_SIZE,32) {
|
|
EXTERNALS_BIN_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/bin32
|
|
EXTERNALS_LIB_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/lib32
|
|
}
|
|
|
|
LIBS *= -L$$EXTERNALS_LIB_DIR
|
|
macx: LIBS *= -F$$EXTERNALS_LIB_DIR
|
|
win32: LIBS *= -luser32
|
|
|
|
INCLUDEPATH *= $$EXTERNALDIR/common/include
|
|
|
|
################################
|
|
# Includes
|
|
################################
|
|
|
|
INCLUDEPATH *= $$BuildRoot/src
|
|
|
|
################################
|
|
# Platform extensions
|
|
################################
|
|
|
|
isEmpty(QMAKE_EXTENSION_SHLIB) {
|
|
mac|ios: QMAKE_EXTENSION_SHLIB = dylib
|
|
else:win*: QMAKE_EXTENSION_SHLIB = dll
|
|
else: QMAKE_EXTENSION_SHLIB = so
|
|
}
|
|
|
|
isEmpty(QMAKE_EXTENSION_EXE) {
|
|
win32: QMAKE_EXTENSION_EXE = exe
|
|
}
|
|
|
|
################################
|
|
# Install prefix
|
|
################################
|
|
|
|
isEmpty(PREFIX) {
|
|
PREFIX = $$BuildRoot/dist
|
|
}
|
|
|
|
################################
|
|
# Debug Suffix
|
|
################################
|
|
|
|
win32: CONFIG(debug, debug|release): DLL_DEBUG_SUFFIX = d
|
|
|
|
################################
|
|
# Experimental support for Clang on Windows
|
|
################################
|
|
|
|
clang_cl {
|
|
QMAKE_CXXFLAGS ~= s/-fms-compatibility-version=.+/
|
|
QMAKE_CXXFLAGS += -fms-compatibility-version=19.00.24210
|
|
|
|
# QtCreator ships with a version of clang-cl,
|
|
# but we want to use the one in PATH instead.
|
|
system($$(SYSTEMROOT)\system32\where /q clang-cl) {
|
|
QMAKE_CC = $$system($$(SYSTEMROOT)\system32\where clang-cl)
|
|
QMAKE_CXX = $$QMAKE_CC
|
|
}
|
|
}
|