summaryrefslogtreecommitdiffstats
path: root/src/src.pro
blob: ca72f7d23a498d42e51e268ca588a98fa5d7e790 (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
61
62
63
64
65
66
TEMPLATE = lib
CONFIG += dll
DEFINES += COROUTINE_LIBRARY
unix: CONFIG += hide_symbols

DESTDIR = ../lib
TARGET = coroutine

HEADERS += \
    coroutine.h \
    coroutine_global.h \
    coroutinebuilddeclaration_p.h \
    coroutinebuilddefinition_p.h \
    coroutinestoredfunctioncall_p.h

SOURCES += coroutine.cpp

INCLUDEPATH += .
DEPENDPATH += .

contains(QMAKE_CXX,g++) {
    win32 {
        # will fail for 64 bit win!
        SOURCES += \
            backend/switchstack_gcc_32_win.cpp \
            backend/initializestack_32.cpp
    }

    mac {
        CONFIG(x86_64) {
            SOURCES += \
                backend/switchstack_gcc_64_linux_mac.s \
                backend/initializestack_64_linux_mac.cpp
        } else {
            SOURCES += \
                backend/switchstack_gcc_32_linux_mac.s \
                backend/initializestack_32.cpp
        }
    }
    !win32:!mac {
        contains(QMAKE_CFLAGS,-m64) {
            SOURCES += \
                backend/switchstack_gcc_64_linux_mac.s \
                backend/initializestack_64_linux_mac.cpp
        } else {
            SOURCES += \
                backend/switchstack_gcc_32_linux_mac.s \
                backend/initializestack_32.cpp
        }
    }
}
win32:contains(QMAKE_CXX,cl) {
    # will fail for 64 bit win!
    SOURCES += \
        backend/switchstack_msvc_32.cpp \
        backend/initializestack_32.cpp
}

# install rules
target.path = $$PREFIX/lib

headers.files = $$HEADERS
headers.path = $$PREFIX/include/coroutine

INSTALLS += target headers