-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
115 lines (86 loc) · 3.35 KB
/
CMakeLists.txt
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
project(octoinqml NONE)
cmake_minimum_required(VERSION 3.6)
include(GNUInstallDirs)
set(CPACK_PACKAGE_VENDOR "Thing-Printer")
set(CPACK_PACKAGE_CONTACT "FuraX49 <[email protected]>")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OctoInQML , OctoPrint Client in QML, another TouchScreen interface client for OctoPrint, but in EGLFS .")
set(CPACK_GENERATOR "DEB")
set(CPACK_PACKAGE_VERSION_MAJOR 0)
set(CPACK_PACKAGE_VERSION_MINOR 4)
set(CPACK_PACKAGE_VERSION_PATCH 0)
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "all")
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")
Set(ALL_TARGETS "" CACHE INTERNAL "")
# ************* DEBUG ****************
set(CPACK_DEBIAN_PACKAGE_DEBUG ON)
set(DEB_DEPENDS
"qmlscene (>= 5.11.3)"
"qml-module-qt-labs-folderlistmodel"
"qml-module-qt-labs-settings"
"qml-module-qt3d"
"qml-module-qtcharts"
"qml-module-qtdatavisualization"
"qml-module-qtgraphicaleffects"
"qml-module-qtqml-models2"
"qml-module-qtquick-controls2"
"qml-module-qtquick-layouts"
"qml-module-qtquick-templates2"
"qml-module-qtquick-virtualkeyboard"
"qml-module-qtquick-window2"
"qml-module-qtquick-xmllistmodel"
"qml-module-qtquick2"
"qml-module-qtwayland-compositor"
"qml-module-qtwebsockets"
"qtvirtualkeyboard-plugin"
)
string(REPLACE ";" "," DEB_DEPENDS "${DEB_DEPENDS}")
set(CPACK_DEBIAN_PACKAGE_PREDEPENDS ${DEB_DEPENDS})
# ************************** REMOVE PRE-COMPILED **************************
file (GLOB_RECURSE qmlc ${PROJECT_SOURCE_DIR}/ *.qmlc)
if (qmlc)
file(REMOVE ${qmlc})
endif()
file (GLOB_RECURSE jsc ${PROJECT_SOURCE_DIR}/ *.jsc)
if (jsc)
file(REMOVE ${jsc})
endif()
# ************************** APPLICATION **************************
install(FILES "OctoInQML.qml"
DESTINATION "/opt/octoinqml"
)
install(DIRECTORY Pages/
DESTINATION "/opt/octoinqml/Pages"
)
install(DIRECTORY Images/
DESTINATION "/opt/octoinqml/Images"
)
install(DIRECTORY Components/
DESTINATION "/opt/octoinqml/Components"
)
# ************************** SCRIPTS **************************
if(EXISTS "/lib/systemd/system")
install(FILES scripts/octoinqml.service
DESTINATION "/lib/systemd/system"
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
install(FILES scripts/octoinqml
DESTINATION "/usr/local/bin"
PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE GROUP_EXECUTE GROUP_READ WORLD_READ
)
endif()
# ************************** CONFIGS **************************
install(FILES configs/QtQmlViewer.conf
DESTINATION "/etc/octoinqml/QtProject"
PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE GROUP_EXECUTE GROUP_READ GROUP_WRITE WORLD_READ
)
install(FILES configs/qtquickcontrols2.conf
DESTINATION "/etc/octoinqml"
PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE GROUP_EXECUTE GROUP_READ GROUP_WRITE WORLD_READ
)
# ************************** debian control files **************************
set( CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/postinst;${CMAKE_CURRENT_SOURCE_DIR}/DEBIAN/prerm" )
message(STATUS "*********************************")
message(STATUS "Command to make debian package :")
message(STATUS "cpack -G DEB")
message(STATUS "*********************************")
include(CPack)