-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtevo.pro
153 lines (115 loc) · 4.31 KB
/
tevo.pro
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
SK = $$_PRO_FILE_PWD_/../Sky
SK_CORE = $$SK/src/SkCore/src
SK_GUI = $$SK/src/SkGui/src
SK_BACKEND = $$SK/src/SkBackend/src
SK_MEDIA = $$SK/src/SkMedia/src
SK_TORRENT = $$SK/src/SkTorrent/src
TARGET = tevo
DESTDIR = $$_PRO_FILE_PWD_/bin
contains(QT_MAJOR_VERSION, 4) {
QT += network script xml xmlpatterns
} else:contains(QT_MAJOR_VERSION, 5) {
QT += network qml xml xmlpatterns
} else {
QT += network qml xml core5compat
}
# NOTE: This makes sure we don't build against the gui dependency. It does not work for Qt4
# because we need QDesktopServices.
#greaterThan(QT_MAJOR_VERSION, 4) {
# QT -= gui
#}
CONFIG += console
contains(QT_MAJOR_VERSION, 5) {
android:QT += androidextras
}
# C++17
contains(QT_MAJOR_VERSION, 4) {
QMAKE_CXXFLAGS += -std=c++1z
} else {
CONFIG += c++1z
}
DEFINES += QUAZIP_BUILD \
SK_CONSOLE \
SK_NO_QML \
SK_CORE_LIBRARY SK_GUI_LIBRARY SK_BACKEND_LIBRARY SK_MEDIA_LIBRARY SK_TORRENT_LIBRARY \
SK_CHARSET SK_BACKEND_LOCAL #SK_BACKEND_LOG
ios:DEFINES += SK_NO_TORRENT
win32-msvc* {
# libtorrent: This fixes the winsock2 and std::min errors.
DEFINES += WIN32_LEAN_AND_MEAN NOMINMAX
# Boost: This prevents an issue with linking.
DEFINES += BOOST_ALL_NO_LIB
}
!win32-msvc*:!ios:!android:DEFINES += CAN_COMPILE_SSE2
deploy|ios|android: DEFINES += SK_DEPLOY
!win32-msvc*:!ios:!android:QMAKE_CXXFLAGS += -msse
# NOTE: This is required to load frameworks in the lib folder.
ios:QMAKE_LFLAGS += -F$$SK/lib
unix:QMAKE_LFLAGS += "-Wl,-rpath,'\$$ORIGIN'"
include($$SK/src/Sk.pri)
include(src/global/global.pri)
include(src/controllers/controllers.pri)
include(src/kernel/kernel.pri)
include(src/io/io.pri)
include(src/thread/thread.pri)
include(src/network/network.pri)
include(src/image/image.pri)
include(src/media/media.pri)
include(src/vlc/vlc.pri)
include(src/torrent/torrent.pri)
include(src/3rdparty/qtsingleapplication/qtsingleapplication.pri)
include(src/3rdparty/zlib/zlib.pri)
include(src/3rdparty/quazip/quazip.pri)
include(src/3rdparty/libcharsetdetect/libcharsetdetect.pri)
INCLUDEPATH += $$SK/include/SkCore \
$$SK/include/SkGui \
$$SK/include/SkBackend \
$$SK/include/SkMedia \
$$SK/include/SkTorrent \
$$SK/include \
$$_PRO_FILE_PWD_/include/tevo
win32:LIBS += -L$$SK/lib -llibvlc \
-lws2_32
win32:LIBS += -L$$SK/lib -ltorrent \
-L$$SK/lib -lboost_system
# Windows dependency for ShellExecuteA
win32-msvc*:LIBS += shell32.lib
unix:!ios:!android:LIBS += -L$$SK/lib -lvlc \
-L$$SK/lib -ltorrent-rasterbar \
-L$$SK/lib -lboost_system
# NOTE iOS: MediaPlayer is required for MP* classes.
ios:LIBS += -framework MobileVLCKit \
-framework MediaPlayer
android:LIBS += -L$$ANDROID_LIB -lvlc \
-L$$ANDROID_LIB -ltorrent-rasterbar \
-L$$ANDROID_LIB -ltry_signal
macx {
PATH=$${DESTDIR}/$${TARGET}.app/Contents/MacOS
QMAKE_POST_LINK = install_name_tool -change @rpath/libvlccore.dylib \
@loader_path/libvlccore.dylib $${DESTDIR}/libvlc.dylib;
QMAKE_POST_LINK += install_name_tool -change @rpath/libvlc.dylib \
@loader_path/libvlc.dylib $$PATH/$${TARGET};
QMAKE_POST_LINK += install_name_tool -change libtorrent-rasterbar.dylib.2.0.10 \
@loader_path/libtorrent-rasterbar.dylib $$PATH/$${TARGET};
QMAKE_POST_LINK += install_name_tool -change libboost_system.dylib \
@loader_path/libboost_system.dylib $$PATH/$${TARGET};
QMAKE_POST_LINK += $${QMAKE_COPY} -r $${DESTDIR}/plugins $$PATH;
QMAKE_POST_LINK += $${QMAKE_COPY} $${DESTDIR}/libvlc.dylib $$PATH;
QMAKE_POST_LINK += $${QMAKE_COPY} $${DESTDIR}/libvlccore.dylib $$PATH;
}
macx:ICON = dist/icon.icns
RC_FILE = dist/tevo.rc
OTHER_FILES += 3rdparty.sh \
configure.sh \
build.sh \
deploy.sh \
environment.sh \
README.md \
LICENSE.md \
AUTHORS.md \
.azure-pipelines.yml \
.appveyor.yml \
content/generate.sh \
dist/tevo.rc \
dist/script/start.sh \
dist/changes/1.1.0.md \