Добавлена поддержка сборочной системы CMake
Этот коммит содержится в:
родитель
c3fa049363
Коммит
e2cbaf56ef
3
CMakeLists.txt
Обычный файл
3
CMakeLists.txt
Обычный файл
@ -0,0 +1,3 @@
|
|||||||
|
cmake_minimum_required( VERSION 3.23 FATAL_ERROR )
|
||||||
|
|
||||||
|
add_subdirectory( src )
|
21
README.md
21
README.md
@ -1,16 +1,20 @@
|
|||||||
# gis-map-server
|
# gis-map-server
|
||||||
|
|
||||||
Веб-сервис для распространения и тестовый клиент для отображения картографической информации.
|
Веб-сервис для распространения и тестовый клиент для отображения картографической информации.
|
||||||
|
|
||||||
[gis-map-server](src/gis-map-server/) - Python веб-сервер
|
[gis-map-server](src/gis-map-server/) - Python веб-сервер
|
||||||
|
|
||||||
[gis-client-render](src/gis-client-render) - Qt клиент для отображения
|
[gis-client-render](src/gis-client-render) - Qt клиент для отображения
|
||||||
|
|
||||||
Архитектура проекта:
|
## Архитектура
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
Сервис принимает запросы на отрисовку региона средствами [ПК ЦКИ](https://kpda.ru/products/gis/) и возвращает отрисованную карту в виде картинки (поддерживаемые выходные форматы: bmp, png, jpeg).
|
Сервис принимает запросы на отрисовку региона средствами [ПК ЦКИ](https://kpda.ru/products/gis/) и возвращает отрисованную карту в виде картинки (поддерживаемые выходные форматы: bmp, png, jpeg).
|
||||||
|
|
||||||
Для сборки необходимо выполнить следующие команды:
|
## Сборка
|
||||||
|
|
||||||
|
- При помощи рекурсивной сборочной подсистемы:
|
||||||
```
|
```
|
||||||
cd src # Перейти в директорию с исходниками
|
cd src # Перейти в директорию с исходниками
|
||||||
lrelease gis-client-render/translations/*.ts # Единожды сформировать файл переводов
|
lrelease gis-client-render/translations/*.ts # Единожды сформировать файл переводов
|
||||||
@ -19,6 +23,19 @@ CPULIST=x86 make install # Сборка под конкр
|
|||||||
```
|
```
|
||||||
В результате в директорию `.install/neutrino` в корне проекта, инсталлируются runtime-компоненты.
|
В результате в директорию `.install/neutrino` в корне проекта, инсталлируются runtime-компоненты.
|
||||||
|
|
||||||
|
- При помощи CMake:
|
||||||
|
```
|
||||||
|
cd src # Перейти в директорию с исходниками
|
||||||
|
mkdir -p .build # Создаём сборочную директорию
|
||||||
|
cd .build # Переходим в сборочную директорию
|
||||||
|
cmake --toolchain=$KPDA_HOST/mk/cmake/toolchain-nto-x86.cmake .. # Конфигурируем проект (например, x86)
|
||||||
|
cmake --build . # Сборка под сконфигурированную архитектуру (например, x86)
|
||||||
|
cmake --install . --prefix /installation/path # Установка проекта
|
||||||
|
```
|
||||||
|
В результате в директорию `/installation/path` инсталлируются runtime-компоненты.
|
||||||
|
|
||||||
|
## Запуск
|
||||||
|
|
||||||
При запуске веб-сервер `gis-map-server` считывает [конфигурационный файл](src/gis-map-server/gis-map-server.conf).
|
При запуске веб-сервер `gis-map-server` считывает [конфигурационный файл](src/gis-map-server/gis-map-server.conf).
|
||||||
`gis-map-server` предоставляет веб-интерфейс, внешний вид которого показан на рисунке 1.
|
`gis-map-server` предоставляет веб-интерфейс, внешний вид которого показан на рисунке 1.
|
||||||
|
|
||||||
|
4
src/CMakeLists.txt
Обычный файл
4
src/CMakeLists.txt
Обычный файл
@ -0,0 +1,4 @@
|
|||||||
|
cmake_minimum_required( VERSION 3.23 FATAL_ERROR )
|
||||||
|
|
||||||
|
add_subdirectory( gis-map-server )
|
||||||
|
add_subdirectory( gis-client-render )
|
54
src/gis-client-render/CMakeLists.txt
Обычный файл
54
src/gis-client-render/CMakeLists.txt
Обычный файл
@ -0,0 +1,54 @@
|
|||||||
|
cmake_minimum_required( VERSION 3.23 FATAL_ERROR )
|
||||||
|
|
||||||
|
project( gis-client-render LANGUAGES CXX )
|
||||||
|
|
||||||
|
set( CMAKE_AUTOMOC ON )
|
||||||
|
set( CMAKE_AUTOUIC ON )
|
||||||
|
set( CMAKE_AUTORCC ON )
|
||||||
|
|
||||||
|
add_compile_options( -std=gnu++11 )
|
||||||
|
|
||||||
|
file( GLOB SOURCES
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
||||||
|
images.qrc
|
||||||
|
translations.qrc )
|
||||||
|
|
||||||
|
add_executable( gis-client-render ${SOURCES} )
|
||||||
|
|
||||||
|
find_package( Qt5
|
||||||
|
COMPONENTS
|
||||||
|
Core
|
||||||
|
Gui
|
||||||
|
Network
|
||||||
|
Widgets
|
||||||
|
REQUIRED )
|
||||||
|
|
||||||
|
add_custom_command( OUTPUT
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/translations/gis-client-render_ru.qm
|
||||||
|
COMMAND
|
||||||
|
lrelease -silent ${CMAKE_CURRENT_SOURCE_DIR}/*.pro )
|
||||||
|
|
||||||
|
add_custom_target( generate_translations_client_render
|
||||||
|
DEPENDS
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/translations/gis-client-render_ru.qm )
|
||||||
|
|
||||||
|
qt5_add_resources( gis-client-render
|
||||||
|
IMAGES
|
||||||
|
FILES
|
||||||
|
images.qrc
|
||||||
|
translations.qrc )
|
||||||
|
|
||||||
|
target_include_directories( gis-client-render
|
||||||
|
PRIVATE
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR} )
|
||||||
|
|
||||||
|
add_dependencies( gis-client-render generate_translations_client_render )
|
||||||
|
|
||||||
|
target_link_libraries( gis-client-render
|
||||||
|
PUBLIC
|
||||||
|
Qt5::Core
|
||||||
|
Qt5::Gui
|
||||||
|
Qt5::Network
|
||||||
|
Qt5::Widgets )
|
||||||
|
|
||||||
|
install( TARGETS gis-client-render DESTINATION opt/gis/bin )
|
12
src/gis-map-server/CMakeLists.txt
Обычный файл
12
src/gis-map-server/CMakeLists.txt
Обычный файл
@ -0,0 +1,12 @@
|
|||||||
|
cmake_minimum_required( VERSION 3.23 FATAL_ERROR )
|
||||||
|
|
||||||
|
project( gis-map-server )
|
||||||
|
|
||||||
|
install( FILES START.sh DESTINATION opt/gis/sbin/gis-map-server.sh )
|
||||||
|
install( FILES net_interface.py DESTINATION opt/gis/data/resources )
|
||||||
|
install( FILES scheduler.py DESTINATION opt/gis/data/resources )
|
||||||
|
install( FILES server.py DESTINATION opt/gis/data/resources )
|
||||||
|
install( FILES storage.py DESTINATION opt/gis/data/resources )
|
||||||
|
install( FILES utils.py DESTINATION opt/gis/data/resources )
|
||||||
|
install( DIRECTORY html DESTINATION opt/gis/data/resources )
|
||||||
|
install( FILES gis-map-server.conf DESTINATION opt/gis/data/config )
|
Загрузка…
x
Ссылка в новой задаче
Block a user