##// END OF EJS Templates
Fix small typo...
jeandet -
r24:1f5244188a64
parent child
Show More
@@ -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 libcatalogs_FOUND)
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