mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-01 06:35:41 +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
|
# Workaround C1128 error
|
||||||
################################
|
################################
|
||||||
|
|
||||||
msvc: QMAKE_CXXFLAGS *= /bigobj
|
msvc:!llvm: QMAKE_CXXFLAGS *= /bigobj
|
||||||
|
|
||||||
################################
|
################################
|
||||||
# No gigantic MinGW obj files
|
# No gigantic MinGW obj files
|
||||||
@@ -123,18 +123,21 @@ isEmpty(EXTERNALSROOT) {
|
|||||||
# Externals
|
# Externals
|
||||||
################################
|
################################
|
||||||
|
|
||||||
|
clang_cl: EXTERNALS_SPEC = win32-msvc2015
|
||||||
|
else: EXTERNALS_SPEC = $$basename(QMAKESPEC)
|
||||||
|
|
||||||
INCLUDEPATH *= $$EXTERNALSROOT/common/include
|
INCLUDEPATH *= $$EXTERNALSROOT/common/include
|
||||||
INCLUDEPATH *= $$EXTERNALSROOT/$$basename(QMAKESPEC)/include
|
INCLUDEPATH *= $$EXTERNALSROOT/$$EXTERNALS_SPEC/include
|
||||||
INCLUDEPATH *= $$EXTERNALSROOT/common/include/crashpad
|
INCLUDEPATH *= $$EXTERNALSROOT/common/include/crashpad
|
||||||
INCLUDEPATH *= $$EXTERNALSROOT/common/include/mini_chromium
|
INCLUDEPATH *= $$EXTERNALSROOT/common/include/mini_chromium
|
||||||
|
|
||||||
equals(WORD_SIZE,64) {
|
equals(WORD_SIZE,64) {
|
||||||
EXTERNALS_BIN_DIR = $$EXTERNALSROOT/$$basename(QMAKESPEC)/bin64
|
EXTERNALS_BIN_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/bin64
|
||||||
EXTERNALS_LIB_DIR = $$EXTERNALSROOT/$$basename(QMAKESPEC)/lib64
|
EXTERNALS_LIB_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/lib64
|
||||||
}
|
}
|
||||||
equals(WORD_SIZE,32) {
|
equals(WORD_SIZE,32) {
|
||||||
EXTERNALS_BIN_DIR = $$EXTERNALSROOT/$$basename(QMAKESPEC)/bin32
|
EXTERNALS_BIN_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/bin32
|
||||||
EXTERNALS_LIB_DIR = $$EXTERNALSROOT/$$basename(QMAKESPEC)/lib32
|
EXTERNALS_LIB_DIR = $$EXTERNALSROOT/$$EXTERNALS_SPEC/lib32
|
||||||
}
|
}
|
||||||
|
|
||||||
LIBS *= -L$$EXTERNALS_LIB_DIR
|
LIBS *= -L$$EXTERNALS_LIB_DIR
|
||||||
@@ -176,3 +179,19 @@ isEmpty(PREFIX) {
|
|||||||
################################
|
################################
|
||||||
|
|
||||||
win32: CONFIG(debug, debug|release): DLL_DEBUG_SUFFIX = d
|
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 {
|
blackgui {
|
||||||
contains(BLACK_CONFIG, Static) {
|
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: PRE_TARGETDEPS += $$DestRoot/lib/libblackgui.a
|
||||||
} else {
|
} 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
|
win32-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackgui.a
|
||||||
linux-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackgui.so
|
linux-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackgui.so
|
||||||
macx-clang: PRE_TARGETDEPS += $$DestRoot/lib/libblackgui.dylib
|
macx-clang: PRE_TARGETDEPS += $$DestRoot/lib/libblackgui.dylib
|
||||||
@@ -22,10 +22,10 @@ blackgui {
|
|||||||
|
|
||||||
blackcore {
|
blackcore {
|
||||||
contains(BLACK_CONFIG, Static) {
|
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: PRE_TARGETDEPS += $$DestRoot/lib/libblackcore.a
|
||||||
} else {
|
} 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
|
win32-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackcore.a
|
||||||
linux-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackcore.so
|
linux-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackcore.so
|
||||||
macx-clang: PRE_TARGETDEPS += $$DestRoot/lib/libblackcore.dylib
|
macx-clang: PRE_TARGETDEPS += $$DestRoot/lib/libblackcore.dylib
|
||||||
@@ -47,10 +47,10 @@ blacksound {
|
|||||||
|
|
||||||
blackinput {
|
blackinput {
|
||||||
contains(BLACK_CONFIG, Static) {
|
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: PRE_TARGETDEPS += $$DestRoot/lib/libblackinput.a
|
||||||
} else {
|
} 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
|
win32-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackinput.a
|
||||||
linux-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackinput.so
|
linux-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackinput.so
|
||||||
macx-clang: PRE_TARGETDEPS += $$DestRoot/lib/libblackinput.dylib
|
macx-clang: PRE_TARGETDEPS += $$DestRoot/lib/libblackinput.dylib
|
||||||
@@ -69,10 +69,10 @@ blackinput {
|
|||||||
|
|
||||||
blackmisc {
|
blackmisc {
|
||||||
contains(BLACK_CONFIG, Static) {
|
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: PRE_TARGETDEPS += $$DestRoot/lib/libblackmisc.a
|
||||||
} else {
|
} 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
|
win32-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackmisc.a
|
||||||
linux-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackmisc.so
|
linux-g++*: PRE_TARGETDEPS += $$DestRoot/lib/libblackmisc.so
|
||||||
macx-clang: PRE_TARGETDEPS += $$DestRoot/lib/libblackmisc.dylib
|
macx-clang: PRE_TARGETDEPS += $$DestRoot/lib/libblackmisc.dylib
|
||||||
@@ -85,7 +85,7 @@ blackmisc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
blackconfig {
|
blackconfig {
|
||||||
win32-msvc*: PRE_TARGETDEPS += $$DestRoot/lib/blackconfig.lib
|
win32:msvc: PRE_TARGETDEPS += $$DestRoot/lib/blackconfig.lib
|
||||||
else: PRE_TARGETDEPS += $$DestRoot/lib/libblackconfig.a
|
else: PRE_TARGETDEPS += $$DestRoot/lib/libblackconfig.a
|
||||||
LIBS *= -lblackconfig
|
LIBS *= -lblackconfig
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ msvc:DEFINES *= _SCL_SECURE_NO_WARNINGS
|
|||||||
|
|
||||||
# swift standard warnings
|
# swift standard warnings
|
||||||
msvc:QMAKE_CXXFLAGS_WARN_ON *= /wd4351 /wd4661
|
msvc:QMAKE_CXXFLAGS_WARN_ON *= /wd4351 /wd4661
|
||||||
|
clang_cl:QMAKE_CXXFLAGS_WARN_ON *= -Wall -Wextra
|
||||||
|
|
||||||
# elevated warnings
|
# elevated warnings
|
||||||
contains(BLACK_CONFIG, AllowNoisyWarnings) {
|
contains(BLACK_CONFIG, AllowNoisyWarnings) {
|
||||||
|
|||||||
Reference in New Issue
Block a user