summaryrefslogtreecommitdiff
path: root/contrib/CMakeLists.txt
blob: 63bb70bc5ba6651ea773fc550593074d3ea3557d (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
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
# cmake <http://www.cmake.org> build file for Gammu contrib files
# Copyright (c) 2007 - 2017 Michal Cihar
# vim: expandtab sw=4 ts=4 sts=4:

project (Gammu-contrib C)

option(INSTALL_GNAPPLET "Install Gnapplet binaries" ON)
option(INSTALL_S60 "Install Series 60 applet binaries" ON)
option(INSTALL_MEDIA "Install sample media files" ON)
option(INSTALL_PHP_EXAMPLES "Install PHP example scripts" ON)

if (BASH_BIN)
    option(INSTALL_BASH_COMPLETION "Install bash completion script for Gammu" ON)
else (BASH_BIN)
    option(INSTALL_BASH_COMPLETION "Install bash completion script for Gammu" OFF)
endif (BASH_BIN)

option(INSTALL_LSB_INIT "Install LSB compatible init script for Gammu" OFF)
option(INSTALL_UDEV_RULES "Install udev rules for Gammu" OFF)

set (GNAPPLET_FILES
    symbian/gnapplet.ini
    symbian/gnapplet.sis
    )

set (S60_FILES
    s60/gammu-s60-remote.sis
    )

file(GLOB MEDIA_FILES "media/*.txt" "media/*.nlm")

set (PHP_EXAMPLES
    php/class_gammu/class.gammu.php
    php/class_gammu/class.sms.gammu.php
    php/class_gammu/README
    php/smsd-mysql-admin/admin.php
    php/smsd-mysql-linked/linked.php
    php/smsd-mysql-linked/linked.sql
    php/smsd-mysql-intergammu/config.php
    php/smsd-mysql-intergammu/funcoes/func.gammu.php
    php/smsd-mysql-intergammu/funcoes/func.sql.php
    php/smsd-mysql-intergammu/index.php
    php/smsd-mysql-intergammu/intergammu.txt
    php/smsd-mysql-intergammu/proc/admin.php
    php/smsd-mysql-intergammu/proclast.sql
    php/smsd-mysql-list/sms.php
    )

if (INSTALL_GNAPPLET)
    install (
        FILES ${GNAPPLET_FILES}
        DESTINATION "${INSTALL_DATA_DIR}"
        COMPONENT "symbian"
        )
endif (INSTALL_GNAPPLET)

if (INSTALL_S60)
    install (
        FILES ${S60_FILES}
        DESTINATION "${INSTALL_DATA_DIR}"
        COMPONENT "symbian"
        )
endif (INSTALL_S60)

if (INSTALL_MEDIA)
    install (
        FILES ${MEDIA_FILES}
        DESTINATION "${INSTALL_DOC_DIR}/examples/media"
        COMPONENT "media"
        )
endif (INSTALL_MEDIA)


if (INSTALL_PHP_EXAMPLES)
    foreach (EXAMPLE ${PHP_EXAMPLES})
        get_filename_component(DIRNAME ${EXAMPLE} PATH)
        install (
            FILES ${EXAMPLE}
            DESTINATION "${INSTALL_DOC_DIR}/examples/${DIRNAME}"
            COMPONENT "examples"
            )
    endforeach (EXAMPLE)
endif (INSTALL_PHP_EXAMPLES)

if (INSTALL_BASH_COMPLETION)
    macro_optional_find_package (BashCompletion)
    if (NOT BASH_COMPLETION_FOUND)
      set (BASH_COMPLETION_COMPLETIONSDIR "/etc/bash_completion.d" CACHE PATH "Location of bash_completion.d")
    endif (NOT BASH_COMPLETION_FOUND)
    install (
        FILES bash-completion/gammu
        DESTINATION ${BASH_COMPLETION_COMPLETIONSDIR}
        COMPONENT "bash"
        )
endif (INSTALL_BASH_COMPLETION)

if (WITH_SYSTEMD)
    install (
        FILES init/gammu-smsd.service
        DESTINATION "${SYSTEMD_SERVICES_INSTALL_DIR}"
        COMPONENT "systemd"
    )
endif (WITH_SYSTEMD)

if (INSTALL_LSB_INIT)
    install (
        FILES init/gammu-smsd.lsb
        DESTINATION "/etc/init.d"
        RENAME "gammu-smsd"
        COMPONENT "initscript"
        PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
        )
else (INSTALL_LSB_INIT)
    message (STATUS "Init script not being installed, install it by -DINSTALL_LSB_INIT=ON")
endif (INSTALL_LSB_INIT)

if (INSTALL_UDEV_RULES)
    install (
        FILES udev/69-gammu-acl.rules
        DESTINATION "/etc/udev/rules.d"
        COMPONENT "udev"
        )
else (INSTALL_UDEV_RULES)
    message (STATUS "Udev rules not being installed, install it by -DINSTALL_UDEV_RULES=ON")
endif (INSTALL_UDEV_RULES)

# Build some examples
# We do not install them intentionally, just check whether they still compile
add_subdirectory(smscgi)
add_subdirectory(convert)
add_subdirectory(sqlreply)

if (DEBUG OR "$ENV{TRAVIS}" STREQUAL "true")
    add_subdirectory(cpp-sample)
endif (DEBUG OR "$ENV{TRAVIS}" STREQUAL "true")