Warning, /libraries/kosmindoormap/src/map/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 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-kosmindoormap.h.in ${CMAKE_CURRENT_BINARY_DIR}/config-kosmindoormap.h)
0005 
0006 add_library(KOSMIndoorMap)
0007 target_sources(KOSMIndoorMap PRIVATE
0008     loader/boundarysearch.cpp
0009     loader/levelparser.cpp
0010     loader/mapdata.cpp
0011     loader/maploader.cpp
0012     loader/marblegeometryassembler.cpp
0013     loader/tilecache.cpp
0014 )
0015 if (NOT BUILD_TOOLS_ONLY)
0016     flex_target(mapcssscanner
0017         style/mapcsslexer.l
0018         ${CMAKE_CURRENT_BINARY_DIR}/mapcsslexer.cpp
0019         DEFINES_FILE ${CMAKE_CURRENT_BINARY_DIR}/mapcssscanner.h
0020         COMPILE_FLAGS "--nounistd"
0021     )
0022     bison_target(mapcssparser
0023         style/mapcssparser.y
0024         ${CMAKE_CURRENT_BINARY_DIR}/mapcssparser_impl.cpp
0025         DEFINES_FILE ${CMAKE_CURRENT_BINARY_DIR}/mapcssparser_impl.h
0026     )
0027     add_flex_bison_dependency(mapcssscanner mapcssparser)
0028     set_source_files_properties(${BISON_mapcssparser_OUTPUTS} ${FLEX_mapcssscanner_OUTPUTS} PROPERTIES SKIP_AUTOMOC ON)
0029 
0030     target_sources(KOSMIndoorMap PRIVATE
0031         assets/assets.qrc
0032 
0033         content/equipmentmodel.cpp
0034         content/floorlevelmodel.cpp
0035         content/gatemodel.cpp
0036         content/platform.cpp
0037         content/platformfinder.cpp
0038         content/platformmodel.cpp
0039 
0040         renderer/hitdetector.cpp
0041         renderer/painterrenderer.cpp
0042         renderer/stackblur.cpp
0043 
0044         scene/iconloader.cpp
0045         scene/openinghourscache.cpp
0046         scene/overlaysource.cpp
0047         scene/penwidthutil.cpp
0048         scene/poleofinaccessibilityfinder.cpp
0049         scene/scenecontroller.cpp
0050         scene/scenegeometry.cpp
0051         scene/scenegraph.cpp
0052         scene/scenegraphitem.cpp
0053         scene/texturecache.cpp
0054         scene/view.cpp
0055 
0056         style/mapcsscondition.cpp
0057         style/mapcssdeclaration.cpp
0058         style/mapcssparser.cpp
0059         style/mapcssresult.cpp
0060         style/mapcssrule.cpp
0061         style/mapcssselector.cpp
0062         style/mapcssstate.cpp
0063         style/mapcssstyle.cpp
0064         ${BISON_mapcssparser_OUTPUTS}
0065         ${FLEX_mapcssscanner_OUTPUTS}
0066     )
0067 endif()
0068 
0069 ecm_qt_declare_logging_category(KOSMIndoorMap
0070     HEADER logging.h
0071     IDENTIFIER KOSMIndoorMap::Log
0072     CATEGORY_NAME org.kde.kosmindoormap
0073     DESCRIPTION "KOSMIndoorMap"
0074     EXPORT KOSMINDOORMAP
0075 )
0076 ecm_qt_declare_logging_category(KOSMIndoorMap
0077     HEADER render-logging.h
0078     IDENTIFIER KOSMIndoorMap::RenderLog
0079     CATEGORY_NAME org.kde.kosmindoormap.renderer
0080     DESCRIPTION "KOSMIndoorMap (Rendering)"
0081     EXPORT KOSMINDOORMAP
0082 )
0083 ecm_qt_declare_logging_category(KOSMIndoorMap
0084     HEADER reassembly-logging.h
0085     IDENTIFIER KOSMIndoorMap::ReassemblyLog
0086     CATEGORY_NAME org.kde.kosmindoormap.reassembly
0087     DESCRIPTION "KOSMIndoorMap (Geometry Reassembly)"
0088     EXPORT KOSMINDOORMAP
0089 )
0090 
0091 generate_export_header(KOSMIndoorMap BASE_NAME KOSMIndoorMap)
0092 set_target_properties(KOSMIndoorMap PROPERTIES
0093     VERSION ${KOSMINDOORMAP_VERSION}
0094     SOVERSION ${KOSMINDOORMAP_SOVERSION}
0095     EXPORT_NAME KOSMIndoorMap
0096 )
0097 
0098 target_include_directories(KOSMIndoorMap PRIVATE $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
0099 target_include_directories(KOSMIndoorMap PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>)
0100 target_include_directories(KOSMIndoorMap INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR}>")
0101 target_link_libraries(KOSMIndoorMap
0102     PUBLIC Qt::Core KOSM
0103     PRIVATE Qt::Network Qt::CorePrivate
0104 )
0105 if (NOT BUILD_TOOLS_ONLY)
0106     target_link_libraries(KOSMIndoorMap
0107         PUBLIC Qt::Gui
0108         PRIVATE KOpeningHours
0109     )
0110 endif()
0111 
0112 ecm_generate_headers(KOSMIndoorMap_Content_FORWARDING_HEADERS
0113     HEADER_NAMES
0114         EquipmentModel
0115         FloorLevelModel
0116         GateModel
0117         Platform
0118         PlatformModel
0119     PREFIX KOSMIndoorMap
0120     REQUIRED_HEADERS KOSMIndoorMap_Content_HEADERS
0121     RELATIVE content
0122 )
0123 ecm_generate_headers(KOSMIndoorMap_Loader_FORWARDING_HEADERS
0124     HEADER_NAMES
0125         MapLoader
0126         MapData
0127     PREFIX KOSMIndoorMap
0128     REQUIRED_HEADERS KOSMIndoorMap_Loader_HEADERS
0129     RELATIVE loader
0130 )
0131 ecm_generate_headers(KOSMIndoorMap_Renderer_FORWARDING_HEADERS
0132     HEADER_NAMES
0133         HitDetector
0134         PainterRenderer
0135     PREFIX KOSMIndoorMap
0136     REQUIRED_HEADERS KOSMIndoorMap_Renderer_HEADERS
0137     RELATIVE renderer
0138 )
0139 ecm_generate_headers(KOSMIndoorMap_Scene_FORWARDING_HEADERS
0140     HEADER_NAMES
0141         OverlaySource
0142         SceneController
0143         SceneGraph
0144         SceneGraphItem
0145         View
0146     PREFIX KOSMIndoorMap
0147     REQUIRED_HEADERS KOSMIndoorMap_Scene_HEADERS
0148     RELATIVE scene
0149 )
0150 ecm_generate_headers(KOSMIndoorMap_Style_FORWARDING_HEADERS
0151     HEADER_NAMES
0152         MapCSSElementState
0153         MapCSSParser
0154         MapCSSProperty
0155         MapCSSResult
0156         MapCSSStyle
0157         MapCSSTypes
0158     PREFIX KOSMIndoorMap
0159     REQUIRED_HEADERS KOSMIndoorMap_Style_HEADERS
0160     RELATIVE style
0161 )
0162 
0163 install(TARGETS KOSMIndoorMap EXPORT KOSMIndoorMapTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
0164 install(FILES
0165     ${KOSMIndoorMap_Content_FORWARDING_HEADERS}
0166     ${KOSMIndoorMap_Loader_FORWARDING_HEADERS}
0167     ${KOSMIndoorMap_Renderer_FORWARDING_HEADERS}
0168     ${KOSMIndoorMap_Scene_FORWARDING_HEADERS}
0169     ${KOSMIndoorMap_Style_FORWARDING_HEADERS}
0170     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KOSMIndoorMap
0171 )
0172 install(FILES
0173     ${KOSMIndoorMap_Content_HEADERS}
0174     ${KOSMIndoorMap_Loader_HEADERS}
0175     ${KOSMIndoorMap_Renderer_HEADERS}
0176     ${KOSMIndoorMap_Scene_HEADERS}
0177     ${KOSMIndoorMap_Style_HEADERS}
0178     ${CMAKE_CURRENT_BINARY_DIR}/kosmindoormap_export.h
0179     DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kosmindoormap
0180 )