aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/vcpkg-tool-castxml
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/vcpkg-tool-castxml
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/vcpkg-tool-castxml')
-rw-r--r--vcpkg/ports/vcpkg-tool-castxml/portfile.cmake79
-rw-r--r--vcpkg/ports/vcpkg-tool-castxml/vcpkg.json8
2 files changed, 87 insertions, 0 deletions
diff --git a/vcpkg/ports/vcpkg-tool-castxml/portfile.cmake b/vcpkg/ports/vcpkg-tool-castxml/portfile.cmake
new file mode 100644
index 0000000..6344c53
--- /dev/null
+++ b/vcpkg/ports/vcpkg-tool-castxml/portfile.cmake
@@ -0,0 +1,79 @@
+set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+
+set(key NOTFOUND)
+if(VCPKG_CMAKE_SYSTEM_NAME)
+ set(key "${VCPKG_CMAKE_SYSTEM_NAME}-${VCPKG_TARGET_ARCHITECTURE}")
+elseif(VCPKG_TARGET_IS_WINDOWS)
+ set(key "Windows-${VCPKG_TARGET_ARCHITECTURE}")
+endif()
+
+set(archive_path NOTFOUND)
+# For convenient updates, use
+# vcpkg install vcpkg-tool-castxml --cmake-args=-DVCPKG_CASTXML_UPDATE=1
+if(key STREQUAL "Linux-arm64" OR VCPKG_CASTXML_UPDATE)
+ set(filename "castxml-${VERSION}-linux-aarch64.tar.gz")
+ vcpkg_download_distfile(archive_path
+ URLS "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v${VERSION}/castxml-linux-aarch64.tar.gz"
+ FILENAME "${filename}"
+ SHA512 229d5339e217660f09dd87e2e639d666921a8c4e6c328a754dcae4290bba6bcac9d3b8e953814314ecdbf908d5d8e0d7dacbf1fdf6040a2e20d7acb98fb32f7d
+ )
+endif()
+if(key STREQUAL "Linux-x64" OR VCPKG_CASTXML_UPDATE)
+ set(filename "castxml-${VERSION}-linux.tar.gz")
+ vcpkg_download_distfile(archive_path
+ URLS "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v${VERSION}/castxml-linux.tar.gz"
+ FILENAME "${filename}"
+ SHA512 592fcb6c7f85b6a1670cef7e0692ec6d1c9ba2e250825032ed6dcf9581aa169540eded608510aa1208ea1174df48c16390ee7daf7a17c7114d93a83a8a8e109b
+ )
+endif()
+if(key STREQUAL "Darwin-arm64" OR VCPKG_CASTXML_UPDATE)
+ set(filename "castxml-${VERSION}-macos-arm.tar.gz")
+ vcpkg_download_distfile(archive_path
+ URLS "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v${VERSION}/castxml-macos-arm.tar.gz"
+ FILENAME "${filename}"
+ SHA512 4c8c969f7e53cd758b516bada449b322d37ad19d6d46602660d83ece20ce07f3d55462493382a1c422048928962fd33f9704638e2e41637d1147473562a55f94
+ )
+ # Avoid breaking the code signature.
+ set(VCPKG_FIXUP_MACHO_RPATH OFF)
+endif()
+if(key STREQUAL "Darwin-x64" OR VCPKG_CASTXML_UPDATE)
+ set(filename "castxml-${VERSION}-macosx.tar.gz")
+ vcpkg_download_distfile(archive_path
+ URLS "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v${VERSION}/castxml-macosx.tar.gz"
+ FILENAME "${filename}"
+ SHA512 c6986a796ab9a4f4deaf569534d628cc584088aa8b0e56026ea5ba19550b8ceeb41c34f46a85566a21205d6bb529717ee8944cfa9a9c7c27edb0504eece5544a
+ )
+ # Avoid breaking the code signature.
+ set(VCPKG_FIXUP_MACHO_RPATH OFF)
+endif()
+if(key STREQUAL "Windows-x64" OR VCPKG_CASTXML_UPDATE)
+ set(filename "castxml-${VERSION}-windows.zip")
+ vcpkg_download_distfile(archive_path
+ URLS "https://github.com/CastXML/CastXMLSuperbuild/releases/download/v${VERSION}/castxml-windows.zip"
+ FILENAME "${filename}"
+ SHA512 7c1970ad6f2e5f06a8704606db92df3400c4cd9716f88cac604924430c7e6865f8256a67282d28005714f0ed0a42f7f6e386f24ce80fb075371902d35674c6cc
+ )
+endif()
+if(NOT archive_path)
+ message(FATAL_ERROR "Unsupported platform '${key}'. Please implement me!")
+endif()
+
+if(VCPKG_CASTXML_UPDATE)
+ message(STATUS "All downloads are up-to-date.")
+ message(FATAL_ERROR "Stopping due to VCPKG_CASTXML_UPDATE being enabled.")
+endif()
+
+message(STATUS "archive_path: '${archive_path}'")
+
+file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools")
+vcpkg_execute_in_download_mode(
+ COMMAND "${CMAKE_COMMAND}" -E tar xzf "${archive_path}"
+ WORKING_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools"
+)
+
+vcpkg_install_copyright(
+ FILE_LIST
+ "${CURRENT_PACKAGES_DIR}/tools/castxml/share/doc/castxml/NOTICE"
+ "${CURRENT_PACKAGES_DIR}/tools/castxml/share/doc/castxml/LICENSE"
+)
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/tools/castxml/share/doc")
diff --git a/vcpkg/ports/vcpkg-tool-castxml/vcpkg.json b/vcpkg/ports/vcpkg-tool-castxml/vcpkg.json
new file mode 100644
index 0000000..5ce7e82
--- /dev/null
+++ b/vcpkg/ports/vcpkg-tool-castxml/vcpkg.json
@@ -0,0 +1,8 @@
+{
+ "name": "vcpkg-tool-castxml",
+ "version": "0.6.5",
+ "description": "CastXML is a C-family abstract syntax tree XML output tool.",
+ "homepage": "https://github.com/CastXML/CastXML",
+ "license": "Apache-2.0",
+ "supports": "native"
+}