-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcompile-all
executable file
·106 lines (85 loc) · 2.48 KB
/
compile-all
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
#!/usr/bin/python3
# -*- encoding: utf-8 -*-
"""
compile-all - Sequentially compile the whole DesQ project
###================== Program Info ==================###
Program Name : compile-all
Version : 1.0.0
Platform : Linux/Unix
Requriements :
Must :
modules os, sys
Python Version : Python 3.4 or higher
Author : Marcus Britanicus
Email : [email protected]
License : Public Domain
###==================================================###
"""
### =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= #
#
# This script is in public domain; do whatever you want to do with it.
#
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
### =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= #
import os, sys
Project = [
# Libraries
"LibDesQ/libdesq",
"LibDesQ/libdesqui",
# Session
"Session",
# Shell UI
"Shell",
# Theme
'Theme',
# DesQ Utils
"Utils/Clipboard",
## "Utils/Clock",
"Utils/Disks",
## "DesQUtils/Dock",
"Utils/Keyring",
"Utils/Lock",
## "Utils/OSK",
"Utils/Notifier",
"Utils/Panel",
"Utils/PolkitExec",
"Utils/PowerManager",
"Utils/Runner",
"Utils/SNI",
"Utils/Splash",
## "Utils/SshAskPass",
"Utils/Volume",
# DesQ Apps
'Apps/Archiver',
'Apps/DropDown',
'Apps/Docs',
'Apps/Term',
'Apps/Files',
'Apps/Eye',
## 'DesQApps/DesQStats'
## 'DesQApps/DesQText'
]
if __name__ == '__main__' :
for proj in Project:
os.chdir( proj )
if ( not os.path.exists( ".build" ) ):
os.system( "meson .build --prefix=/usr --buildtype=release" )
ret = 0
while True:
ret = os.system( "ninja -C .build -k 0 -j 2" )
if not ret:
break;
input( "Errors encountered while building. Review the code, make edits and hit Enter to proceed." )
# Procees only if compilation was successful.
while True:
ret = os.system( "sudo ninja -C .build install" )
if ( not ret ):
break;
input( "Errors encountered while installing. Review the install instructions and hit Enter to proceed." )
os.chdir( "../" )
if ( "/" in proj ):
os.chdir( "../" )