aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/perfetto/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/perfetto/CMakeLists.txt')
-rw-r--r--vcpkg/ports/perfetto/CMakeLists.txt40
1 files changed, 40 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")