# # $Id$ # $HeadURL$ # $Author$ # # Qt6 + ArcGIS 300 migration: Qt5::->Qt6:: and gated on BUILD_ARCGIS (ArcGIS # dependent) to match the migrated Symbology convention. # # LIBRARY # Build this target as separate translation units (NOT a unity build). # area_fire_impl.cpp and single_fire_impl.cpp each define the same file-scope # statics (s_gunToTargetLine3DKEY / s_gunToTargetLineSurfaceKEY / s_nonLethalAreaKEY, # internal linkage, both in namespace SituationMap). Separate TUs keep the copies # independent (legacy structure); a unity TU sees two definitions in one scope and # fails with "redefinition of 'int SituationMap::...'" (behavior-neutral to disable). set(CMAKE_UNITY_BUILD FALSE) SET(MapObj_SRCS # geometry.cpp ) SET(MapObj_HDRS situation_map_objects_export.h ) SET(MapObjImpl_SRCS abstract_multi_point_map_object_impl.cpp abstract_single_point_map_object_impl.cpp air_support_impl.cpp area_fire_impl.cpp basic_path_object_impl.cpp biological_agent_impl.cpp building_outline_impl.cpp chemical_agent_impl.cpp cube_impl.cpp danger_area_impl.cpp functional_area_impl.cpp geo_image_impl.cpp hit_line_impl.cpp line_of_sight_impl.cpp indication_container.cpp mine_impl.cpp map_object_attributes_impl.cpp map_object_indicator_impl.cpp mine_field_impl.cpp nine_liner_impl.cpp nuclear_agent_impl.cpp path_container.cpp path_container.h participant_impl.cpp polygon_impl.cpp polyline_impl.cpp single_fire_impl.cpp # single_fire_central_impl.cpp sound_area_impl.cpp text_impl.cpp virtual_mine_impl.cpp ) SET(MapObjImpl_HDRS abstract_multi_point_map_object_impl.h abstract_single_point_map_object_impl.h air_support_impl.h area_fire_impl.h basic_path_object_impl.h biological_agent_impl.h building_outline_impl.h chemical_agent_impl.h cube_impl.h danger_area_impl.h functional_area_impl.h geo_image_impl.h hit_line_impl.h line_of_sight_impl.h indication_container.h map_object_attributes_impl.h map_object_indicator_impl.h mine_field_impl.h mine_impl.h nuclear_agent_impl.h nine_liner_impl.h participant_impl.h polygon_impl.h polyline_impl.h single_fire_impl.h # single_fire_central_impl.h sound_area_impl.h text_impl.h virtual_mine_impl.h situation_map_objects_export.h ) SOURCE_GROUP(FunctionDialog FILES ${FunctionDialog_SRCS}) SOURCE_GROUP(MapObjectsImpl FILES ${MapObj_SRCS} ${MapObj_HDRS} ${MapObjImpl_SRCS} ${MapObjImpl_HDRS}) IF(BUILD_ARCGIS) NGL_ADD_LIBRARY(WS situationMapObjects SHARED ${MapObj_SRCS} ${MapObj_HDRS} ${MapObjImpl_SRCS} ${MapObjImpl_HDRS}) NGL_TARGET_INCLUDE_DIRECTORIES(situationMapObjects PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/.. ) NGL_TARGET_LINK_LIBRARIES(situationMapObjects PRIVATE NGLLogger ArcGIS::ArcGIS LtsCoordTrans PUBLIC situationMap Qt6::Core Qt6::Widgets ) NGL_INSTALL_TARGET(situationMapObjects) ENDIF() # BUILD_ARCGIS