mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-27 02:55:44 +08:00
refs #802 Enable build with Clang on Windows.
This commit is contained in:
committed by
Klaus Basan
parent
95bfff36b0
commit
10ca2026a9
@@ -68,7 +68,7 @@ contains(BLACK_CONFIG, ProfileRelease) {
|
||||
# Workaround C1128 error
|
||||
################################
|
||||
|
||||
msvc: QMAKE_CXXFLAGS *= /bigobj
|
||||
msvc:!llvm: QMAKE_CXXFLAGS *= /bigobj
|
||||
|
||||
################################
|
||||
# No gigantic MinGW obj files
|
||||
@@ -123,18 +123,21 @@ isEmpty(EXTERNALSROOT) {
|
||||
# Externals
|
||||
################################
|
||||
|
||||
clang_cl: EXTERNALS_SPEC = win32-msvc2015
|
||||
else: EXTERNALS_SPEC = $$basename(QMAKESPEC)
|
||||
|
||||
INCLUDEPATH *= $$EXTERNALSROOT/common/include
|
||||
INCLUDEPATH *= $$EXTERNALSROOT/$$basename(QMAKESPEC)/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/$$basename(QMAKESPEC)/bin64
|
||||
EXTERNALS_LIB_DIR = $$EXTERNALSROOT/$$basename(QMAKESPEC)/lib64
|
||||
EXTERNALS_BIN_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/bin64
|
||||
EXTERNALS_LIB_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/lib64
|
||||
}
|
||||
equals(WORD_SIZE,32) {
|
||||
EXTERNALS_BIN_DIR = $$EXTERNALSROOT/$$basename(QMAKESPEC)/bin32
|
||||
EXTERNALS_LIB_DIR = $$EXTERNALSROOT/$$basename(QMAKESPEC)/lib32
|
||||
EXTERNALS_BIN_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/bin32
|
||||
EXTERNALS_LIB_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/lib32
|
||||
}
|
||||
|
||||
LIBS *= -L$$EXTERNALS_LIB_DIR
|
||||
@@ -176,3 +179,19 @@ isEmpty(PREFIX) {
|
||||
################################
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,10 +8,10 @@ unix:!macx {
|
||||
|
||||
blackgui {
|
||||
contains(BLACK_CONFIG, Static) {
|
||||
win32-msvc*: PRE_TARGETDEPS += $$DestRoot/lib/blackgui.lib
|
||||
win32:msvc: PRE_TARGETDEPS += $$DestRoot/lib/blackgui.lib
|
||||
else: PRE_TARGETDEPS += $$DestRoot/lib/libblackgui.a
|
||||
} else {
|
||||
win32-msvc*: PRE_TARGETDEPS += $$DestRoot/lib/blackgui.lib
|
||||
win32:msvc: PRE_TARGETDEPS += $$DestRoot/lib/blackgui.lib
|
||||
win32-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackgui.a
|
||||
linux-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackgui.so
|
||||
macx-clang: PRE_TARGETDEPS += $$DestRoot/lib/libblackgui.dylib
|
||||
@@ -22,10 +22,10 @@ blackgui {
|
||||
|
||||
blackcore {
|
||||
contains(BLACK_CONFIG, Static) {
|
||||
win32-msvc*: PRE_TARGETDEPS += $$DestRoot/lib/blackcore.lib
|
||||
win32:msvc: PRE_TARGETDEPS += $$DestRoot/lib/blackcore.lib
|
||||
else: PRE_TARGETDEPS += $$DestRoot/lib/libblackcore.a
|
||||
} else {
|
||||
win32-msvc*: PRE_TARGETDEPS += $$DestRoot/lib/blackcore.lib
|
||||
win32:msvc: PRE_TARGETDEPS += $$DestRoot/lib/blackcore.lib
|
||||
win32-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackcore.a
|
||||
linux-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackcore.so
|
||||
macx-clang: PRE_TARGETDEPS += $$DestRoot/lib/libblackcore.dylib
|
||||
@@ -47,10 +47,10 @@ blacksound {
|
||||
|
||||
blackinput {
|
||||
contains(BLACK_CONFIG, Static) {
|
||||
win32-msvc*: PRE_TARGETDEPS += $$DestRoot/lib/blackinput.lib
|
||||
win32:msvc: PRE_TARGETDEPS += $$DestRoot/lib/blackinput.lib
|
||||
else: PRE_TARGETDEPS += $$DestRoot/lib/libblackinput.a
|
||||
} else {
|
||||
win32-msvc*: PRE_TARGETDEPS += $$DestRoot/lib/blackinput.lib
|
||||
win32:msvc: PRE_TARGETDEPS += $$DestRoot/lib/blackinput.lib
|
||||
win32-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackinput.a
|
||||
linux-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackinput.so
|
||||
macx-clang: PRE_TARGETDEPS += $$DestRoot/lib/libblackinput.dylib
|
||||
@@ -69,10 +69,10 @@ blackinput {
|
||||
|
||||
blackmisc {
|
||||
contains(BLACK_CONFIG, Static) {
|
||||
win32-msvc*: PRE_TARGETDEPS += $$DestRoot/lib/blackmisc.lib
|
||||
win32:msvc: PRE_TARGETDEPS += $$DestRoot/lib/blackmisc.lib
|
||||
else: PRE_TARGETDEPS += $$DestRoot/lib/libblackmisc.a
|
||||
} else {
|
||||
win32-msvc*: PRE_TARGETDEPS += $$DestRoot/lib/blackmisc.lib
|
||||
win32:msvc: PRE_TARGETDEPS += $$DestRoot/lib/blackmisc.lib
|
||||
win32-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackmisc.a
|
||||
linux-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackmisc.so
|
||||
macx-clang: PRE_TARGETDEPS += $$DestRoot/lib/libblackmisc.dylib
|
||||
@@ -85,7 +85,7 @@ blackmisc {
|
||||
}
|
||||
|
||||
blackconfig {
|
||||
win32-msvc*: PRE_TARGETDEPS += $$DestRoot/lib/blackconfig.lib
|
||||
win32:msvc: PRE_TARGETDEPS += $$DestRoot/lib/blackconfig.lib
|
||||
else: PRE_TARGETDEPS += $$DestRoot/lib/libblackconfig.a
|
||||
LIBS *= -lblackconfig
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ msvc:DEFINES *= _SCL_SECURE_NO_WARNINGS
|
||||
|
||||
# swift standard warnings
|
||||
msvc:QMAKE_CXXFLAGS_WARN_ON *= /wd4351 /wd4661
|
||||
clang_cl:QMAKE_CXXFLAGS_WARN_ON *= -Wall -Wextra
|
||||
|
||||
# elevated warnings
|
||||
contains(BLACK_CONFIG, AllowNoisyWarnings) {
|
||||
|
||||
Reference in New Issue
Block a user