From 9036da80eefea2a317cc7c9c20042b79f3a38682 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 2 Apr 2026 14:04:10 +0200 Subject: [PATCH] Add OHOS (OpenHarmony) platform support Add OHOS as a recognized platform in vcpkg-tool: - Platform expression identifier "ohos" maps to VCPKG_CMAKE_SYSTEM_NAME "OHOS" - Toolchain file mapping for OHOS to scripts/toolchains/ohos.cmake --- src/vcpkg/commands.build.cpp | 4 ++++ src/vcpkg/platform-expression.cpp | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/vcpkg/commands.build.cpp b/src/vcpkg/commands.build.cpp index 249efddaa7..85842b1bfe 100644 --- a/src/vcpkg/commands.build.cpp +++ b/src/vcpkg/commands.build.cpp @@ -1038,6 +1038,10 @@ namespace vcpkg { return m_paths.scripts / "toolchains/ios.cmake"; } + else if (cmake_system_name == "OHOS") + { + return m_paths.scripts / "toolchains/ohos.cmake"; + } else { Checks::msg_exit_with_message(VCPKG_LINE_INFO, diff --git a/src/vcpkg/platform-expression.cpp b/src/vcpkg/platform-expression.cpp index 92a3b7b855..a59eca265e 100644 --- a/src/vcpkg/platform-expression.cpp +++ b/src/vcpkg/platform-expression.cpp @@ -43,6 +43,7 @@ namespace vcpkg::PlatformExpression tvos, watchos, visionos, + ohos, static_link, static_crt, @@ -80,6 +81,7 @@ namespace vcpkg::PlatformExpression {"tvos", Identifier::tvos}, {"watchos", Identifier::watchos}, {"visionos", Identifier::visionos}, + {"ohos", Identifier::ohos}, {"static", Identifier::static_link}, {"staticcrt", Identifier::static_crt}, {"native", Identifier::native}, @@ -707,6 +709,7 @@ namespace vcpkg::PlatformExpression case Identifier::watchos: return true_if_exists_and_equal("VCPKG_CMAKE_SYSTEM_NAME", "watchOS"); case Identifier::visionos: return true_if_exists_and_equal("VCPKG_CMAKE_SYSTEM_NAME", "visionOS"); + case Identifier::ohos: return true_if_exists_and_equal("VCPKG_CMAKE_SYSTEM_NAME", "OHOS"); case Identifier::static_link: return true_if_exists_and_equal("VCPKG_LIBRARY_LINKAGE", "static"); case Identifier::static_crt: return true_if_exists_and_equal("VCPKG_CRT_LINKAGE", "static");