CMakeLists.txt
4.5 KB
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
find_package(Boost 1.75 REQUIRED COMPONENTS log_setup)
find_package(Boost 1.75 REQUIRED COMPONENTS log)
link_libraries("cairo")
link_libraries("/usr/local/lib/libgdal.so")
############################################################
# sources
SET(DMAP_CORE_SRCS
geometry/dmprectangle.cpp
geometry/dmpwkbtypes.cpp
geometry/dmppoint.cpp
symbology/dmprenderer.cpp
symbology/dmpsinglesymbolrenderer.cpp
symbology/dmpsymbol.cpp
dmpapplication.cpp
dmpcoordinatereferencesystem.cpp
dmpcoordinatetransformation.cpp
dmpdataprovider.cpp
dmplogger.cpp
dmpmaplayer.cpp
dmpproject.cpp
dmpproviderregistry.cpp
dmprendercontext.cpp
dmptilelayer.cpp
dmptilematrixset.cpp
dmpvectordataprovider.cpp
dmpvectorlayer.cpp
dmpvectorvacuatelayer.cpp
dmpvectorlayerrenderer.cpp
dmpxmlutils.cpp
renderer/clsMalloc.cpp
renderer/clsStruct.cpp
renderer/clsPtree.cpp
renderer/clsJson.cpp
renderer/clsXML.cpp
renderer/clsUtil.cpp
renderer/clsRect.cpp
renderer/AppendBuffer.cpp
renderer/clsCrSurf.cpp
renderer/legendParamater.cpp
renderer/DataCollection.cpp
renderer/SimpleLineSymbol.cpp
renderer/SimpleMarkerSymbol.cpp
renderer/TrueTypeMarkerSymbol.cpp
renderer/TextSymbol.cpp
renderer/SimplePolygonSymbol.cpp
# renderer/ScaleDependentRenderer.cpp
# renderer/RangeLabelRenderer.cpp
renderer/SimpleLabelRenderer.cpp
renderer/SimpleRenderer.cpp
renderer/Renderer.cpp
renderer/ValueMapRendererComponent.cpp
renderer/ValueMapRenderer.cpp
renderer/GroupRenderer.cpp
)
SET(DMAP_CORE_HDRS
geometry/dmprectangle.h
geometry/dmpwkbtypes.h
geometry/dmppoint.h
symbology/dmprenderer.h
symbology/dmpsinglesymbolrenderer.h
symbology/dmpsymbol.h
dmpapplication.h
dmpcoordinatereferencesystem.h
dmpcoordinatetransformation.h
dmpdataprovider.h
dmpfeature.h
dmplogger.h
dmpmaplayer.h
dmpproject.h
dmpproviderregistry.h
dmprendercontext.h
dmptilelayer.h
dmptilematrixset.h
dmpvectordataprovider.h
dmpvectorlayer.h
dmpvectorvacuatelayer.h
dmpvectorlayerrenderer.h
dmpxmlutils.h
renderer/clsMalloc.h
renderer/clsStruct.h
renderer/clsJson.h
renderer/clsPtree.h
renderer/clsXML.h
renderer/clsUtil.h
renderer/clsRect.h
renderer/AppendBuffer.h
renderer/clsCrSurf.h
renderer/legendParamater.h
renderer/DataCollection.h
renderer/SimpleLineSymbol.h
renderer/SimpleMarkerSymbol.h
renderer/TrueTypeMarkerSymbol.h
renderer/TextSymbol.h
renderer/SimplePolygonSymbol.h
#renderer/RangMapRenderer.h
#renderer/RangeMapRenderer.h
#renderer/ScaleDependentRenderer.h
#renderer/RangeLabelRenderer.h
renderer/SimpleLabelRenderer.h
renderer/SimpleRenderer.h
renderer/Renderer.h
renderer/ValueMapRendererComponent.h
renderer/ValueMapRenderer.h
renderer/GroupRenderer.h
)
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/pgsql/include
geometry
symbology
renderer
)
ADD_LIBRARY(dmap_core SHARED ${DMAP_CORE_SRCS} ${DMAP_CORE_HDRS})
find_package(Cairo)
if(CAIRO_FOUND)
include_directories(${Cairo_INCLUDE_DIRS})
target_link_libraries(dmap_core ${Cairo_LIBRARIES})
else(CAIRO_FOUND)
MESSAGE (SEND_ERROR "CAIRO dependency was not found!")
endif(CAIRO_FOUND)
target_link_libraries(dmap_core
PUBLIC
${Boost_LIBRARIES}
Boost::log_setup
Boost::log
dl)
set_target_properties(dmap_core
PROPERTIES
POSITION_INDEPENDENT_CODE 1
CXX_VISIBILITY_PRESET hidden
VISIBILITY_INLINES_HIDDEN 1
#VERSION ${COMPLETE_VERSION}
#SOVERSION ${COMPLETE_VERSION}
)
include(GenerateExportHeader)
generate_export_header(
dmap_core
BASE_NAME CORE
EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR}/dmap_core.h"
)
SET(DMAP_CORE_HDRS ${DMAP_CORE_HDRS} ${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR}/dmap_core.h)
target_include_directories(dmap_core
PUBLIC
${CMAKE_BINARY_DIR}/${INSTALL_INCLUDEDIR}
)
#file(COPY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/dmap_server.so DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/python/dmap)
#FILE(COPY log.config DESTINATION .)
############################################################
INSTALL(FILES
log.config
DESTINATION ${DMAP_LIBEXEC_SUBDIR}
)
INSTALL(FILES ${DMAP_CORE_HDRS} DESTINATION ${DMAP_INCLUDE_DIR})
INSTALL(TARGETS dmap_core
RUNTIME DESTINATION ${DMAP_BIN_DIR}
LIBRARY DESTINATION ${DMAP_LIB_DIR}
ARCHIVE DESTINATION ${DMAP_LIB_DIR}
PUBLIC_HEADER DESTINATION ${DMAP_INCLUDE_DIR})