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