qtcreator.pri 4.98 KB
Newer Older
1 2 3
!isEmpty(QTCREATOR_PRI_INCLUDED):error("qtcreator.pri already included")
QTCREATOR_PRI_INCLUDED = 1

Eike Ziller's avatar
Eike Ziller committed
4
QTCREATOR_VERSION = 2.6.1
5

6 7 8 9 10 11 12 13 14 15 16 17
isEqual(QT_MAJOR_VERSION, 5) {

defineReplace(cleanPath) {
    return($$clean_path($$1))
}

defineReplace(targetPath) {
    return($$shell_path($$1))
}

} else { # qt5

Oswald Buddenhagen's avatar
Oswald Buddenhagen committed
18 19 20 21 22 23 24 25 26 27 28 29 30 31
defineReplace(cleanPath) {
    win32:1 ~= s|\\\\|/|g
    contains(1, ^/.*):pfx = /
    else:pfx =
    segs = $$split(1, /)
    out =
    for(seg, segs) {
        equals(seg, ..):out = $$member(out, 0, -2)
        else:!equals(seg, .):out += $$seg
    }
    return($$join(out, /, $$pfx))
}

defineReplace(targetPath) {
32
    return($$replace(1, /, $$QMAKE_DIR_SEP))
Oswald Buddenhagen's avatar
Oswald Buddenhagen committed
33
}
con's avatar
con committed
34

35 36
} # qt5

37 38 39 40 41 42 43 44 45 46 47 48 49
defineReplace(qtLibraryName) {
   unset(LIBRARY_NAME)
   LIBRARY_NAME = $$1
   CONFIG(debug, debug|release) {
      !debug_and_release|build_pass {
          mac:RET = $$member(LIBRARY_NAME, 0)_debug
              else:win32:RET = $$member(LIBRARY_NAME, 0)d
      }
   }
   isEmpty(RET):RET = $$LIBRARY_NAME
   return($$RET)
}

50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
defineTest(minQtVersion) {
    maj = $$1
    min = $$2
    patch = $$3
    isEqual(QT_MAJOR_VERSION, $$maj) {
        isEqual(QT_MINOR_VERSION, $$min) {
            isEqual(QT_PATCH_VERSION, $$patch) {
                return(true)
            }
            greaterThan(QT_PATCH_VERSION, $$patch) {
                return(true)
            }
        }
        greaterThan(QT_MINOR_VERSION, $$min) {
            return(true)
        }
    }
67 68 69
    greaterThan(QT_MAJOR_VERSION, $$maj) {
        return(true)
    }
70 71 72
    return(false)
}

73 74 75 76 77 78 79 80 81
isEqual(QT_MAJOR_VERSION, 5) {

# For use in custom compilers which just copy files
defineReplace(stripSrcDir) {
    return($$relative_path($$absolute_path($$1, $$OUT_PWD), $$_PRO_FILE_PWD_))
}

} else { # qt5

82 83 84 85 86 87 88 89 90
# For use in custom compilers which just copy files
win32:i_flag = i
defineReplace(stripSrcDir) {
    win32 {
        !contains(1, ^.:.*):1 = $$OUT_PWD/$$1
    } else {
        !contains(1, ^/.*):1 = $$OUT_PWD/$$1
    }
    out = $$cleanPath($$1)
91
    out ~= s|^$$re_escape($$_PRO_FILE_PWD_/)||$$i_flag
92 93 94
    return($$out)
}

95 96
} # qt5

97 98
isEmpty(TEST):CONFIG(debug, debug|release) {
    !debug_and_release|build_pass {
con's avatar
con committed
99 100 101 102
        TEST = 1
    }
}

103
isEmpty(IDE_LIBRARY_BASENAME) {
104 105
    IDE_LIBRARY_BASENAME = lib
}
106

107 108 109
equals(TEST, 1) {
    QT +=testlib
    DEFINES += WITH_TESTS
con's avatar
con committed
110 111
}

