5fa6438633
SYSTEM is used for system() calls, while SHELL is used in the target Makefiles. Task-number: QTBUG-62985 Change-Id: Ia75d3939c59c98699359421166433e8b4a6ee35e Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
131 lines
4.6 KiB
Plaintext
131 lines
4.6 KiB
Plaintext
# This file is loaded by qmake right after loading the qmakespec.
|
|
# Afterwards, the project's .qmake.conf and .qmake.cache are loaded
|
|
# (if present).
|
|
# Note that up to this point, nothing specific to a particular SUBDIRS
|
|
# project or build pass can be done.
|
|
|
|
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 # backwards compatibility; cannot change
|
|
else: \
|
|
TARGET_PLATFORM = unix
|
|
} else:if(equals(MAKEFILE_GENERATOR, MSVC.NET) \
|
|
|equals(MAKEFILE_GENERATOR, MSBUILD) \
|
|
|equals(MAKEFILE_GENERATOR, MINGW)) {
|
|
TARGET_PLATFORM = win32
|
|
} else:if(equals(MAKEFILE_GENERATOR, PROJECTBUILDER) \
|
|
|equals(MAKEFILE_GENERATOR, XCODE)) {
|
|
TARGET_PLATFORM = macx
|
|
} else {
|
|
error("Qmake spec sets an invalid MAKEFILE_GENERATOR.")
|
|
}
|
|
}
|
|
equals(TARGET_PLATFORM, unix): \
|
|
QMAKE_PLATFORM = unix
|
|
else:equals(TARGET_PLATFORM, macx): \
|
|
QMAKE_PLATFORM = macos osx macx mac darwin unix
|
|
else:equals(TARGET_PLATFORM, win32): \
|
|
QMAKE_PLATFORM = win32
|
|
else: \
|
|
error("Qmake spec sets an invalid TARGET_PLATFORM.")
|
|
}
|
|
|
|
contains(QMAKE_PLATFORM, macx) {
|
|
!contains(QMAKE_PLATFORM, osx) {
|
|
warning("qmake spec specified platform macx, but not osx.");
|
|
QMAKE_PLATFORM = osx $$QMAKE_PLATFORM
|
|
}
|
|
|
|
!contains(QMAKE_PLATFORM, macos) {
|
|
warning("qmake spec specifies platform macx, but not macos.")
|
|
QMAKE_PLATFORM = macos $$QMAKE_PLATFORM
|
|
}
|
|
}
|
|
|
|
CONFIG += $$QMAKE_PLATFORM
|
|
|
|
isEmpty(QMAKE_COMPILER) {
|
|
*-g++*: \
|
|
QMAKE_COMPILER = gcc
|
|
else:*-llvm*: \
|
|
QMAKE_COMPILER = gcc llvm
|
|
else:*-clang*: \
|
|
QMAKE_COMPILER = gcc 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
|
|
|
|
equals(MAKEFILE_GENERATOR, MSBUILD) \
|
|
|equals(MAKEFILE_GENERATOR, MSVC.NET) \
|
|
|isEmpty(QMAKE_SH) {
|
|
QMAKE_ZIP = zip -r -9
|
|
|
|
QMAKE_CD = cd /d
|
|
QMAKE_COPY = copy /y
|
|
QMAKE_COPY_FILE = $$QMAKE_COPY
|
|
QMAKE_COPY_DIR = xcopy /s /q /y /i
|
|
# xcopy copies the contained files if source is a directory. Deal with it.
|
|
CONFIG += copy_dir_files
|
|
QMAKE_MOVE = move
|
|
QMAKE_DEL_FILE = del
|
|
QMAKE_DEL_DIR = rmdir
|
|
QMAKE_DEL_TREE = rmdir /s /q
|
|
QMAKE_CHK_EXISTS = if not exist %1
|
|
QMAKE_CHK_DIR_EXISTS = if not exist # legacy
|
|
QMAKE_MKDIR = mkdir # legacy
|
|
QMAKE_MKDIR_CMD = if not exist %1 mkdir %1 & if not exist %1 exit 1
|
|
QMAKE_STREAM_EDITOR = $(QMAKE) -install sed
|
|
QMAKE_SHELL_NULL_DEVICE = NUL
|
|
QMAKE_INSTALL_FILE = copy /y
|
|
QMAKE_INSTALL_PROGRAM = copy /y
|
|
} else {
|
|
QMAKE_TAR = tar -cf
|
|
QMAKE_GZIP = gzip -9f
|
|
|
|
QMAKE_CD = cd
|
|
QMAKE_COPY = cp -f
|
|
QMAKE_COPY_FILE = $$QMAKE_COPY
|
|
QMAKE_COPY_DIR = $$QMAKE_COPY -R
|
|
QMAKE_MOVE = mv -f
|
|
QMAKE_DEL_FILE = rm -f
|
|
QMAKE_DEL_DIR = rmdir
|
|
QMAKE_DEL_TREE = rm -rf
|
|
QMAKE_CHK_EXISTS = test -e %1 ||
|
|
QMAKE_CHK_DIR_EXISTS = test -d # legacy
|
|
QMAKE_MKDIR = mkdir -p # legacy
|
|
QMAKE_MKDIR_CMD = test -d %1 || mkdir -p %1
|
|
QMAKE_STREAM_EDITOR = sed
|
|
QMAKE_SHELL_NULL_DEVICE = /dev/null
|
|
|
|
equals(QMAKE_HOST.os, Windows) {
|
|
MINGW_IN_SHELL = 1 # legacy
|
|
# Override built-ins.
|
|
QMAKE_DIR_SEP = /
|
|
QMAKE_DIRLIST_SEP = :
|
|
# Because install's ability to set permissions is not relevant on Windows,
|
|
# and git's msys does not provide it to start with.
|
|
QMAKE_INSTALL_FILE = cp -f
|
|
QMAKE_INSTALL_PROGRAM = cp -f
|
|
} else {
|
|
QMAKE_INSTALL_FILE = install -m 644 -p
|
|
QMAKE_INSTALL_PROGRAM = install -m 755 -p
|
|
}
|
|
}
|
|
QMAKE_INSTALL_DIR = $$QMAKE_COPY_DIR
|
|
equals(QMAKE_HOST.os, Windows) {
|
|
QMAKE_SYMBOLIC_LINK = $(QMAKE) -install ln -f -s
|
|
QMAKE_LN_SHLIB = $(QMAKE) -install ln -s
|
|
QMAKE_SYSTEM_NULL_DEVICE = NUL
|
|
} else {
|
|
QMAKE_SYMBOLIC_LINK = ln -f -s
|
|
QMAKE_LN_SHLIB = ln -s
|
|
QMAKE_SYSTEM_NULL_DEVICE = /dev/null
|
|
}
|