1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# 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
}
|