diff options
Diffstat (limited to 'vcpkg/ports/perfetto')
| -rw-r--r-- | vcpkg/ports/perfetto/CMakeLists.txt | 40 | ||||
| -rw-r--r-- | vcpkg/ports/perfetto/portfile.cmake | 28 | ||||
| -rw-r--r-- | vcpkg/ports/perfetto/vcpkg.json | 18 |
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 + } + ] +} |