aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/perfetto
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/perfetto
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/perfetto')
-rw-r--r--vcpkg/ports/perfetto/CMakeLists.txt40
-rw-r--r--vcpkg/ports/perfetto/portfile.cmake28
-rw-r--r--vcpkg/ports/perfetto/vcpkg.json18
3 files changed, 86 insertions, 0 deletions
diff --git a/vcpkg/ports/perfetto/CMakeLists.txt b/vcpkg/ports/perfetto/CMakeLists.txt
new file mode 100644
index 0000000..9b56696
--- /dev/null
+++ b/vcpkg/ports/perfetto/CMakeLists.txt
@@ -0,0 +1,40 @@
+# Unofficial perfetto CMakeLists.txt from https://github.com/google/perfetto/blob/v43.1/meson.build
+cmake_minimum_required(VERSION 3.23)
+project(perfetto LANGUAGES CXX)
+
+add_library(perfetto)
+target_compile_features(perfetto PRIVATE cxx_std_17)
+target_sources(perfetto
+ PRIVATE "sdk/perfetto.cc"
+ PUBLIC FILE_SET HEADERS BASE_DIRS "sdk" FILES "sdk/perfetto.h"
+)
+
+set(THREADS_PREFER_PTHREAD_FLAG TRUE)
+find_package(Threads REQUIRED)
+target_link_libraries(perfetto PRIVATE Threads::Threads)
+
+if(ANDROID)
+ target_link_libraries(perfetto PRIVATE log)
+endif(ANDROID)
+
+if(WIN32)
+ target_compile_options(perfetto PRIVATE "/bigobj")
+ target_compile_definitions(perfetto PRIVATE WIN32_LEAN_AND_MEAN NOMINMAX)
+ target_link_libraries(perfetto PRIVATE ws2_32)
+endif(WIN32)
+
+if(MSVC)
+ target_compile_options(perfetto PRIVATE "/permissive-")
+endif(MSVC)
+
+install(TARGETS perfetto
+ EXPORT unofficial-perfetto-config
+ FILE_SET HEADERS DESTINATION "include"
+)
+
+install(EXPORT unofficial-perfetto-config
+ NAMESPACE unofficial::perfetto::
+ DESTINATION "share/unofficial-perfetto"
+)
+
+install(FILES "protos/perfetto/trace/perfetto_trace.proto" DESTINATION "share/unofficial-perfetto")
diff --git a/vcpkg/ports/perfetto/portfile.cmake b/vcpkg/ports/perfetto/portfile.cmake
new file mode 100644
index 0000000..ab9c167
--- /dev/null
+++ b/vcpkg/ports/perfetto/portfile.cmake
@@ -0,0 +1,28 @@
+if (VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO google/perfetto
+ REF "v${VERSION}"
+ SHA512 a6d7b4e791c8640a12062d097805bc1e9feda2271f3e9e0a9dd683a8f25e2a5dec64167692f9a6efb121055d8a36f3e71a26e11b686cd251b8685a449546eb00
+ HEAD_REF main
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_install()
+
+vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-${PORT})
+
+file(REMOVE_RECURSE
+ "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/debug/share"
+)
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/perfetto/vcpkg.json b/vcpkg/ports/perfetto/vcpkg.json
new file mode 100644
index 0000000..4b82416
--- /dev/null
+++ b/vcpkg/ports/perfetto/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "perfetto",
+ "version": "52.0",
+ "description": "System profiling, app tracing and trace analysis",
+ "homepage": "https://perfetto.dev",
+ "license": "Apache-2.0",
+ "supports": "!uwp & !x86",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}