Добавлена поддержка сборочной системы CMake
This commit is contained in:
parent
c3fa049363
commit
e2cbaf56ef
3
CMakeLists.txt
Normal file
3
CMakeLists.txt
Normal file
@ -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](src/gis-map-server/) - Python веб-сервер
|
||||
|
||||
[gis-client-render](src/gis-client-render) - Qt клиент для отображения
|
||||
|
||||
Архитектура проекта:
|
||||
## Архитектура
|
||||
|
||||
![GIS Map Server](src/gis-map-server/docs/architecture.drawio.png)
|
||||
|
||||
Сервис принимает запросы на отрисовку региона средствами [ПК ЦКИ](https://kpda.ru/products/gis/) и возвращает отрисованную карту в виде картинки (поддерживаемые выходные форматы: bmp, png, jpeg).
|
||||
|
||||
Для сборки необходимо выполнить следующие команды:
|
||||
## Сборка
|
||||
|
||||
- При помощи рекурсивной сборочной подсистемы:
|
||||
```
|
||||
cd src # Перейти в директорию с исходниками
|
||||
lrelease gis-client-render/translations/*.ts # Единожды сформировать файл переводов
|
||||
@ -19,6 +23,19 @@ CPULIST=x86 make install # Сборка под конкр
|
||||
```
|
||||
В результате в директорию `.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` предоставляет веб-интерфейс, внешний вид которого показан на рисунке 1.
|
||||
|
||||
|
4
src/CMakeLists.txt
Normal file
4
src/CMakeLists.txt
Normal file
@ -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
Normal file
54
src/gis-client-render/CMakeLists.txt
Normal file
@ -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
Normal file
12
src/gis-map-server/CMakeLists.txt
Normal file
@ -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 )
|
Loading…
Reference in New Issue
Block a user