Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase heaptrack-d onto upstream master #1

Open
wants to merge 448 commits into
base: heaptrack-d
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
448 commits
Select commit Hold shift + click to select a range
25df66a
Add copy action to flame graph context menu
milianw Sep 24, 2021
3e7405e
Remove call to __libc_freeres and use builtin suppressions instead
milianw Sep 24, 2021
0195be4
Convert license headers to SPDX
alex1701c Sep 26, 2021
5837758
Remove obsolete COPYING file
alex1701c Sep 26, 2021
d179849
Adjust SPDX contact information
alex1701c Sep 26, 2021
b816e75
Add SPDX license information for third party files
alex1701c Sep 26, 2021
997c324
Update .gitignore
alex1701c Sep 26, 2021
e3210e7
Add SPDX license information to cmake files
alex1701c Sep 26, 2021
f9c4961
Add license info for hashmodel with hotspot license agreement
alex1701c Sep 26, 2021
311bb5e
Skip subdir with spaces when using makefile generator
milianw Oct 18, 2021
d9a7679
Add total allocated size to size histogram tooltip
milianw Nov 11, 2021
1a6d63a
Set recommended purpose for optional dependencies
milianw Dec 3, 2021
33aff9b
Set version to 1.3.0
milianw Dec 8, 2021
6b76b9b
Set version to 1.3.80
milianw Dec 8, 2021
24d5936
Let releaseme know to skip po install
a17r Dec 20, 2021
1a38dfe
Pass client exit code in heaptrack.sh
Feb 14, 2022
cf41da7
tests/manual/dlopen.cpp: skip if RTLD_DEEPBIND is undefined
Piraty Jan 9, 2022
81a69e1
src/track/libheaptrack.cpp: don't use reserved __pid_t
Piraty Jan 9, 2022
5e780db
src/track/heaptrack_inject.cpp: don't rely on reserved __WORDSIZE
Piraty Jan 9, 2022
5e73098
Add release and content rating to appdata
flyingcakes85 Feb 21, 2022
155749c
GIT_SILENT made messages (after extraction)
Feb 23, 2022
fa69d84
GIT_SILENT made messages (after extraction)
Feb 27, 2022
d4d69ca
GIT_SILENT made messages (after extraction)
Mar 11, 2022
9aa1073
Leverage non-deprecated mallinfo2
milianw Mar 17, 2022
69e9e27
GIT_SILENT made messages (after extraction)
Mar 20, 2022
05998e5
Add support for the mimalloc allocator
MasterDuke17 Feb 22, 2022
8d9d832
Explicitly encode which hooks are required and which are optional
milianw Mar 24, 2022
b25520e
Make mi_* symbols truly optional by usig weak symbols for them
milianw Mar 27, 2022
bbc69c2
Prevent malloc from disappearing in inlining example
milianw Aug 16, 2021
6a92315
Fix dlopen manual test executable
milianw Mar 29, 2022
474a7a2
GIT_SILENT made messages (after extraction)
Apr 4, 2022
668dc4b
handle calling heaptrack_stop() without debuginfo
llunak Apr 8, 2022
a92c3b5
Disable builtin suppressions to unbreak tst_parser
milianw Apr 11, 2022
e3914ad
Ensure we don't try to overwrite invalid tables
milianw Apr 26, 2022
9cf979b
Make elf_symbol_table a view of const Elf::Sym
milianw Apr 26, 2022
6073f29
Cleanup code and introduce elftable::start/end
milianw Apr 26, 2022
357df24
Ensure we don't read outside the string table for symbol names
milianw Apr 26, 2022
2a3f7c7
Unset DEBUGINFOD_URLS before attaching heaptrack via GDB
milianw Apr 26, 2022
d9c51f3
Remove remnants of hotspot's commercial license
milianw Apr 21, 2022
93e2731
Silence -Wuse-after-free for realloc call
milianw May 19, 2022
3234e45
Revert to dlmopen/dlopen if __libc_dlopen_mode doesn't exist
milianw May 24, 2022
f1c1e2c
Set version to 1.4.0 in preparation of release
milianw May 24, 2022
670bf2d
raise version to 1.4.80 now that 1.4 got branched off
milianw May 24, 2022
48773d5
Rely on __USE_GNU to decide whether dlmopen is available
milianw May 24, 2022
0045a09
Skip libc_dlopen_mode check in tst_inject
milianw May 24, 2022
8c59b0a
Also test dlmopen in tst_inject
milianw May 24, 2022
9a44b14
Merge branch '1.4'
milianw May 24, 2022
12779df
GIT_SILENT made messages (after extraction)
May 25, 2022
8e9fc53
GIT_SILENT made messages (after extraction)
May 28, 2022
f446741
GIT_SILENT made messages (after extraction)
May 28, 2022
310f2d3
GIT_SILENT made messages (after extraction)
May 31, 2022
4ed3d54
SVN_SILENT made messages (.desktop file) - always resolve ours
May 31, 2022
61408a8
GIT_SILENT made messages (after extraction)
May 31, 2022
cf0f607
SVN_SILENT made messages (.desktop file) - always resolve ours
May 31, 2022
c5e250d
GIT_SILENT made messages (after extraction)
Jun 7, 2022
840db83
GIT_SILENT made messages (after extraction)
Jun 7, 2022
ca9a777
Add --record-only CLI option
milianw Jun 4, 2022
e85169c
Update macOS install instructions
seanlinsley Jun 8, 2022
e07d85c
LibUnwind -> Libunwind to silence cmake warning
milianw Jun 12, 2022
56d4f38
Remove cmake_minimum_required for libbacktrace
milianw Jun 12, 2022
09af2e6
Don't use space for target name
milianw Jun 12, 2022
40f24b9
Merge branch '1.4'
milianw Jun 12, 2022
9593257
GIT_SILENT made messages (after extraction)
Jun 13, 2022
0055e50
SVN_SILENT made messages (.desktop file) - always resolve ours
Jun 13, 2022
a48657d
GIT_SILENT made messages (after extraction)
Jun 13, 2022
a51955a
SVN_SILENT made messages (.desktop file) - always resolve ours
Jun 13, 2022
625487f
GIT_SILENT made messages (after extraction)
Jun 14, 2022
4e8afc7
Update appstream metadata
milianw Jun 15, 2022
9e5514e
Set correct version for heaptrack_gui
milianw Jun 15, 2022
4524891
Merge branch '1.4'
milianw Jun 15, 2022
7e03374
Port away from foreach
milianw Jun 15, 2022
a87f9ad
Use 3.16.0 as minimum cmake if possible
milianw Jun 15, 2022
e1ea029
Don't always output path to libheaptrack preload lib
milianw Jul 11, 2022
d906a08
Return early when __libc_dlopen_mode is detected
milianw Jul 11, 2022
dd232f0
Don't overwrite anything within linux_vdso
milianw Jul 11, 2022
225639c
Check size of symtab before dereferencing symbols
milianw Jul 11, 2022
10ee544
GIT_SILENT made messages (after extraction)
Jul 14, 2022
6f90525
SVN_SILENT made messages (.desktop file) - always resolve ours
Jul 14, 2022
53dabd9
Remove arcconfig
nicolasfella Aug 4, 2022
487be2d
Remove explicit use of ECM_KDE_MODULE_DIR, is part of ECM_MODULE_PATH
kossebau Aug 14, 2022
f70dde9
Use non-deprecated KDEInstallDirs variables
kossebau Sep 16, 2022
ad05a89
GIT_SILENT made messages (after extraction)
Sep 21, 2022
ff1484c
GIT_SILENT Sync po/docbooks with svn
Oct 2, 2022
b1b4fd3
GIT_SILENT Sync po/docbooks with svn
Oct 3, 2022
fbeb3f9
Add "Export As..." button for chart tabs in new chart toolbar
croemheld Oct 1, 2022
5b70a0a
Add checkboxes for showing/hiding total/detailed cost graph
croemheld Oct 3, 2022
2a1f21f
Add spin box for changing number of visible plots in detailed cost graph
croemheld Oct 3, 2022
1afd223
Add legend checkbox for displaying symbols depicted in detailed cost …
croemheld Oct 3, 2022
5bca03a
Reduce margins and spacing in flamegraph
milianw Oct 4, 2022
ad0d556
Reduce font size in legend
milianw Oct 4, 2022
47e20f2
GIT_SILENT Sync po/docbooks with svn
Oct 5, 2022
035104c
GIT_SILENT Sync po/docbooks with svn
Oct 6, 2022
1f5f55a
GIT_SILENT Sync po/docbooks with svn
Oct 7, 2022
fcddfb7
Fix linker errors when building with gcov enabled
milianw Oct 7, 2022
758c50c
Never build tst_inject with sanitizers enabled
milianw Oct 7, 2022
8d9ec82
Put tests and benchmarks into $build/bin folder
milianw Oct 7, 2022
70193d7
GIT_SILENT Sync po/docbooks with svn
Oct 8, 2022
8bc6123
GIT_SILENT Sync po/docbooks with svn
Oct 8, 2022
2e841e0
Add GitLab CI
kbroulik Oct 6, 2022
dd85634
Port from I18N_NOOP
kbroulik Oct 8, 2022
c658998
GIT_SILENT Sync po/docbooks with svn
Oct 9, 2022
b014fdb
GIT_SILENT made messages (after extraction)
Oct 10, 2022
293f35e
SVN_SILENT made messages (.desktop file) - always resolve ours
Oct 10, 2022
d0be1ee
GIT_SILENT Sync po/docbooks with svn
Oct 10, 2022
6907640
GIT_SILENT Sync po/docbooks with svn
Oct 13, 2022
e525ce7
GIT_SILENT Sync po/docbooks with svn
Oct 15, 2022
40e6f4e
GIT_SILENT Sync po/docbooks with svn
Oct 20, 2022
e8d7252
GIT_SILENT Sync po/docbooks with svn
Oct 21, 2022
bfdf7db
GIT_SILENT Sync po/docbooks with svn
Oct 23, 2022
543802d
GIT_SILENT Sync po/docbooks with svn
Oct 31, 2022
ce961db
GIT_SILENT Sync po/docbooks with svn
Nov 7, 2022
09017c7
GIT_SILENT Sync po/docbooks with svn
Nov 20, 2022
c0e00e2
Refactor IdeSettings code to not rely on KLazyLocalizedString
milianw Nov 20, 2022
f49ca93
GIT_SILENT Sync po/docbooks with svn
Nov 21, 2022
94d663d
GIT_SILENT Sync po/docbooks with svn
Nov 24, 2022
b192527
GIT_SILENT Sync po/docbooks with svn
Nov 29, 2022
db4ba2b
GIT_SILENT Sync po/docbooks with svn
Nov 30, 2022
63bd62c
GIT_SILENT Sync po/docbooks with svn
Dec 2, 2022
abab24d
call `set language c` when running GDB from heaptrack.sh
misclicked Dec 2, 2022
396d4d3
GIT_SILENT Sync po/docbooks with svn
Dec 14, 2022
de3174a
Add missing include
heirecka Dec 15, 2022
59df72f
GIT_SILENT Sync po/docbooks with svn
Dec 25, 2022
c17febd
GIT_SILENT Sync po/docbooks with svn
Jan 1, 2023
3bed426
GIT_SILENT Sync po/docbooks with svn
Jan 3, 2023
406307e
GIT_SILENT Sync po/docbooks with svn
Jan 4, 2023
e5b24e2
GIT_SILENT Sync po/docbooks with svn
Jan 13, 2023
b077bfb
GIT_SILENT Sync po/docbooks with svn
Jan 18, 2023
315aa71
Fix build with gcc 13 by including <cstdint>
heirecka Jan 23, 2023
ec52f4f
GIT_SILENT Sync po/docbooks with svn
Feb 4, 2023
3bc8822
GIT_SILENT made messages (after extraction)
Feb 5, 2023
2fc79a5
SVN_SILENT made messages (.desktop file) - always resolve ours
Feb 5, 2023
dbda4cf
GIT_SILENT Sync po/docbooks with svn
Feb 5, 2023
c9ae864
GIT_SILENT Sync po/docbooks with svn
Feb 6, 2023
cccd7a0
GIT_SILENT Sync po/docbooks with svn
Feb 8, 2023
319218c
GIT_SILENT Sync po/docbooks with svn
Feb 16, 2023
e5cd444
GIT_SILENT Sync po/docbooks with svn
Feb 23, 2023
4dfbf14
GIT_SILENT Sync po/docbooks with svn
Feb 25, 2023
e329d32
GIT_SILENT Sync po/docbooks with svn
Feb 27, 2023
066afe6
GIT_SILENT Sync po/docbooks with svn
Feb 28, 2023
0e2d452
Update MacOS installation instructions
nbaksalyar Mar 5, 2023
a0be076
GIT_SILENT made messages (after extraction)
Mar 12, 2023
4ae7d3c
GIT_SILENT Sync po/docbooks with svn
Mar 12, 2023
8f23cf8
GIT_SILENT Sync po/docbooks with svn
Mar 27, 2023
d3d5e3f
GIT_SILENT Sync po/docbooks with svn
Mar 28, 2023
e183eb5
GIT_SILENT Sync po/docbooks with svn
Apr 11, 2023
cf8d20c
GIT_SILENT Sync po/docbooks with svn
Apr 17, 2023
032e7db
GIT_SILENT Sync po/docbooks with svn
Apr 22, 2023
23b8ed4
GIT_SILENT Sync po/docbooks with svn
Apr 23, 2023
f6fc1ae
GIT_SILENT Sync po/docbooks with svn
Apr 24, 2023
524d01c
GIT_SILENT Sync po/docbooks with svn
Apr 30, 2023
ca78a37
GIT_SILENT Sync po/docbooks with svn
May 23, 2023
39f84eb
GIT_SILENT Sync po/docbooks with svn
May 30, 2023
ab1919f
GIT_SILENT made messages (after extraction)
May 31, 2023
4302066
GIT_SILENT Sync po/docbooks with svn
May 31, 2023
3efc780
GIT_SILENT made messages (after extraction)
Jun 1, 2023
a8f1797
GIT_SILENT Sync po/docbooks with svn
Jun 1, 2023
bfe7a55
GIT_SILENT made messages (after extraction)
Jun 8, 2023
3f50237
GIT_SILENT Sync po/docbooks with svn
Jun 8, 2023
63b379b
bugfix: wrapper script drops replacements for output parameter
lukasz-m-maciejewski Jun 12, 2023
b882ae3
doc: update helptext with record_only option
rwooster Apr 18, 2023
d1f45c3
GIT_SILENT Sync po/docbooks with svn
Jun 18, 2023
047b68e
GIT_SILENT Sync po/docbooks with svn
Jun 20, 2023
062a152
GIT_SILENT made messages (after extraction)
Jul 3, 2023
f9cc35e
SVN_SILENT made messages (.desktop file) - always resolve ours
Jul 3, 2023
8f56852
GIT_SILENT Sync po/docbooks with svn
Jul 4, 2023
b3e61a8
GIT_SILENT made messages (after extraction)
Jul 16, 2023
0da4af1
GIT_SILENT Sync po/docbooks with svn
Jul 19, 2023
48b1523
Port away from deprecated KUrlRequester::setFilter
kossebau Jul 19, 2023
5193828
Add explicit moc includes to sources for moc-covered headers
kossebau Jul 19, 2023
f4ef260
GIT_SILENT Sync po/docbooks with svn
Jul 20, 2023
23f657c
GIT_SILENT Sync po/docbooks with svn
Jul 21, 2023
e4c7a2a
Use elfutils instead of libbacktrace for symbolication
milianw Aug 16, 2021
11878e0
Unset DEBUGINFOD_URLS unless HEAPTRACK_ENABLE_DEBUGINFOD is also set
milianw Apr 20, 2022
d14a60e
Qt6 compat: add explicit QActionGroup include
milianw Jul 21, 2023
0eddff2
Qt6 compat: Use QStringView instead of QStringRef
milianw Jul 21, 2023
c7a1f69
Port away from deprecated QMouseEvent API for Qt6
milianw Jul 21, 2023
4ef5185
Don't set deprecated/implicit AA_UseHighDpiPixmaps on Qt6 builds
milianw Jul 21, 2023
11cfca3
GIT_SILENT Sync po/docbooks with svn
Jul 22, 2023
521b9a6
GIT_SILENT made messages (after extraction)
Jul 24, 2023
5abdf5c
GIT_SILENT Sync po/docbooks with svn
Jul 24, 2023
ec911a8
GIT_SILENT Sync po/docbooks with svn
Jul 28, 2023
711758c
Remove Designer's "." normaloff file data from icon properties in .ui…
kossebau Jul 20, 2023
566f684
GIT_SILENT Sync po/docbooks with svn
Jul 29, 2023
2869a0d
GIT_SILENT Sync po/docbooks with svn
Jul 30, 2023
471bc27
GIT_SILENT Sync po/docbooks with svn
Jul 31, 2023
35c9105
Set minimum elfutils version to 0.158
milianw Aug 2, 2023
fbdd195
GIT_SILENT Sync po/docbooks with svn
Aug 3, 2023
d6cf853
Fix cmake warning for package name of ElfUtils vs. Elfutils
milianw Aug 5, 2023
d3a7f45
Port away from deprecated std::random_shuffle to std::shuffle
milianw Aug 5, 2023
c57bc38
Fix clang-format
milianw Aug 5, 2023
72b9a76
Enable extra warnings, fix fallout
milianw Aug 5, 2023
728e17c
Port from catch to doctest
milianw Aug 5, 2023
f097c64
Remove redundant check
milianw Aug 5, 2023
56989ba
Set ki18n translation domain in tst_parser
milianw Aug 5, 2023
7d15c23
Add test coverage for the TraceTree
milianw Aug 5, 2023
e2a2a89
GIT_SILENT Sync po/docbooks with svn
Aug 6, 2023
797aaf8
Add SPDX blurb for doctest
milianw Aug 6, 2023
19552f5
GIT_SILENT Sync po/docbooks with svn
Aug 8, 2023
10581da
Fix compile on RHEL8, link against threads init library
milianw Aug 23, 2023
cdc8c7c
Remove obsolete Catch2 defines
milianw Aug 23, 2023
74fa950
Don't use exceptions when timer thread fails to lock
milianw Aug 24, 2023
d0091e3
GIT_SILENT Sync po/docbooks with svn
Aug 25, 2023
a741b0f
GIT_SILENT Sync po/docbooks with svn
Aug 28, 2023
86cfdf7
Set translation domain on heaptrack_gui_private
milianw Jul 22, 2023
fb95be7
Increase timeouts in tst_parser
milianw Jul 22, 2023
329e790
Fix compiler warning about potentially unused lockStatus arg
milianw Aug 31, 2023
0a98f18
GIT_SILENT Sync po/docbooks with svn
Sep 3, 2023
78aaf68
Fix line attribution for inline scopes
milianw Sep 1, 2023
9527931
Add test coverage for DwarfDieCache to tst_trace
milianw Sep 3, 2023
6e55886
Make ChartModel::headerData more resilient to prevent crashes
milianw Sep 4, 2023
5411867
Fix tst_trace in debug builds
milianw Sep 4, 2023
cde102b
GIT_SILENT Sync po/docbooks with svn
Sep 5, 2023
dbab969
Prevent deadlock in tst_inject for asan/debug builds
milianw Sep 5, 2023
abd2289
GIT_SILENT Sync po/docbooks with svn
Sep 7, 2023
bc8a469
GIT_SILENT Sync po/docbooks with svn
Sep 13, 2023
45e4358
Bump version to 1.5.80, master will become 1.6 eventually
milianw Sep 14, 2023
c098fce
Set version to 1.5.0 in preparation of the next release
milianw Sep 14, 2023
01d00fa
Explicitly mention elfutils as dependency
milianw Sep 14, 2023
1ad2b58
Merge branch '1.5'
milianw Sep 14, 2023
f0ead5d
Remove unused member
milianw Sep 14, 2023
95861cb
GIT_SILENT made messages (after extraction)
Sep 15, 2023
1200b0a
SVN_SILENT made messages (.desktop file) - always resolve ours
Sep 15, 2023
3cf0468
GIT_SILENT Sync po/docbooks with svn
Sep 15, 2023
d838631
GIT_SILENT Sync po/docbooks with svn
Sep 16, 2023
b22f9a8
Fix compiler warnings in release build
milianw Sep 16, 2023
b5d8bf2
Remove unused member
milianw Sep 14, 2023
7cfe365
Merge branch '1.5'
milianw Sep 16, 2023
3e7827a
Update to latest stable robin-map v1.2.1
milianw Sep 16, 2023
5a89191
Merge branch '1.5'
milianw Sep 16, 2023
03e5f49
Mark 3rdparty as system includes
milianw Sep 16, 2023
34d9435
Merge branch '1.5'
milianw Sep 16, 2023
d071c9e
GIT_SILENT made messages (after extraction)
Sep 17, 2023
e7c1ed7
SVN_SILENT made messages (.desktop file) - always resolve ours
Sep 17, 2023
4cb552a
GIT_SILENT Sync po/docbooks with svn
Sep 17, 2023
e019704
check for LIBUNWIND_HAS_UNW_CACHE_PER_THREAD before usage
milianw Sep 16, 2023
fa2dff3
Define UNW_LOCAL_ONLY to 1 like in our cmake compile tests
milianw Sep 16, 2023
8f62b71
Use official cmake vars for libunwind
milianw Sep 16, 2023
c426ea1
GIT_SILENT Sync po/docbooks with svn
Oct 1, 2023
c1531ad
GIT_SILENT Sync po/docbooks with svn
Oct 10, 2023
53dbf9e
GIT_SILENT Sync po/docbooks with svn
Oct 11, 2023
0cb94f3
GIT_SILENT Sync po/docbooks with svn
Oct 13, 2023
6efe463
GIT_SILENT Sync po/docbooks with svn
Oct 22, 2023
9d90f80
Fix #if/#ifdef confusion, and enable -Werror=undef to catch those
dfaure Oct 31, 2023
6c4ad33
Add --asan option to run heaptrack on executables built with gcc's ASAN
dfaure Oct 31, 2023
6201591
SVN_SILENT made messages (.desktop file) - always resolve ours
Nov 4, 2023
df8dd1d
GIT_SILENT made messages (after extraction)
Nov 5, 2023
a11db04
GIT_SILENT Sync po/docbooks with svn
Nov 5, 2023
77d1611
GIT_SILENT made messages (after extraction)
Nov 7, 2023
a183171
SVN_SILENT made messages (.desktop file) - always resolve ours
Nov 7, 2023
c256637
Track allocations on the D GC heap.
tim-dlang May 3, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .arcconfig

