@@ -1,201 +1,201 | |||||
1 | cmake_minimum_required(VERSION 3.6) |
|
1 | cmake_minimum_required(VERSION 3.6) | |
2 | project(SciQLOPCore CXX) |
|
2 | project(SciQLOPCore CXX) | |
3 |
|
3 | |||
4 | OPTION (CPPCHECK "Analyzes the source code with cppcheck" OFF) |
|
4 | OPTION (CPPCHECK "Analyzes the source code with cppcheck" OFF) | |
5 | OPTION (CLANG_TIDY "Analyzes the source code with Clang Tidy" OFF) |
|
5 | OPTION (CLANG_TIDY "Analyzes the source code with Clang Tidy" OFF) | |
6 | OPTION (IWYU "Analyzes the source code with Include What You Use" OFF) |
|
6 | OPTION (IWYU "Analyzes the source code with Include What You Use" OFF) | |
7 |
|
7 | |||
8 | OPTION (Catalog "builds catalog API" ON) |
|
8 | OPTION (Catalog "builds catalog API" ON) | |
9 |
|
9 | |||
10 | set(CMAKE_CXX_STANDARD 17) |
|
10 | set(CMAKE_CXX_STANDARD 17) | |
11 |
|
11 | |||
12 | set(CMAKE_AUTOMOC ON) |
|
12 | set(CMAKE_AUTOMOC ON) | |
13 | #https://gitlab.kitware.com/cmake/cmake/issues/15227 |
|
13 | #https://gitlab.kitware.com/cmake/cmake/issues/15227 | |
14 | #set(CMAKE_AUTOUIC ON) |
|
14 | #set(CMAKE_AUTOUIC ON) | |
15 | if(POLICY CMP0071) |
|
15 | if(POLICY CMP0071) | |
16 | cmake_policy(SET CMP0071 OLD) |
|
16 | cmake_policy(SET CMP0071 OLD) | |
17 | endif() |
|
17 | endif() | |
18 | set(CMAKE_AUTORCC ON) |
|
18 | set(CMAKE_AUTORCC ON) | |
19 | set(CMAKE_INCLUDE_CURRENT_DIR ON) |
|
19 | set(CMAKE_INCLUDE_CURRENT_DIR ON) | |
20 |
|
20 | |||
21 | find_package(Qt5 COMPONENTS Core Widgets Network PrintSupport Svg Test REQUIRED) |
|
21 | find_package(Qt5 COMPONENTS Core Widgets Network PrintSupport Svg Test REQUIRED) | |
22 |
|
22 | |||
23 | find_package(pybind11 CONFIG QUIET) |
|
23 | find_package(pybind11 CONFIG QUIET) | |
24 | if (NOT pybind11_FOUND) |
|
24 | if (NOT pybind11_FOUND) | |
25 | execute_process(COMMAND git submodule init external/pybind11 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) |
|
25 | execute_process(COMMAND git submodule init external/pybind11 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) | |
26 | execute_process(COMMAND git submodule update external/pybind11 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) |
|
26 | execute_process(COMMAND git submodule update external/pybind11 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) | |
27 | add_subdirectory(external/pybind11) |
|
27 | add_subdirectory(external/pybind11) | |
28 | endif() |
|
28 | endif() | |
29 |
|
29 | |||
30 | find_package(libcatalogs CONFIG QUIET) |
|
30 | find_package(libcatalogs CONFIG QUIET) | |
31 |
if (NOT |
|
31 | if (NOT catalogs_FOUND) | |
32 | execute_process(COMMAND git submodule init external/libcatalogs WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) |
|
32 | execute_process(COMMAND git submodule init external/libcatalogs WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) | |
33 | execute_process(COMMAND git submodule update external/libcatalogs WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) |
|
33 | execute_process(COMMAND git submodule update external/libcatalogs WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) | |
34 | add_subdirectory(external/libcatalogs) |
|
34 | add_subdirectory(external/libcatalogs) | |
35 | endif() |
|
35 | endif() | |
36 |
|
36 | |||
37 | macro(declare_test testname testexe sources libraries) |
|
37 | macro(declare_test testname testexe sources libraries) | |
38 | add_executable(${testexe} ${sources}) |
|
38 | add_executable(${testexe} ${sources}) | |
39 | target_link_libraries(${testexe} ${libraries}) |
|
39 | target_link_libraries(${testexe} ${libraries}) | |
40 | add_test(NAME ${testname} COMMAND ${testexe}) |
|
40 | add_test(NAME ${testname} COMMAND ${testexe}) | |
41 | endmacro(declare_test) |
|
41 | endmacro(declare_test) | |
42 |
|
42 | |||
43 | enable_testing() |
|
43 | enable_testing() | |
44 |
|
44 | |||
45 | FILE (GLOB_RECURSE core_SRCS |
|
45 | FILE (GLOB_RECURSE core_SRCS | |
46 | ./include/DataSource/DataSourceItemMergeHelper.h |
|
46 | ./include/DataSource/DataSourceItemMergeHelper.h | |
47 | ./include/DataSource/DataSourceItemAction.h |
|
47 | ./include/DataSource/DataSourceItemAction.h | |
48 | ./include/DataSource/DataSourceItem.h |
|
48 | ./include/DataSource/DataSourceItem.h | |
49 | ./include/DataSource/DataSourceController.h |
|
49 | ./include/DataSource/DataSourceController.h | |
50 | ./include/Common/SortUtils.h |
|
50 | ./include/Common/SortUtils.h | |
51 | ./include/Common/spimpl.h |
|
51 | ./include/Common/spimpl.h | |
52 | ./include/Common/MimeTypesDef.h |
|
52 | ./include/Common/MimeTypesDef.h | |
53 | ./include/Common/MetaTypes.h |
|
53 | ./include/Common/MetaTypes.h | |
54 | ./include/Common/StringUtils.h |
|
54 | ./include/Common/StringUtils.h | |
55 | ./include/Common/SignalWaiter.h |
|
55 | ./include/Common/SignalWaiter.h | |
56 | ./include/Common/DateUtils.h |
|
56 | ./include/Common/DateUtils.h | |
57 | ./include/Common/Numeric.h |
|
57 | ./include/Common/Numeric.h | |
58 | ./include/Common/deprecate.h |
|
58 | ./include/Common/deprecate.h | |
59 | ./include/Common/containers.h |
|
59 | ./include/Common/containers.h | |
60 | ./include/Common/debug.h |
|
60 | ./include/Common/debug.h | |
61 | ./include/Plugin/IPlugin.h |
|
61 | ./include/Plugin/IPlugin.h | |
62 | ./include/Data/ArrayDataIterator.h |
|
62 | ./include/Data/ArrayDataIterator.h | |
63 | ./include/Data/VariableRequest.h |
|
63 | ./include/Data/VariableRequest.h | |
64 | ./include/Data/VectorSeries.h |
|
64 | ./include/Data/VectorSeries.h | |
65 | ./include/Data/DateTimeRange.h |
|
65 | ./include/Data/DateTimeRange.h | |
66 | ./include/Data/DateTimeRangeHelper.h |
|
66 | ./include/Data/DateTimeRangeHelper.h | |
67 | ./include/Data/ScalarSeries.h |
|
67 | ./include/Data/ScalarSeries.h | |
68 | ./include/Data/DataSeriesMergeHelper.h |
|
68 | ./include/Data/DataSeriesMergeHelper.h | |
69 | ./include/Data/DataSeries.h |
|
69 | ./include/Data/DataSeries.h | |
70 | ./include/Data/AcquisitionDataPacket.h |
|
70 | ./include/Data/AcquisitionDataPacket.h | |
71 | ./include/Data/DataSeriesType.h |
|
71 | ./include/Data/DataSeriesType.h | |
72 | ./include/Data/AcquisitionRequest.h |
|
72 | ./include/Data/AcquisitionRequest.h | |
73 | ./include/Data/SqpIterator.h |
|
73 | ./include/Data/SqpIterator.h | |
74 | ./include/Data/ArrayData.h |
|
74 | ./include/Data/ArrayData.h | |
75 | ./include/Data/DataSeriesIterator.h |
|
75 | ./include/Data/DataSeriesIterator.h | |
76 | ./include/Data/DataSeriesUtils.h |
|
76 | ./include/Data/DataSeriesUtils.h | |
77 | ./include/Data/SpectrogramSeries.h |
|
77 | ./include/Data/SpectrogramSeries.h | |
78 | ./include/Data/Unit.h |
|
78 | ./include/Data/Unit.h | |
79 | ./include/Data/DataProviderParameters.h |
|
79 | ./include/Data/DataProviderParameters.h | |
80 | ./include/Data/OptionalAxis.h |
|
80 | ./include/Data/OptionalAxis.h | |
81 | ./include/Data/IDataProvider.h |
|
81 | ./include/Data/IDataProvider.h | |
82 | ./include/Data/IDataSeries.h |
|
82 | ./include/Data/IDataSeries.h | |
83 | ./include/Network/NetworkController.h |
|
83 | ./include/Network/NetworkController.h | |
84 | ./include/Network/Downloader.h |
|
84 | ./include/Network/Downloader.h | |
85 | ./include/Version.h |
|
85 | ./include/Version.h | |
86 | ./include/CoreGlobal.h |
|
86 | ./include/CoreGlobal.h | |
87 | ./include/Visualization/VisualizationController.h |
|
87 | ./include/Visualization/VisualizationController.h | |
88 | ./include/PluginManager/PluginManager.h |
|
88 | ./include/PluginManager/PluginManager.h | |
89 | ./include/Variable/VariableModel.h |
|
89 | ./include/Variable/VariableModel.h | |
90 | ./include/Variable/VariableModel2.h |
|
90 | ./include/Variable/VariableModel2.h | |
91 | ./include/Variable/VariableAcquisitionWorker.h |
|
91 | ./include/Variable/VariableAcquisitionWorker.h | |
92 | ./include/Variable/VariableCacheStrategy.h |
|
92 | ./include/Variable/VariableCacheStrategy.h | |
93 | ./include/Variable/VariableSynchronizationGroup.h |
|
93 | ./include/Variable/VariableSynchronizationGroup.h | |
94 | ./include/Variable/VariableSynchronizationGroup2.h |
|
94 | ./include/Variable/VariableSynchronizationGroup2.h | |
95 | ./include/Variable/ProportionalCacheStrategy.h |
|
95 | ./include/Variable/ProportionalCacheStrategy.h | |
96 | ./include/Variable/SingleThresholdCacheStrategy.h |
|
96 | ./include/Variable/SingleThresholdCacheStrategy.h | |
97 | ./include/Variable/VariableCacheStrategyFactory.h |
|
97 | ./include/Variable/VariableCacheStrategyFactory.h | |
98 | ./include/Variable/Variable.h |
|
98 | ./include/Variable/Variable.h | |
99 | ./include/Variable/VariableCacheController.h |
|
99 | ./include/Variable/VariableCacheController.h | |
100 | ./include/Variable/VariableController.h |
|
100 | ./include/Variable/VariableController.h | |
101 | ./include/Variable/VariableController2.h |
|
101 | ./include/Variable/VariableController2.h | |
102 | ./include/Variable/private/VCTransaction.h |
|
102 | ./include/Variable/private/VCTransaction.h | |
103 | ./include/Time/TimeController.h |
|
103 | ./include/Time/TimeController.h | |
104 | ./include/Settings/ISqpSettingsBindable.h |
|
104 | ./include/Settings/ISqpSettingsBindable.h | |
105 | ./include/Settings/SqpSettingsDefs.h |
|
105 | ./include/Settings/SqpSettingsDefs.h | |
106 |
|
106 | |||
107 | ./src/DataSource/DataSourceItem.cpp |
|
107 | ./src/DataSource/DataSourceItem.cpp | |
108 | ./src/DataSource/DataSourceItemAction.cpp |
|
108 | ./src/DataSource/DataSourceItemAction.cpp | |
109 | ./src/DataSource/DataSourceItemMergeHelper.cpp |
|
109 | ./src/DataSource/DataSourceItemMergeHelper.cpp | |
110 | ./src/DataSource/DataSourceController.cpp |
|
110 | ./src/DataSource/DataSourceController.cpp | |
111 | ./src/Common/DateUtils.cpp |
|
111 | ./src/Common/DateUtils.cpp | |
112 | ./src/Common/MimeTypesDef.cpp |
|
112 | ./src/Common/MimeTypesDef.cpp | |
113 | ./src/Common/StringUtils.cpp |
|
113 | ./src/Common/StringUtils.cpp | |
114 | ./src/Common/SignalWaiter.cpp |
|
114 | ./src/Common/SignalWaiter.cpp | |
115 | ./src/Data/ScalarSeries.cpp |
|
115 | ./src/Data/ScalarSeries.cpp | |
116 | ./src/Data/DataSeriesIterator.cpp |
|
116 | ./src/Data/DataSeriesIterator.cpp | |
117 | ./src/Data/OptionalAxis.cpp |
|
117 | ./src/Data/OptionalAxis.cpp | |
118 | ./src/Data/ArrayDataIterator.cpp |
|
118 | ./src/Data/ArrayDataIterator.cpp | |
119 | ./src/Data/SpectrogramSeries.cpp |
|
119 | ./src/Data/SpectrogramSeries.cpp | |
120 | ./src/Data/DataSeriesUtils.cpp |
|
120 | ./src/Data/DataSeriesUtils.cpp | |
121 | ./src/Data/VectorSeries.cpp |
|
121 | ./src/Data/VectorSeries.cpp | |
122 | ./src/Network/NetworkController.cpp |
|
122 | ./src/Network/NetworkController.cpp | |
123 | ./src/Network/Downloader.cpp |
|
123 | ./src/Network/Downloader.cpp | |
124 | ./src/Visualization/VisualizationController.cpp |
|
124 | ./src/Visualization/VisualizationController.cpp | |
125 | ./src/PluginManager/PluginManager.cpp |
|
125 | ./src/PluginManager/PluginManager.cpp | |
126 | ./src/Variable/VariableController.cpp |
|
126 | ./src/Variable/VariableController.cpp | |
127 | ./src/Variable/VariableController2.cpp |
|
127 | ./src/Variable/VariableController2.cpp | |
128 | ./src/Variable/VariableModel.cpp |
|
128 | ./src/Variable/VariableModel.cpp | |
129 | ./src/Variable/VariableModel2.cpp |
|
129 | ./src/Variable/VariableModel2.cpp | |
130 | ./src/Variable/VariableCacheController.cpp |
|
130 | ./src/Variable/VariableCacheController.cpp | |
131 | ./src/Variable/VariableSynchronizationGroup.cpp |
|
131 | ./src/Variable/VariableSynchronizationGroup.cpp | |
132 | ./src/Variable/VariableSynchronizationGroup2.cpp |
|
132 | ./src/Variable/VariableSynchronizationGroup2.cpp | |
133 | ./src/Variable/Variable.cpp |
|
133 | ./src/Variable/Variable.cpp | |
134 | ./src/Variable/VariableAcquisitionWorker.cpp |
|
134 | ./src/Variable/VariableAcquisitionWorker.cpp | |
135 | ./src/Version.cpp |
|
135 | ./src/Version.cpp | |
136 | ./src/Time/TimeController.cpp |
|
136 | ./src/Time/TimeController.cpp | |
137 | ./src/Settings/SqpSettingsDefs.cpp |
|
137 | ./src/Settings/SqpSettingsDefs.cpp | |
138 |
|
138 | |||
139 | ) |
|
139 | ) | |
140 |
|
140 | |||
141 |
|
141 | |||
142 | IF(Catalog) |
|
142 | IF(Catalog) | |
143 | FILE (GLOB_RECURSE core_catalog_SRCS |
|
143 | FILE (GLOB_RECURSE core_catalog_SRCS | |
144 | ./src/Catalogue/CatalogueController.cpp |
|
144 | ./src/Catalogue/CatalogueController.cpp | |
145 | ./include/Catalogue/CatalogueController.h |
|
145 | ./include/Catalogue/CatalogueController.h | |
146 | ) |
|
146 | ) | |
147 | ELSE() |
|
147 | ELSE() | |
148 | FILE (GLOB_RECURSE core_catalog_SRCS |
|
148 | FILE (GLOB_RECURSE core_catalog_SRCS | |
149 | ) |
|
149 | ) | |
150 | ENDIF(Catalog) |
|
150 | ENDIF(Catalog) | |
151 |
|
151 | |||
152 | add_definitions(-DCORE_STATIC) |
|
152 | add_definitions(-DCORE_STATIC) | |
153 | #add_definitions(-DHIDE_DEPRECATED) |
|
153 | #add_definitions(-DHIDE_DEPRECATED) | |
154 | add_definitions(-DSCIQLOP_CRASH_ON_ERROR) |
|
154 | add_definitions(-DSCIQLOP_CRASH_ON_ERROR) | |
155 |
|
155 | |||
156 | add_library(sciqlopcore ${core_SRCS} ${core_catalog_SRCS}) |
|
156 | add_library(sciqlopcore ${core_SRCS} ${core_catalog_SRCS}) | |
157 | SET_TARGET_PROPERTIES(sciqlopcore PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) |
|
157 | SET_TARGET_PROPERTIES(sciqlopcore PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) | |
158 |
|
158 | |||
159 | target_include_directories(sciqlopcore PUBLIC |
|
159 | target_include_directories(sciqlopcore PUBLIC | |
160 | $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> |
|
160 | $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> | |
161 | $<INSTALL_INTERFACE:include/SciQLOP> |
|
161 | $<INSTALL_INTERFACE:include/SciQLOP> | |
162 | ) |
|
162 | ) | |
163 |
|
163 | |||
164 | target_link_libraries(sciqlopcore PUBLIC |
|
164 | target_link_libraries(sciqlopcore PUBLIC | |
165 | Qt5::Core |
|
165 | Qt5::Core | |
166 | Qt5::Network |
|
166 | Qt5::Network | |
167 | ) |
|
167 | ) | |
168 |
|
168 | |||
169 | if(Catalog) |
|
169 | if(Catalog) | |
170 | target_link_libraries(sciqlopcore PUBLIC |
|
170 | target_link_libraries(sciqlopcore PUBLIC | |
171 | catalogs |
|
171 | catalogs | |
172 | ) |
|
172 | ) | |
173 | endif() |
|
173 | endif() | |
174 |
|
174 | |||
175 |
|
175 | |||
176 | pybind11_add_module(sciqlopqt src/pybind11_wrappers/QtWrappers.cpp) |
|
176 | pybind11_add_module(sciqlopqt src/pybind11_wrappers/QtWrappers.cpp) | |
177 | target_link_libraries(sciqlopqt PUBLIC Qt5::Core) |
|
177 | target_link_libraries(sciqlopqt PUBLIC Qt5::Core) | |
178 |
|
178 | |||
179 | pybind11_add_module(pysciqlopcore src/pybind11_wrappers/CoreWrappers.cpp) |
|
179 | pybind11_add_module(pysciqlopcore src/pybind11_wrappers/CoreWrappers.cpp) | |
180 | target_link_libraries(pysciqlopcore PUBLIC sciqlopcore) |
|
180 | target_link_libraries(pysciqlopcore PUBLIC sciqlopcore) | |
181 |
|
181 | |||
182 | add_library(pysciqlop src/pybind11_wrappers/pywrappers_common.h) |
|
182 | add_library(pysciqlop src/pybind11_wrappers/pywrappers_common.h) | |
183 | target_link_libraries(pysciqlop PUBLIC Qt5::Core) |
|
183 | target_link_libraries(pysciqlop PUBLIC Qt5::Core) | |
184 | target_include_directories(pysciqlop PUBLIC |
|
184 | target_include_directories(pysciqlop PUBLIC | |
185 | $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/pybind11_wrappers/> |
|
185 | $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/pybind11_wrappers/> | |
186 | $<INSTALL_INTERFACE:include/SciQLOP/py_wrappers> |
|
186 | $<INSTALL_INTERFACE:include/SciQLOP/py_wrappers> | |
187 | ) |
|
187 | ) | |
188 |
|
188 | |||
189 | SET_PROPERTY(GLOBAL PROPERTY CORE_PYTHON_PATH ${CMAKE_CURRENT_BINARY_DIR}) |
|
189 | SET_PROPERTY(GLOBAL PROPERTY CORE_PYTHON_PATH ${CMAKE_CURRENT_BINARY_DIR}) | |
190 |
|
190 | |||
191 |
|
191 | |||
192 | install(TARGETS sciqlopcore EXPORT SciQLOPCoreConfig |
|
192 | install(TARGETS sciqlopcore EXPORT SciQLOPCoreConfig | |
193 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} |
|
193 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} | |
194 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
|
194 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | |
195 | RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) |
|
195 | RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) | |
196 |
|
196 | |||
197 | install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SciQLOP) |
|
197 | install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SciQLOP) | |
198 | install(EXPORT SciQLOPCoreConfig DESTINATION share/SciQLOPCore/cmake) |
|
198 | install(EXPORT SciQLOPCoreConfig DESTINATION share/SciQLOPCore/cmake) | |
199 | export(TARGETS sciqlopcore FILE SciQLOPCoreConfig.cmake) |
|
199 | export(TARGETS sciqlopcore FILE SciQLOPCoreConfig.cmake) | |
200 |
|
200 | |||
201 | add_subdirectory(tests) |
|
201 | add_subdirectory(tests) |
General Comments 0
You need to be logged in to leave comments.
Login now