fff5a8f9c9
on the way to eliminate scoping based on the spec. gcc and msvc go as such into CONFIG, the other ones get the vendor prefixed, as most are mostly unknown and thus likely to clash with users' flags. Change-Id: Ie622f53d90e96dbf05ce7d8c638cd355f04fa20c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
47 lines
1.6 KiB
Plaintext
47 lines
1.6 KiB
Plaintext
isEmpty(MAKEFILE_GENERATOR):error("Qmake spec does not set MAKEFILE_GENERATOR.")
|
|
isEmpty(QMAKE_PLATFORM) {
|
|
isEmpty(TARGET_PLATFORM) {
|
|
equals(MAKEFILE_GENERATOR, UNIX) {
|
|
equals(QMAKE_HOST.os, Darwin): \
|
|
TARGET_PLATFORM = macx
|
|
else: \
|
|
TARGET_PLATFORM = unix
|
|
} else:if(equals(MAKEFILE_GENERATOR, MSVC.NET) \
|
|
|equals(MAKEFILE_GENERATOR, BMAKE) \
|
|
|equals(MAKEFILE_GENERATOR, MSBUILD) \
|
|
|equals(MAKEFILE_GENERATOR, MINGW)) {
|
|
TARGET_PLATFORM = win32
|
|
} else:if(equals(MAKEFILE_GENERATOR, PROJECTBUILDER) \
|
|
|equals(MAKEFILE_GENERATOR, XCODE)) {
|
|
} else:equals(MAKEFILE_GENERATOR, GBUILD) {
|
|
TARGET_PLATFORM = unix
|
|
} else {
|
|
error("Qmake spec sets an invalid MAKEFILE_GENERATOR.")
|
|
}
|
|
}
|
|
equals(TARGET_PLATFORM, unix): \
|
|
QMAKE_PLATFORM = unix
|
|
else:equals(TARGET_PLATFORM, macx): \
|
|
QMAKE_PLATFORM = mac macx unix
|
|
else:equals(TARGET_PLATFORM, win32): \
|
|
QMAKE_PLATFORM = win32
|
|
else: \
|
|
error("Qmake spec sets an invalid TARGET_PLATFORM.")
|
|
}
|
|
CONFIG += $$QMAKE_PLATFORM
|
|
|
|
isEmpty(QMAKE_COMPILER) {
|
|
*-g++*: \
|
|
QMAKE_COMPILER = gcc
|
|
else:*-llvm*: \
|
|
QMAKE_COMPILER = gcc llvm
|
|
else:*-clang*: \
|
|
QMAKE_COMPILER = clang llvm
|
|
else:*-msvc*: \
|
|
QMAKE_COMPILER = msvc
|
|
else: \
|
|
error("qmake spec does not announce the compiler family, and it cannot be guessed.")
|
|
warning("qmake spec does not announce the compiler family. Guessed $$QMAKE_COMPILER.")
|
|
}
|
|
CONFIG += $$QMAKE_COMPILER
|