112
IDE_SOURCE_TREE = $$PWD
113 114 115 116 117 118
isEmpty(IDE_BUILD_TREE) {
    sub_dir = $$_PRO_FILE_PWD_
    sub_dir ~= s,^$$re_escape($$PWD),,
    IDE_BUILD_TREE = $$cleanPath($$OUT_PWD)
    IDE_BUILD_TREE ~= s,$$re_escape($$sub_dir)$,,
}
119
IDE_APP_PATH = $$IDE_BUILD_TREE/bin
con's avatar
con committed
120
macx {
121
    IDE_APP_TARGET   = "Qt Creator"
122
    IDE_LIBRARY_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/PlugIns
Oswald Buddenhagen's avatar
Oswald Buddenhagen committed
123
    IDE_PLUGIN_PATH  = $$IDE_LIBRARY_PATH
124 125
    IDE_LIBEXEC_PATH = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Resources
    IDE_DATA_PATH    = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/Resources
126
    IDE_DOC_PATH     = $$IDE_DATA_PATH/doc
127
    IDE_BIN_PATH     = $$IDE_APP_PATH/$${IDE_APP_TARGET}.app/Contents/MacOS
128
    copydata = 1
129
    isEmpty(TIGER_COMPAT_MODE):TIGER_COMPAT_MODE=$$(QTC_TIGER_COMPAT)
130 131 132 133 134 135
    !isEqual(QT_MAJOR_VERSION, 5) {
        # Qt5 doesn't support 10.5, and will set the minimum version correctly to 10.6 or 10.7.
        isEmpty(TIGER_COMPAT_MODE) {
            QMAKE_CXXFLAGS *= -mmacosx-version-min=10.5
            QMAKE_LFLAGS *= -mmacosx-version-min=10.5
        }
136
    }
con's avatar
con committed
137
} else {
Oswald Buddenhagen's avatar
Oswald Buddenhagen committed
138 139
    contains(TEMPLATE, vc.*):vcproj = 1
    IDE_APP_TARGET   = qtcreator
140
    IDE_LIBRARY_PATH = $$IDE_BUILD_TREE/$$IDE_LIBRARY_BASENAME/qtcreator
Oswald Buddenhagen's avatar
Oswald Buddenhagen committed
141
    IDE_PLUGIN_PATH  = $$IDE_LIBRARY_PATH/plugins
142
    IDE_LIBEXEC_PATH = $$IDE_APP_PATH # FIXME
Oswald Buddenhagen's avatar
Oswald Buddenhagen committed
143
    IDE_DATA_PATH    = $$IDE_BUILD_TREE/share/qtcreator
144
    IDE_DOC_PATH     = $$IDE_BUILD_TREE/share/doc/qtcreator
145
    IDE_BIN_PATH     = $$IDE_APP_PATH
146
    !isEqual(IDE_SOURCE_TREE, $$IDE_BUILD_TREE):copydata = 1
con's avatar
con committed
147 148 149
}

INCLUDEPATH += \
150
    $$IDE_BUILD_TREE/src \ # for <app/app_version.h>
con's avatar
con committed
151
    $$IDE_SOURCE_TREE/src/libs \
152 153
    $$IDE_SOURCE_TREE/tools \
    $$IDE_SOURCE_TREE/src/plugins
con's avatar
con committed
154

155
CONFIG += depend_includepath
con's avatar
con committed
156 157

LIBS += -L$$IDE_LIBRARY_PATH
158

159 160 161 162 163 164
!isEmpty(vcproj) {
    DEFINES += IDE_LIBRARY_BASENAME=\"$$IDE_LIBRARY_BASENAME\"
} else {
    DEFINES += IDE_LIBRARY_BASENAME=\\\"$$IDE_LIBRARY_BASENAME\\\"
}

165
#DEFINES += QT_NO_CAST_FROM_ASCII
166
DEFINES += QT_NO_CAST_TO_ASCII
167
!macx:DEFINES += QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION
168

169
unix {
dt's avatar
dt committed
170 171
    CONFIG(debug, debug|release):OBJECTS_DIR = $${OUT_PWD}/.obj/debug-shared
    CONFIG(release, debug|release):OBJECTS_DIR = $${OUT_PWD}/.obj/release-shared
172

dt's avatar
dt committed
173 174
    CONFIG(debug, debug|release):MOC_DIR = $${OUT_PWD}/.moc/debug-shared
    CONFIG(release, debug|release):MOC_DIR = $${OUT_PWD}/.moc/release-shared
175

Oswald Buddenhagen's avatar
Oswald Buddenhagen committed
176 177
    RCC_DIR = $${OUT_PWD}/.rcc
    UI_DIR = $${OUT_PWD}/.uic
178
}
179

180 181 182 183
win32-msvc* { 
    #Don't warn about sprintf, fopen etc being 'unsafe'
    DEFINES += _CRT_SECURE_NO_WARNINGS
}
184 185

qt:greaterThan(QT_MAJOR_VERSION, 4) {
186
    contains(QT, core): QT += concurrent
187
    contains(QT, gui): QT += widgets
188
    DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x040900
189
}
190 191

OTHER_FILES += $$replace(_PRO_FILE_, \\.pro$, .qbs)