summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/resolve_target.prf
blob: 87d51d743efa89d28cb738fca9611645ee10f7a3 (plain)
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
QMAKE_RESOLVED_TARGET = $$absolute_path($$DESTDIR, $$OUT_PWD)/

win32 {
    contains(TEMPLATE, .*lib) {
        isEmpty(TARGET_VERSION_EXT):!isEmpty(VERSION) {
            TARGET_VERSION_EXT = $$section(VERSION, ., 0, 0)
            isEqual(TARGET_VERSION_EXT, 0):unset(TARGET_VERSION_EXT)
        }
        static:TARGET_EXT = .lib
        else:TARGET_EXT = .dll
    } else {
        TARGET_EXT = .exe
    }
    QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET}$${TARGET_VERSION_EXT}$${TARGET_EXT}
} else {
    contains(TEMPLATE, .*lib):LIBPREFIX = lib

    macx {
        equals(TEMPLATE, lib) {
            lib_bundle {
                QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET}.framework/$${TARGET}
            } else {
                QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET}
                !plugin {
                    TEMP_VERSION = $$section(VERSION, ., 0, 0)
                    isEmpty(TEMP_VERSION):TEMP_VERSION = 1
                    QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}.$${TEMP_VERSION}
                }
                static:QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}.$${QMAKE_EXTENSION_STATICLIB}
                else:QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}.$${QMAKE_EXTENSION_SHLIB}
            }
        } else {
            app_bundle {
                QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET}.app/Contents/MacOS/$${TARGET}
            } else {
                QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET}
            }
        }
    } else {
        equals(TEMPLATE, lib) {
            static {
                QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET}.a
            } else:plugin {
                QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET}.so
            } else {
                TEMP_VERSION = $$VERSION
                isEmpty(TEMP_VERSION):TEMP_VERSION = 1.0.0
                QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${LIBPREFIX}$${TARGET}.so.$${TEMP_VERSION}
            }
        } else {
            QMAKE_RESOLVED_TARGET = $${QMAKE_RESOLVED_TARGET}$${TARGET}
        }
    }
}

unset(TARGET_VERSION_EXT)
unset(TARGET_EXT)
unset(LIBPREFIX)
unset(TEMP_VERSION)