Revision control

Copy as Markdown

# Copyright (C) 2026 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
find_path(QT_OHOS_NODE_ADDON_API_INCLUDE_DIR
NAMES napi.h
PATH_SUFFIXES node-addon-api
)
if(NOT QT_OHOS_NODE_ADDON_API_INCLUDE_DIR)
message(FATAL_ERROR
"OHOS position plugin needs the node-addon-api headers "
"(napi.h). Add the directory that contains "
"include/node-addon-api/napi.h to CMAKE_PREFIX_PATH "
"(e.g. the ohos-additional-packages prefix).")
endif()
qt_internal_add_plugin(QGeoPositionInfoSourceFactoryOhosPlugin
OUTPUT_NAME qtposition_ohos
CLASS_NAME QOhosGeoPositionInfoSourceFactory
PLUGIN_TYPE position
EXCEPTIONS
SOURCES
positionfactory_ohos.h positionfactory_ohos.cpp
qohosgeopositioninfosource.h qohosgeopositioninfosource.cpp
qohosgeosatelliteinfosource.h qohosgeosatelliteinfosource.cpp
qohospositioncommon.h qohospositioncommon.cpp
qohospositioningenums.h
LIBRARIES
Qt::Core
Qt::CorePrivate
Qt::Positioning
ace_napi.z
hilog_ndk.z
)
target_include_directories(QGeoPositionInfoSourceFactoryOhosPlugin PRIVATE
${QT_OHOS_NODE_ADDON_API_INCLUDE_DIR}
)
target_compile_definitions(QGeoPositionInfoSourceFactoryOhosPlugin PRIVATE
NODE_ADDON_API_CPP_EXCEPTIONS
)