/
CMakeLists.txt
117 lines (99 loc) · 2.59 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
FIND_PACKAGE(ODBCCPP REQUIRED)
########################################################
# Files
SET (HANA_SRCS
qgshanacolumntypethread.cpp
qgshanaconnection.cpp
qgshanaconnectionpool.cpp
qgshanaconnectionstringbuilder.cpp
qgshanadriver.cpp
qgshanaexpressioncompiler.cpp
qgshanafeatureiterator.cpp
qgshanaprimarykeys.cpp
qgshanaprovider.cpp
qgshanaproviderconnection.cpp
qgshanaresultset.cpp
qgshanasettings.cpp
qgshanatablemodel.cpp
qgshanacrsutils.cpp
qgshanautils.cpp
)
IF (WITH_GUI)
SET(HANA_SRCS ${HANA_SRCS}
qgshanadataitems.cpp
qgshanadataitemguiprovider.cpp
qgshananewconnection.cpp
qgshanaprovidergui.cpp
qgshanasourceselect.cpp
)
ENDIF ()
SET(HANA_HDRS
qgshanadriver.h
qgshanaexception.h
qgshanaexpressioncompiler.h
qgshanaproviderconnection.h
qgshanaresultset.h
)
########################################################
# Build
QT5_WRAP_CPP(HANA_MOC_SRCS ${HANA_MOC_HDRS})
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/src/core
${CMAKE_SOURCE_DIR}/src/core/auth
${CMAKE_SOURCE_DIR}/src/core/expression
${CMAKE_SOURCE_DIR}/src/core/geometry
${CMAKE_SOURCE_DIR}/src/core/metadata
${CMAKE_SOURCE_DIR}/src/core/project
${CMAKE_SOURCE_DIR}/src/core/symbology
${CMAKE_SOURCE_DIR}/src/core/vector
${CMAKE_SOURCE_DIR}/src/gui
${CMAKE_SOURCE_DIR}/src/gui/auth
${CMAKE_SOURCE_DIR}/src/gui/codeeditors
${CMAKE_SOURCE_DIR}/external
${CMAKE_SOURCE_DIR}/external/nlohmann
${CMAKE_BINARY_DIR}/src/core
${CMAKE_BINARY_DIR}/src/gui
${CMAKE_BINARY_DIR}/src/ui
)
INCLUDE_DIRECTORIES (SYSTEM
${PROJ_INCLUDE_DIR}
${GDAL_INCLUDE_DIR}
${ODBC_INCLUDE_DIRS}
${ODBCCPP_INCLUDE_DIR}
${QCA_INCLUDE_DIR}
${QTKEYCHAIN_INCLUDE_DIR}
)
ADD_LIBRARY(hanaprovider MODULE ${HANA_SRCS} ${HANA_HDRS} ${HANA_MOC_SRCS})
ADD_LIBRARY(hanaprovider_a STATIC ${HANA_SRCS} ${HANA_HDRS} ${HANA_MOC_SRCS})
TARGET_COMPILE_DEFINITIONS(hanaprovider PUBLIC ODBC_STATIC)
TARGET_COMPILE_DEFINITIONS(hanaprovider_a PUBLIC ODBC_STATIC)
TARGET_LINK_LIBRARIES(hanaprovider
qgis_core
${ODBCCPP_LIBRARY}
${ODBC_LIBRARIES}
)
TARGET_LINK_LIBRARIES(hanaprovider_a
qgis_core
${ODBCCPP_LIBRARY}
${ODBC_LIBRARIES}
)
IF (WITH_GUI)
TARGET_LINK_LIBRARIES (hanaprovider_a
qgis_gui
)
TARGET_LINK_LIBRARIES (hanaprovider
qgis_gui
)
ENDIF ()
# clang-tidy
IF(CLANG_TIDY_EXE)
SET_TARGET_PROPERTIES(
hanaprovider PROPERTIES
CXX_CLANG_TIDY "${DO_CLANG_TIDY}"
)
ENDIF(CLANG_TIDY_EXE)
########################################################
# Install
INSTALL (TARGETS hanaprovider
RUNTIME DESTINATION ${QGIS_PLUGIN_DIR}
LIBRARY DESTINATION ${QGIS_PLUGIN_DIR})