# 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 }