This file was deleted.

6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ perf.data.*
callgrind.out.*
.*kate-swp

# IDEs/clangd
.clangd
.cache
compile_commands.json
.idea

# from kdiff3
*.BACKUP.*
*.BASE.*
Expand Down
2 changes: 2 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
include:
- https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux.yml
15 changes: 15 additions & 0 deletions .kde-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# SPDX-FileCopyrightText: None
# SPDX-License-Identifier: CC0-1.0

Dependencies:
- 'on': ['@all']
'require':
'frameworks/extra-cmake-modules': '@stable'
'frameworks/kcoreaddons': '@stable'
'frameworks/ki18n': '@stable'
'frameworks/kitemmodels': '@stable'
'frameworks/kconfigwidgets': '@stable'
'frameworks/kio': '@stable'
'frameworks/kiconthemes': '@stable'
'frameworks/threadweaver': '@stable'
'graphics/kdiagram': '@stable'
17 changes: 17 additions & 0 deletions .reuse/dep5
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: heaptrack
Upstream-Contact: Milian Wolff <mail@milianw.de>
Source: https://invent.kde.org/sdk/heaptrack

Files: 3rdparty/robin-map/*
Copyright: 2017 Thibaut Goetghebuer-Planchon <tessil@gmx.com>
License: MIT

Files: 3rdparty/boost-zstd/*
Copyright: Boost developers <http://www.boost.org/libs/iostreams>
License: BSL-1.0

Files: 3rdparty/doctest.h
Copyright: Copyright (c) 2016-2023 Viktor Kirilov
License: MIT

61 changes: 6 additions & 55 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,66 +1,17 @@
language: cpp
compiler: gcc
sudo: require
dist: trusty
os: linux
dist: xenial

before_install:
- sudo add-apt-repository ppa:beineri/opt-qt-5.10.1-trusty -y
- sudo apt-get update -qq
services:
- docker

install:
- sudo apt-get -y install qt510base qt510svg qt510x11extras libdwarf-dev libboost-iostreams-dev libboost-program-options-dev
- source /opt/qt*/bin/qt*-env.sh
- # ecm
- git clone git://anongit.kde.org/extra-cmake-modules
- cd extra-cmake-modules && mkdir build && cd build && cmake .. && make -j$(nproc) && sudo make install && cd ../..
- # zstd
- git clone https://github.com/facebook/zstd.git
- cd zstd && make -j$(nproc) && sudo make install && cd ..
- # Precompiled KF5
- wget -nv -c "https://github.com/chigraph/precompiled-kf5-linux/releases/download/precompiled/kf5-gcc6-linux64-release.tar.xz"
- tar xf kf5-gcc6-linux64-release.tar.xz
- sudo cp -Rf root/kf5-release/* /opt/qt*/
- # kdiagram
- git clone git://anongit.kde.org/kdiagram
- cd kdiagram && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/qt510 -DBUILD_KGantt=OFF -DBUILD_TESTING=OFF .. && make -j$(nproc) && sudo make install && cd ../../
- # Precompiled version of libunwind in newer version (1.)2
- wget -nv -c "https://swanson.kdab.com/owncloud/index.php/s/ZETvRRZ7J5Nllo5/download" -O libunwind.tar.bz2
- tar xf libunwind.tar.bz2
- sudo cp -Rf libunwind-*/usr/* /usr/
- # Get AppImage tools
- wget -nv -c "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
- chmod a+x linuxdeployqt*.AppImage
- sudo mv linuxdeployqt*.AppImage /usr/bin/linuxdeployqt
- wget -nv -c "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
- chmod a+x appimagetool-*.AppImage
- sudo mv appimagetool-*.AppImage /usr/bin/appimagetool
- wget -nv -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
- chmod a+x upload.sh
- sudo mv upload.sh /usr/bin/github-upload

script:
- set -e # Exit immediately if anything fails
- mkdir build
- cd build
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DAPPIMAGE_BUILD=ON
- make -j$(nproc)
- make DESTDIR=appdir install
- unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
- export LD_LIBRARY_PATH=/opt/qt510/lib/x86_64-linux-gnu # make sure this path is known so all Qt/KF5 libs are found
- linuxdeployqt ./appdir/usr/share/applications/org.kde.heaptrack.desktop -executable=./appdir/usr/lib/heaptrack/libexec/heaptrack_interpret -executable=./appdir/usr/lib/heaptrack/libheaptrack_preload.so -executable=./appdir/usr/lib/heaptrack/libheaptrack_inject.so -bundle-non-qt-libs
- # Ensure we prefer the bundled libs also when calling dlopen, cf.: https://github.com/KDAB/hotspot/issues/89
- mv ./appdir/usr/bin/heaptrack_gui{,_bin}
- echo -e '#!/bin/bash\nf="$(readlink -f "${0}")"\nd="$(dirname "$f")"\nLD_LIBRARY_PATH="$d/../lib:$LD_LIBRARY_PATH" "$d/heaptrack_gui_bin" "$@"' > ./appdir/usr/bin/heaptrack_gui
- chmod +x ./appdir/usr/bin/heaptrack_gui
- # include breeze icons
- cp -a /opt/qt*/share/icons/breeze ./appdir/usr/share/icons/
- # include zstd binary
- cp $(which zstd) ./appdir/usr/bin/zstd
- # use the shell script as AppRun entry point
- rm ./appdir/AppRun
- ln -sr ./appdir/usr/bin/heaptrack ./appdir/AppRun
- # Actually create the final image
- appimagetool ./appdir/
- # upload the appimage to GitHub
- mv Heaptrack-*.AppImage heaptrack-git.$(git rev-parse --short HEAD)-x86_64.AppImage
- github-upload ./heaptrack-git.*-x86_64.AppImage
- ./tools/build_appimage_in_docker.sh
- github-upload ./heaptrack-*.AppImage
2 changes: 2 additions & 0 deletions 3rdparty/.clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
DisableFormat: true
SortIncludes: false
20 changes: 16 additions & 4 deletions 3rdparty/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,22 @@ if (ECM_FOUND)
include(ECMEnableSanitizers)
endif()

if (HEAPTRACK_BUILD_BACKTRACE)
add_subdirectory(libbacktrace)
endif()
# Mark the specified target's include directories as INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
function(mark_as_system_target target)
# see also: https://gitlab.kitware.com/cmake/cmake/-/issues/21211
get_property(
include_dirs
TARGET ${target}
PROPERTY INTERFACE_INCLUDE_DIRECTORIES
)
set_property(TARGET ${target} PROPERTY INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${include_dirs}")
endfunction()

if (ZSTD_FOUND)
if (ZSTD_FOUND AND NOT BOOST_IOSTREAMS_HAS_ZSTD)
add_subdirectory(boost-zstd)
mark_as_system_target(boost-zstd)
endif()

add_subdirectory(robin-map)

mark_as_system_target(robin_map)
Loading