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 )