Warning, /libraries/kpublictransport/src/lib/knowledgedb/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 # SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org>
0002 # SPDX-License-Identifier: BSD-3-Clause
0003 
0004 if (CMAKE_CROSSCOMPILING OR NOT OSM_PLANET_DIR OR NOT OsmTools_FOUND)
0005     return()
0006 endif()
0007 
0008 # Extract route_master and route relation of relevant transport modes from a full planet-osm data file.
0009 # The output of this acts as input for the code generator for the line meta data tables.
0010 
0011 # extract all route and route_master relations with types we are interested in
0012 # this can take ~15min and produces about 100MB of output
0013 osm_filter(OUTPUT routes.o5m FILTER --keep=\"route_master=train or route_master=subway or route_master=tram or route_master=light_rail or route=train or route=subway or route=tram or route=light_rail\")
0014 
0015 # augment bounding box information
0016 osm_convert(INPUT routes.o5m OUTPUT routes-bbox.o5m ADD_BBOX ON)
0017 
0018 # drop all depending nodes/ways/relations we wont need
0019 # this is merely to speed up the code generator, by reducing the resulting XML output to manageable sizes
0020 osm_filter(INPUT routes-bbox.o5m OUTPUT routes-only.o5m FILTER --keep=\"route_master=train or route_master=subway or route_master=tram route_master=light_rail or route=train or route=subway or route=tram or route=light_rail\" --ignore-dependencies)
0021 
0022 add_custom_command(
0023     OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/linemetadata_data.cpp
0024     COMMAND
0025         line-data-generator -o ${CMAKE_CURRENT_SOURCE_DIR}/linemetadata_data.cpp -i ${OSM_PLANET_DIR}/routes-only.o5m
0026     DEPENDS
0027         line-data-generator ${OSM_PLANET_DIR}/routes-only.o5m
0028 )
0029 add_custom_target(rebuild-knowledgedb DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/linemetadata_data.cpp)