-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCMakeLists.txt
125 lines (101 loc) · 2.03 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
CMAKE_MINIMUM_REQUIRED(VERSION 3.1.0)
PROJECT(php-spellcheck-ext)
INCLUDE(GNUInstallDirs)
SET(CMAKE_CXX_STANDARD 11)
OPTION(
INSTALL_INI
"Decides if this should install the extension .ini file while installing this extension."
ON
)
OPTION(
ENABLE_HUNSPELL
"Decides if libhunspell should be used as a backend."
ON
)
OPTION(
ENABLE_VOIKKO
"Decides if libvoikko (Finnish) should be used as a backend."
OFF
)
IF(INSTALL_INI)
SET(INI_FILE "php-spellcheck-ext.ini")
SET(
INI_DIR
"/etc/php/7.0/mods-available"
CACHE
STRING
"Folder where PHP modules .ini files are store (check you PHP version)."
)
MESSAGE("-- INI_DIR set to ${INI_DIR}")
ELSE()
MESSAGE("-- INSTALL_INI is set to OFF, this will not install this extesion .ini file.")
ENDIF()
EXECUTE_PROCESS(
COMMAND
php-config --extension-dir
OUTPUT_VARIABLE EXTENSION_DIR
OUTPUT_STRIP_TRAILING_WHITESPACE
)
FILE(
GLOB
SOURCES
"src/php-spellcheck-ext/*.cpp"
"src/module.cpp"
)
FILE(
GLOB
HEADERS
"include/php-spellcheck-ext/*.hpp"
)
INCLUDE_DIRECTORIES("include")
ADD_LIBRARY(
php-spellcheck-ext
SHARED
"${SOURCES}"
)
TARGET_COMPILE_OPTIONS(
php-spellcheck-ext
PRIVATE
-Wall -O2 -fpic
)
TARGET_LINK_LIBRARIES(
php-spellcheck-ext
PRIVATE
phpcpp
)
IF(ENABLE_HUNSPELL)
MESSAGE("-- libhunpell will be enabled.")
ADD_DEFINITIONS(-DENABLE_HUNSPELL)
TARGET_LINK_LIBRARIES(
php-spellcheck-ext
PRIVATE
hunspell-1.7
)
ENDIF()
IF(ENABLE_VOIKKO)
MESSAGE("-- libvoikko will be enabled.")
ADD_DEFINITIONS(-DENABLE_VOIKKO)
TARGET_LINK_LIBRARIES(
php-spellcheck-ext
PRIVATE
voikko
)
ENDIF()
SET_TARGET_PROPERTIES(
php-spellcheck-ext
PROPERTIES
PREFIX ""
)
INSTALL(
TARGETS
php-spellcheck-ext
LIBRARY
DESTINATION "${EXTENSION_DIR}"
)
IF(INSTALL_INI)
INSTALL(
FILES
"${INI_FILE}"
DESTINATION "${INI_DIR}"
)
ENDIF()