CMakeLists.txt
2.8 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
find_package(Boost 1.75 REQUIRED COMPONENTS log_setup)
find_package(Boost 1.75 REQUIRED COMPONENTS log)
############################################################
# 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
dmpdataprovider.cpp
dmplogger.cpp
dmpmaplayer.cpp
dmpproject.cpp
dmpproviderregistry.cpp
dmprendercontext.cpp
dmptilelayer.cpp
dmptilematrixset.cpp
dmpvectordataprovider.cpp
dmpvectorlayer.cpp
dmpvectorlayerrenderer.cpp
dmpxmlutils.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
dmpdataprovider.h
dmpfeature.h
dmplogger.h
dmpmaplayer.h
dmpproject.h
dmpproviderregistry.h
dmprendercontext.h
dmptilelayer.h
dmptilematrixset.h
dmpvectordataprovider.h
dmpvectorlayer.h
dmpvectorlayerrenderer.h
dmpxmlutils.h
)
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
geometry
symbology
)
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})