aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/gperftools/install.diff
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/gperftools/install.diff
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/gperftools/install.diff')
-rw-r--r--vcpkg/ports/gperftools/install.diff89
1 files changed, 89 insertions, 0 deletions
diff --git a/vcpkg/ports/gperftools/install.diff b/vcpkg/ports/gperftools/install.diff
new file mode 100644
index 0000000..c4cdfba
--- /dev/null
+++ b/vcpkg/ports/gperftools/install.diff
@@ -0,0 +1,89 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e9647d5..092f40d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -424,7 +424,7 @@ if(MSVC)
+ endif()
+
+ add_library(common
+- STATIC
++ OBJECT
+ src/base/logging.cc
+ src/base/generic_writer.cc
+ src/base/sysinfo.cc
+@@ -497,7 +497,7 @@ endif()
+
+ if(WITH_STACK_TRACE)
+ ### Making the library
+- add_library(stacktrace STATIC
++ add_library(stacktrace OBJECT
+ src/stacktrace.cc
+ src/base/elf_mem_image.cc
+ src/base/vdso_support.cc)
+@@ -926,4 +926,66 @@ if(MSVC)
+ add_subdirectory(src/windows)
+ endif()
+
++foreach(lib IN ITEMS
++ common stacktrace
++ tcmalloc_minimal tcmalloc tcmalloc_minimal_debug tcmalloc_debug
++ profiler
++)
++ if(TARGET "${lib}")
++ install(TARGETS "${lib}")
++ if(lib MATCHES "tcmalloc|profiler")
++ set(pc_file "${CMAKE_CURRENT_BINARY_DIR}/lib${lib}.pc")
++ set(pc_libs_private "${CMAKE_THREAD_LIBS_INIT}")
++ if("execinfo" IN_LIST unwind_libs AND lib MATCHES "tcmalloc")
++ string(APPEND pc_libs_private " -lexecinfo")
++ endif()
++ set(pc_requires_private "")
++ if(gperftools_enable_libunwind AND lib MATCHES "tcmalloc")
++ string(APPEND pc_requires_private " libunwind")
++ endif()
++ file(CONFIGURE OUTPUT "${pc_file}" CONTENT [[
++prefix=
++exec_prefix=${prefix}
++libdir=${prefix}/lib
++includedir=${prefix}/include
++
++Name: @PROJECT_NAME@
++Version: @PROJECT_VERSION@
++Description: Performance tools for C++
++URL: https://github.com/gperftools/gperftools
++Cflags: -I${includedir}
++Libs: -L${libdir} -l@lib@
++Libs.private: @pc_libs_private@
++Requires.private: @pc_requires_private@
++]] @ONLY)
++ install(FILES "${pc_file}" DESTINATION "lib/pkgconfig")
++ endif()
++ endif()
++endforeach()
++
++foreach(exe IN ITEMS addr2line-pdb nm-pdb)
++ if(NOT TARGET "${exe}")
++ continue()
++ elseif(GPERFTOOLS_BUILD_TOOLS)
++ install(TARGETS "${exe}")
++ else()
++ set_target_properties("${exe}" PROPERTIES EXCLUDE_FROM_ALL 1)
++ endif()
++endforeach()
++
++install(
++ FILES
++ src/gperftools/heap-checker.h
++ src/gperftools/heap-profiler.h
++ src/gperftools/malloc_extension.h
++ src/gperftools/malloc_extension_c.h
++ src/gperftools/malloc_hook.h
++ src/gperftools/malloc_hook_c.h
++ src/gperftools/nallocx.h
++ src/gperftools/profiler.h
++ src/gperftools/stacktrace.h
++ "${CMAKE_CURRENT_BINARY_DIR}/gperftools/tcmalloc.h"
++ DESTINATION include/gperftools
++)
++
+ message(WARNING "note: gperftools' cmake support is incomplete and is best-effort only")