forked from termux/termux-api-package
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
127 lines (115 loc) · 3.13 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
116
117
118
119
120
121
122
123
124
125
126
127
cmake_minimum_required(VERSION 3.0.0)
project(termux-api)
include(GNUInstallDirs)
set(TERMUX_PREFIX ${CMAKE_INSTALL_PREFIX})
add_library(termux-api SHARED termux-api.c)
add_executable(termux-api-broadcast termux-api-broadcast.c)
target_link_libraries(termux-api-broadcast termux-api)
# TODO: get list through regex or similar
set(script_files
scripts/termux-api-start
scripts/termux-api-stop
scripts/termux-audio-info
scripts/termux-battery-status
scripts/termux-brightness
scripts/termux-call-log
scripts/termux-camera-info
scripts/termux-camera-photo
scripts/termux-clipboard-get
scripts/termux-clipboard-set
scripts/termux-contact-list
scripts/termux-dialog
scripts/termux-download
scripts/termux-fingerprint
scripts/termux-infrared-frequencies
scripts/termux-infrared-transmit
scripts/termux-job-scheduler
scripts/termux-keystore
scripts/termux-location
scripts/termux-media-player
scripts/termux-media-scan
scripts/termux-microphone-record
scripts/termux-nfc
scripts/termux-notification
scripts/termux-notification-channel
scripts/termux-notification-list
scripts/termux-notification-remove
scripts/termux-saf-create
scripts/termux-saf-dirs
scripts/termux-saf-ls
scripts/termux-saf-managedir
scripts/termux-saf-mkdir
scripts/termux-saf-read
scripts/termux-saf-rm
scripts/termux-saf-stat
scripts/termux-saf-write
scripts/termux-sensor
scripts/termux-share
scripts/termux-sms-inbox
scripts/termux-sms-list
scripts/termux-sms-send
scripts/termux-speech-to-text
scripts/termux-storage-get
scripts/termux-telephony-call
scripts/termux-telephony-cellinfo
scripts/termux-telephony-deviceinfo
scripts/termux-toast
scripts/termux-torch
scripts/termux-tts-engines
scripts/termux-tts-speak
scripts/termux-usb
scripts/termux-vibrate
scripts/termux-volume
scripts/termux-wallpaper
scripts/termux-wifi-connectioninfo
scripts/termux-wifi-enable
scripts/termux-wifi-scaninfo
)
make_directory(scripts)
foreach(file ${script_files})
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/${file}.in
${file} @ONLY
)
endforeach()
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/termux-callback.in
termux-callback @ONLY
)
install(
FILES ${CMAKE_BINARY_DIR}/termux-api-broadcast
DESTINATION ${CMAKE_INSTALL_PREFIX}/libexec
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
GROUP_READ GROUP_EXECUTE
WORLD_READ WORLD_EXECUTE
)
# Create a symlink for termux-api-broadcast->termux-api for backwards
# compatibility
INSTALL(CODE "execute_process( \
COMMAND ${CMAKE_COMMAND} -E create_symlink \
termux-api-broadcast \
${CMAKE_INSTALL_PREFIX}/libexec/termux-api \
)"
)
install(
FILES ${CMAKE_BINARY_DIR}/libtermux-api.so
TYPE LIB
)
install(
FILES ${CMAKE_CURRENT_SOURCE_DIR}/termux-api.h
TYPE INCLUDE
)
foreach(file ${script_files})
install(
FILES ${CMAKE_BINARY_DIR}/${file}
TYPE BIN
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
)
endforeach()
install(
FILES ${CMAKE_BINARY_DIR}/termux-callback
DESTINATION ${CMAKE_INSTALL_PREFIX}/libexec
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
GROUP_READ GROUP_EXECUTE
WORLD_READ WORLD_EXECUTE
)