Newer
Older
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
########## wccl wrappers -- SWIG ###############
PROJECT(WcclSwigWrap)
find_package(Corpus2 1.0.8 REQUIRED)
set(CORPUS2_LIBS ${Corpus2_LIBRARY})
find_package(PwrUtils 1.0.1 REQUIRED)
set(PWRUTILS_LIBS ${PwrUtils_LIBRARY})
# find_package(Wccl 1.0.1 REQUIRED)
# set(WCCL_LIBS ${Wccl_LIBRARY})
set(CORPUS2_PWR_WCCL_LIBS ${CORPUS2_LIBS} ${PWRUTILS_LIBS} ${WCCL_LIBS})
include_directories (${Libwccl_SOURCE_DIR} "../libwccl")
link_directories(${Libwccl_BINARY_DIR})
FIND_PACKAGE(SWIG REQUIRED)
INCLUDE(${SWIG_USE_FILE})
find_package(PythonLibs)
find_package(PythonInterp)
# idea taken from pyplot build system
execute_process(
COMMAND
${PYTHON_EXECUTABLE} -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='${CMAKE_INSTALL_EXEC_PREFIX}')"
OUTPUT_VARIABLE PYTHON_INSTDIR
OUTPUT_STRIP_TRAILING_WHITESPACE
)
message(STATUS "INFO: " "python lib: ${PYTHON_INSTDIR}" )
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
SET(CMAKE_SWIG_FLAGS "")
SET(SWIG_SRC_DIR ${SWIG_DIR}/wccl)
# -----------------------------------------------------------------------------
# wccl
SET_SOURCE_FILES_PROPERTIES(wccl.i PROPERTIES CPLUSPLUS ON)
SET_SOURCE_FILES_PROPERTIES(wccl.i PROPERTIES SWIG_FLAGS "-includeall" )
SWIG_ADD_MODULE(wccl python wccl.i )
SWIG_LINK_LIBRARIES(wccl ${PYTHON_LIBRARIES} ${CORPUS2_PWR_WCCL_LIBS})
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
set_target_properties(
_wccl
PROPERTIES
INSTALL_NAME_DIR "${PYTHON_INSTDIR}"
)
set(PERM_SCRIPTS
OWNER_READ
OWNER_WRITE
OWNER_EXECUTE
GROUP_READ
GROUP_EXECUTE
WORLD_READ
WORLD_EXECUTE
)
# -----------------------------------------------------------------------------
# Install python modules
# -----------------------------------------------------------------------------
install(
TARGETS _wccl
LIBRARY
DESTINATION ${PYTHON_INSTDIR}
PERMISSIONS ${PERM_SCRIPTS}
)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/wccl.py
DESTINATION ${PYTHON_INSTDIR}
PERMISSIONS ${PERM_SCRIPTS}
)
# -----------------------------------------------------------------------------
# Install SWIG files
# -----------------------------------------------------------------------------
install(
FILES libcclactionexeccontext.i
libcclannotationmatch.i
libcclbool.i
libcclexpression.i
libcclfunctionaloperator.i
libcclfunctionalopsequence.i
libccllexicon.i
libccllexicons.i
libcclmatchdata.i
libcclmatch.i
libcclmatchrule.i
libcclmatchrulesequence.i
libcclmatchvector.i
libccloperator.i
libcclparsedexpression.i
libcclparser.i
libcclposition.i
libcclsentencecontext.i
libcclstrset.i
libccltagaction.i
libccltagrule.i
libccltagrulesequence.i
libccltokenmatch.i
libccltset.i
libcclvalue.i
libcclvariables.i
libcclwcclfile.i
libcclwcclfileopsections.i
wccl.i
DESTINATION ${SWIG_SRC_DIR}
PERMISSIONS ${PERM_SCRIPTS}
)