Commit Graph

389 Commits

Author SHA1 Message Date
WerWolv 164e52207e git: Fix .NET version not being found 2023-11-16 21:46:38 +01:00
WerWolv 13b72c8f93 git: Update .NET runtime to 8.0.0 and pin it 2023-11-14 22:54:33 +01:00
iTrooz 759351cec0
git: set fail-fast to false (#1403) 2023-11-07 15:09:13 +00:00
iTrooz 988a674617
git: Make job fail if no artifacts could be found to be uploaded (#1401) 2023-11-05 19:57:58 +01:00
iTrooz 44a1efffa0
git: Make MacOS builds use MacOS 12 instead of 11 (#1399)
Context: MacOS 11 (Big Sur) is EOL + llvm@17 has been released, and it
has no binaries for Big Sur, making the CI hang
2023-11-04 13:51:13 +01:00
iTrooz c839ee7d13
build: Improve names of packaging cmake options (#1398)
This PR is simply a refactor, to clarify these flags that shouldn't
impact anything
2023-11-04 00:11:50 +00:00
iTrooz 6c3c2849fa
build: build appimage using docker instead of github CI (#1358) 2023-10-11 16:17:52 +02:00
iTrooz e14efc6ca2
git: Remove CACHE_VERSION secret from cache keys (#1343)
Rationale: secrets (and vars) are not shared with pull requests, so they
can't use the cache

This PR fix that
2023-10-04 22:23:41 +02:00
iTrooz c72853596f
fix: disable web deployment on forks (#1342) 2023-10-04 20:16:44 +02:00
iTrooz d15bd4771d
feat: Support for building ImHex for the web (#1328)
Co-authored-by: WerWolv <werwolv98@gmail.com>
Co-authored-by: AnnsAnn <git@annsann.eu>
2023-10-04 12:00:32 +02:00
WerWolv fb48eb91d6 git: Fixed Ubuntu release commit hash and branch variable setting again 2023-09-25 21:46:37 +02:00
Nik 865d7e9b20
git: Fixed Ubuntu release commit hash and branch variable setting 2023-09-24 22:41:32 +02:00
iTrooz fbdcd22117
git: Make CI faster (#1257) 2023-08-21 16:20:36 +02:00
Nik e77f138514
feat: Added Achievements (#1230)
This PR adds Achievements to ImHex that serve as both a guide and a fun
way to learn more about ImHex and reverse engineering
2023-08-06 21:33:15 +02:00
iTrooz 26e7e12f09
git: Update custom macOS GLFW build settings (#1214)
<!--
Please provide as much information as possible about what your PR aims
to do.
PRs with no description will most likely be closed until more
information is provided.
If you're planing on changing fundamental behaviour or add big new
features, please open a GitHub Issue first before starting to work on
it.
If it's not something big and you still want to contact us about it,
feel free to do so !
-->

### Problem description
<!-- Describe the bug that you fixed/feature request that you
implemented, or link to an existing issue describing it -->

There are unused ImHex-specific flags in the custom GLFW build on MacOS.
Also, it isn't built in release mode
2023-07-30 21:36:27 +02:00
WerWolv b55c6fa3e1 git: Remove updating of the plugin templates from release CI 2023-07-27 11:09:20 +02:00
WerWolv ffd3efe5fa git: Disable .NET scripts in AppImage since it hangs on startup 2023-07-20 20:59:06 +02:00
WerWolv ed33dd0bb0 git: Make rpm builds a bit less verbose 2023-07-17 11:50:22 +02:00
WerWolv 1588365d4a build: Use the libcurl WinSSL version on Windows to make SSL work again 2023-07-16 21:38:54 +02:00
WerWolv 76e932ecc0 build: Switch to using the system capstone version on Windows 2023-07-16 21:38:29 +02:00
WerWolv 0a6815da8f fix: Always use default CA Cert 2023-07-16 19:56:07 +02:00
Nik 5171bea0bf
feat: Added cross-platform .NET scripts support (#1185)
This PR intends to add support for .NET scripts that can extend ImHex's
functionality in a portable and cross-platform way.

---------

Co-authored-by: Justus Garbe <55301990+Nowilltolife@users.noreply.github.com>
2023-07-15 14:29:14 +02:00
WerWolv 8500e4cba2 build: Switch to GTK file picker on non-sandboxed Linux builds 2023-07-15 10:01:50 +02:00
Nik aae3004f1f
build: Various build improvements (#1193) 2023-07-15 00:10:01 +02:00
WerWolv 1aed960a38 build: Switch build system to Ninja 2023-07-14 22:03:44 +02:00
WerWolv 6c4fdd146f build: Use llvm-ar and llvm-ranlib on Windows 2023-07-14 21:51:18 +02:00
WerWolv 65d9509c38 build: Add checked option to enable LTO 2023-07-09 20:34:49 +02:00
WerWolv f00b9f05ac build: Fixed Ubuntu build issues 2023-07-05 20:25:40 +02:00
Nik 730e67881b
build: Added Ubuntu 23.04 builds (#1173) 2023-06-30 23:58:20 +02:00
WerWolv b13494a192 build: Try fixing Fedora build 2023-06-26 14:37:35 +02:00
WerWolv d527675bda build: Make sure changing commit hash doesn't trigger a full rebuild
Closes #1137
2023-06-26 14:01:45 +02:00
iTrooz f2509cda1d
git: Added pull request template and renamed contributing guide (#1133) 2023-06-11 13:10:30 +02:00
Jonathan Wright 28778eaf8c
build: Remove fedora 36 builds (#1097)
Fedora 36 is EOL.

Build roots for it were taken offline this morning so builds against it
will fail now.
2023-05-22 17:49:49 +02:00
WerWolv 047c39e2c7 build: Checkout repo properly in release CI 2023-05-21 11:12:53 +02:00
WerWolv 143fe36d35 build: Fixed various build warnings 2023-04-13 16:11:39 +02:00
WerWolv 6c047f01f9 git: Fixed release CI not reading version correctly 2023-04-04 21:59:43 +02:00
Jonathan Wright 245c56ba8a
build: Added Fedora 38 build (#928)
Co-authored-by: Thomas <hey@itrooz.fr>
2023-03-26 11:37:46 +02:00
WerWolv 0aaeeffff7 build: Fixed capitalization of ImHex in MSI installer 2023-03-26 11:22:50 +02:00
WerWolv a36b4d65e3 build: Make sure commit hash and branch end up in nightly builds 2023-03-21 10:14:09 +01:00
WerWolv 07fd86fc9d git: Split release workflows into multiple steps 2023-02-15 10:21:56 +01:00
Thomas 75adcc0a96
build: Fix Arch package name in release CI (#929)
* Fix Arch package name in release CI

* update email address
2023-02-13 09:05:52 +01:00
WerWolv 45558027a6 git: Fixed release workflow 2023-02-12 21:55:22 +01:00
Jonathan Wright d02507ae4b
build: Re-enable Fedora rawhide builds (#920)
* re-enable rawhide builds

* Update build.yml

* Update imhex.spec

---------

Co-authored-by: Nik <werwolv98@gmail.com>
2023-02-02 21:42:13 +01:00
WerWolv c76b4bc9e9 impr: Removed a bunch of trailing white spaces 2023-01-30 11:11:30 +01:00
WerWolv 55d7d7c026 impr: Improve code quality 2023-01-30 10:42:07 +01:00
Nik 48a57cd981
feat: Added stacktrace printing on crashes (#892)
* feat: Added simple stack trace output

* feat: Added backtrace wrapper

* build: Added libbacktrace include dirs to build

* build: Fixed libbacktrace variables

* build: More backtrace variable fixes

* build: Try to find backtrace include

* build: Get backtrace header from cmake script

* feat: Added backtrace support for execinfo

* feat: Added support for StackWalk on Windows
2023-01-17 21:38:56 +01:00
WerWolv b497e9d867 git: Switch to different repo dispatch action 2023-01-13 08:58:03 +01:00
Thomas 69c0e6ee6e
git: Do not run `make install` for tests (#879)
Co-authored-by: Nik <werwolv98@gmail.com>
2023-01-13 00:32:17 +01:00
Thomas 78b07e0a46
git: Make runner cache keys unique (#878) 2023-01-13 00:10:28 +01:00
Thomas 5a865774d1
git: Cleanup build CI + separate Ubuntu and AppImage builds (#873)
* remove flatpak

rationale: if we need it again we can always get it back from old commits

* remove double spaces

* remove Fedora rawhide

* remove Windows installer signing

* separate Ubuntu and AppImage builds
2023-01-12 23:50:59 +01:00
Thomas b070092a64
git: Add architecture to build artifacts (#869)
* rename win64 artifact to Windows

* add architecture to all artifact names
2023-01-12 08:25:28 +01:00
Jonathan Wright 04d0458ae7
build: Improve Fedora builds and add EL9 build. (#861) 2023-01-10 23:10:34 +01:00
WerWolv e0c1fc81e3 build: Download Mesa3D from werwolv.net instead 2022-12-21 07:13:31 +01:00
Thomas ed97757dde
build: Fix AppImage building issues (#847)
From https://github.com/AppImageCrafters/appimage-builder/pull/281
2022-12-18 16:05:14 +01:00
iTrooz_ 8e696e3fc4
git: Enable LTO on Linux (#819)
* Enable LTO on Fedora .spec

* CI: Enable LTO for Ubuntu and ArchLinux

* CI: remove lld to allow LTO
2022-11-25 10:40:07 +01:00
WerWolv b2c970c3bd git: Removed macOS portable build again 2022-11-09 20:52:23 +01:00
WerWolv a6742de405 sys: Literally, fuck Valve 2022-11-02 08:24:00 +01:00
iTrooz_ 6cb9714f06
git: Automatically label created issues (#811) 2022-11-01 09:31:46 +01:00
iTrooz_ 2826e6f325
git: Updated issue templates (#807)
* add "Additional context" option for feature request

* use placeholder instead of value

* Ask for installation type in bug reports
2022-10-29 20:38:22 +02:00
WerWolv 582858c0d4 git: Download all artifacts to their own folders 2022-10-28 10:55:06 +02:00
WerWolv 7d56c64a9c git: Download only necessary artifacts in steam deploy job 2022-10-28 10:29:40 +02:00
WerWolv 902b35e189 git: Fix downloading artifacts in steam deploy job 2022-10-28 10:02:38 +02:00
WerWolv 5f6050aaec git: Fixed more build issues 2022-10-28 09:38:03 +02:00
WerWolv cb94213a04 git: Fix some more steam deploy issues 2022-10-28 09:17:04 +02:00
WerWolv fa6580f622 git: Move steam deploy to its own workflow 2022-10-28 09:14:01 +02:00
WerWolv e15bcb51aa git: Fix setting of version env var on Windows 2022-10-27 14:12:46 +02:00
WerWolv 6aad609a48 git: Fix more issues with the Steam Deployment 2022-10-27 14:05:06 +02:00
Nik e567061e3c
git: Added automatic pushing of nightlies to Steam (#801)
* build: Upload nightly releases to steam

* git: Fixed build CI syntax

* git: Try fixing steam login

* git: Try steam TOTP login

* git: Fix steam-deploy branch

* git: Don't upload MacOS No-GPU version to Steam

* git: Added commit hash to steam nightlies, only upload on our repo

* git: Use full commit hash in steam nightly description

* git: Fixed workflow

* git: Make sure macOS doesn't upload steam releases when it shouldn't

* git: Fix macos CI again

* git: Use steam-deploy fork to fix Linux deployment
2022-10-27 13:19:06 +02:00
WerWolv 33a0ee37fa build: Update ImHex-Rust-Plugin-Template on release 2022-10-21 14:59:43 +02:00
iTrooz_ 4d17265e90
git: Use action to manage ccache + minor fixes (#775)
* use action for ccache + limit cache size

* remove 'prepare cache' step for Windows

* remove libpython from CI

* fix the restore key for MacOS

* remove Rust from CI

* do not pin appimage-builder version since issue with it has been resolved

* use ccache action for CodeQL

* Rebased onto latest master

Co-authored-by: WerWolv <werwolv98@gmail.com>
2022-10-10 20:37:00 +02:00
WerWolv b734fb5511 build: Delete system capstone in macOS CI 2022-10-06 15:22:38 +02:00
Nik e865883611
git: Remove msi signing again since Microsoft doesn't care at all (#765) 2022-10-02 17:31:40 +02:00
WerWolv 55bd2c6da6 git: Add code signing for Windows installer 2022-09-21 21:24:47 +02:00
WerWolv 73ca45ad3d git: Updated winget-create to the latest release 2022-09-16 08:30:42 +02:00
iTrooz_ f219395b25
build: Added AppImage zsync and updated metadata (#733)
* added update information

* upload zsync

* set version of appimage

* release: do not execute steps which needs a token when not provided

* set the appimage output name directly in the recipe file

* add metainfo file in every Linux package

* update metainfo file

* set categories in the metainfo file

* add both .metainfo.xml and .appdata.xml files because it is the old standard still wanted by some things

* actually use WerWolv's repository for AppImage updates

* rename metainfo files

* Typo : appdata and not appinfo

* split screenshots
2022-09-08 09:31:49 +02:00
iTrooz_ ae6a7ad8e5
build: Change Ubuntu package name, updated README (#734)
* rename Ubuntu 22.04 deb

* fix typo in readme

* says explicitely that AppImage is available for all distributions
2022-09-08 09:30:56 +02:00
iTrooz_ b10ba8fea0
build: Add NoGPU (Software Rendering) version for Windows (#716)
* add NoGPU (Software Rendering) version for Windows

* rename the NoGPU artifact

* add emoji to a step
2022-09-02 16:12:02 +02:00
iTrooz_ 3eb2cca286
build: Add text to the PORTABLE file (#718) 2022-09-02 16:11:19 +02:00
iTrooz_ 0569770239
git: Added NoGPU dmg for MacOS (#708) 2022-08-30 09:47:39 +02:00
iTrooz_ 38162c0129
build: Use the bundled CA cert in AppImage (#694)
* Added option to bundle CA

* use bundled CA for AppImage

* Fix bundled CA not working on Linux

* revert change to add null terminated string

* set IMHEX_USE_BUNDLED_CA to ON on Windows
2022-08-26 00:21:17 +02:00
WerWolv f8a089a61f
build: Added appdata metainfo file to AppImage 2022-08-19 12:05:47 +02:00
iTrooz_ 6a88c7cbaa
git: Make sure Linux CI doesn't build ImHex twice (#689)
* install deb package in a different folder than AppImage

* added comment for Ubuntu cmake build

* fixed typos

* separate cmake build for deb and appimage
2022-08-18 23:03:31 +02:00
WerWolv 9c4e314bb6
git: Fixed release CI 2022-08-17 23:25:52 +02:00
WerWolv 5aee359700
git: Send workflow dispatch request to Plugin template repo on release 2022-08-17 22:32:55 +02:00
WerWolv cf6ae52889 git: Automatically update winget package on release 2022-08-17 15:50:29 +02:00
WerWolv 07dc77f13d
git: Build Unit tests with debug symbols 2022-08-15 23:49:42 +02:00
WerWolv 9b2ee998de git: Enabled address, leak and UB sanitizers in unit tests CI 2022-08-15 23:33:04 +02:00
iTrooz_ b917bfca07
git: Fix Fedora spec name and removed caching from Fedora CI (#672)
* changed name to 'imhex' in imhex.spec

* removed CMakeCache for Fedora
2022-08-14 10:08:58 +02:00
WerWolv 4c331341e5 git: Output unit test errors on failure 2022-08-09 16:31:10 +02:00
WerWolv 49cc85dd3b
git: Fix deb compression argument 2022-08-05 19:45:01 +02:00
WerWolv 974b9c77e0
git: Use gzip to compress .deb files 2022-08-05 19:33:32 +02:00
iTrooz_ ddf4eb3e2b git: Cleanup CI scripts (#650)
* RUST_PATH doesn't seem to be used on ArchLinux

* renamed jobs

* no objc code on Windows (need confirmation)

* fakeroot strace patchelf for Ubuntu : not needed ?

* try to use some system libraries on Arch

* added comments to scroll to cmake instruction easily

* No ojbC code on Ubuntu
2022-08-04 21:52:56 +02:00
WerWolv 65ed949e1b
build: Try setting osx deployment target in cmake directly 2022-08-04 20:39:07 +02:00
iTrooz_ e816b67472
build: Fix various issues for upstream Fedora compatibility (#642)
* cmake: use GNUInstallDirs to find install dirs on Linux

* install plugins to lib/imhex/plugins

* fix included files in imhex.spec

* fix the release CI + do not upload x86_64 folder for Fedora

* change rpm names

* added IMHEX_STRIP_RELEASE option to optionally strip releases files (was done all the time before)

* Customize our imhex.spec file (use online building for our Fedora package)

* added IMHEX_PLUGINS_IN_SHARE option for AppImage

* test
2022-08-04 20:37:57 +02:00
Ryan Russell 55d046fa36
refactor(imgui-rs): Rust code readability improvements (#620)
* chore: bug report template readability fix

Signed-off-by: Ryan Russell <git@ryanrussell.org>

* refactor(imgui-rs): Doc aliases readability fixes

Signed-off-by: Ryan Russell <git@ryanrussell.org>

* refactor(imgui-rs): Code comment readability

Signed-off-by: Ryan Russell <git@ryanrussell.org>
2022-08-02 12:11:04 +02:00
WerWolv b8c034f8c5 sys: Prevent portable Windows version from writing to AppData
Fixes #627
2022-08-01 14:51:40 +02:00
WerWolv 899f2b3fbd build: macOS 10.4 is apparently deprecated 2022-08-01 14:50:27 +02:00
WerWolv be0fe4c0d0 build: Lower the macOS deployment target to 10.4 2022-08-01 14:19:56 +02:00
iTrooz_ df94370598
build: Fix CI for Fedora, added caching, various other fixes (#613)
* Ci: use matrix for Fedora

* Ci: use ccache in Fedora build

* Ci: cache CMakeCache for Fedora

* build type release fedora

* Rawhide with lowercase

* strip binaries on Linux

* strip files for CPack (didn't test)

* add soversion to libimhex on Linux and MacOS

* fixed that typo
2022-07-31 17:29:57 +02:00
iTrooz_ f23ee951d9
build: Use system curl on ArchLinux builds (#617) 2022-07-31 15:28:05 +02:00
Jonathan Wright f12f10bc9e
git: Added Fedora .rpm packaging to CI (#608)
* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update get_deps_fedora.sh

* Update build.yml

* Update get_deps_fedora.sh

* Update build.yml

* Update build.yml

* Update get_deps_fedora.sh

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Create imhex.spec

* Update build.yml

* Update build.yml

* Update build.yml

* Update build.yml

* Update imhex.spec

* Update build.yml

* Update README.md

* remove duplicate fedora build deps

* Fix license

* Use release tag 0

fedora official packaging starts at 1 so this will prevent conflicts and allow someone who manually installs the RPM to then later get updates from fedora repositories

* add RPMs to releases

* include rpms in releases

* fixed order of ops for fedora builds

* can't checkout without git...
2022-07-31 00:43:42 +02:00
WerWolv 71a7ae70d0 git: Fixed Arch Linux CI build issue 2022-07-23 20:42:59 +02:00
WerWolv b6d7fd6984 git: Make analysis workflow also pull latest patterns 2022-07-18 20:18:41 +02:00
WerWolv d8eb027c94 git: Make tests also pull latest patterns 2022-07-18 20:15:14 +02:00
WerWolv 80d47b658e git: Fixed CI, updated all env var names 2022-07-18 20:13:01 +02:00
WerWolv 51f2b24daa git: Create new ImHex-Patterns release on new ImHex release 2022-07-18 20:02:12 +02:00
iTrooz_ 9837473810
git: Automatically create PatternLanguage release on new ImHex releases (#570) 2022-07-07 16:10:21 +02:00
iTrooz_ a30f49c75e
git: Improve size of Full Sources tar (#569)
* remove .git directories from Full sources

* actually compress Full sources
2022-07-05 10:12:16 +02:00
iTrooz_ ceb07b7425
build: Added AUR/ArchLinux support (#566)
* store version in file

* use version file in release workflow

* use new version file in build workflow

* ArchLinux build

* setup cache for ArchLinux

* add version check in release CI

* edit step description

* update pkgbuild to install correctly

* AUR deploy

* rename version file to VERSION

* install all default plugins in PKGBUILD

* Added emojis to build workflow

* Added emojis to release workflow

* separate update packages and install dependencies in two steps

* fix Release CI

* add md5Sums to PKGBUILD

* make PKGBUILD point to the official repo + set v in tag
2022-07-04 21:40:22 +02:00
WerWolv 4885175ac6
build: Go back to macOS 11 to hopefully still support Catalina 2022-07-04 00:11:47 +02:00
iTrooz_ 11c2f240a1
git: Add version to artifact names (#559)
* Version file test

* change artifacts names

* Release updated

* Set release job name

* set branch to the branch used to release

* Set version for Windows Portable

* git: New cache update (#558)

* add CMakeCache.txt to cache

* added workflow_dispatch to workflows

* remove restore-keys from workflows

* Separated cache

* re-added restore-keys

* put the version file for all OS

* fix: In/Out parameters not working correctly when using the preprocessor

* update submodules

Co-authored-by: WerWolv <werwolv98@gmail.com>
2022-06-29 15:01:08 +02:00
iTrooz_ 7242eb8f4c
git: New cache update (#558)
* add CMakeCache.txt to cache

* added workflow_dispatch to workflows

* remove restore-keys from workflows

* Separated cache

* re-added restore-keys
2022-06-29 00:24:53 +02:00
iTrooz_ 01adc8a2cd
build: Fix various CI caching issues (#553)
* removed restore-keys

* updated cache for Ubuntu 22

* using ccache on OBJC and OBJCXX

* Bonus: fix release workflow
2022-06-27 00:20:32 +02:00
WerWolv 3471b314dd
build: Switch to GCC on MacOS (#552)
* build: Experimentally switch to gcc on macOS

* build: Corrected gcc paths

* build: Enable objective c support on macOS

* build: Enable ObjC and ObjC++ on macOS

* build: Add ObjC and ObjC++ flags

* build: Try compiling objc with clang

* build: Remove invalid flags again

* fix: Let's not include objc headers in C++ code

* sys: Move macos utils code to its own file

* fix: Missing unistd include on mac

* sys: Removed loader script stuff since it's currently unused and broken

* fix: Missing include

* fix: Another missing include

* fix: CFURLCreateWithBytes wants a pointer to mutable data

* fix: Try disabling name mangling of ObjC functions

* sys: Move macos utils declarations to its own header file

* fix: C Linkage

* fix: Move objc function prototypes to C++ headers

* fix: More missing includes

* fix: Warning error

* sys: Call ObjC with C ABI instead of trying to use C++

* build: Update libraries

* sys: Fixed build errors

* sys: No const correctness I guess

* sys: Fixed prototypes

* sys: This is C now

* sys: More nullptr -> NULL

* sys: Fix crash on exit

* sys: Try using proper std concepts instead of custom ones

* sys: Replaced another hex::is_signed

* build: Upgrade to gcc 12 and MacOS Monterey

* build: Fixed MacOS runner name

* build: Cache correct ccache folder on macOS
2022-06-25 12:19:59 +02:00
iTrooz_ c6989c2ef7
build: Fixed various issues with the CI and Linux packages (#548)
* Ci: added workflow_dispatch trigger

* Ci: removed fetch depth

* Ci: Add information to generated artifacts

* Ci: Updated Linux runner to Ubuntu 22.04

* Packaging: Updated .deb dependencies

* Ci: Removed ELF artifact

* Ci: Upgraded actions versions

* Ci: Switch to gcc-11 for unit tests and analysis
2022-06-23 23:48:02 +02:00
iTrooz_ e33726f526
git: Added automatic release and source tar upload on release (#537)
* added release.yml

* Build CI now only triggers on branch push
2022-06-19 15:16:03 +02:00
iTrooz_ 5b74739c51
git: Fixed CI failing with AppImages (#509) 2022-05-22 23:23:54 +02:00
WerWolv 0462cc3d0c
sys: Enable -Wall, -Wextra, -Werror and fix all warnings on all Platforms (#483)
* sys: Make ImHex compile with -Wall -Wextra -Werror

* sys: Fixed various build errors on Linux

* sys: Explicitly ignore return value of `system` function

* sys: More fixes for the warnings GitHub Actions enables somehow

* sys: More fixes

* sys: Remove -Werror again to see all GitHub Actions warnings

* sys: Hopefully fixed all remaining warnings

* sys: Added back -Werror

* git: Change windows icon in GitHub Actions
2022-03-27 00:01:28 +01:00
WerWolv 854c99bafa
build: Replace manual AppImage bundling with appimage-builder script (#477)
* build: Tried to streamline and fix AppImage building

* build: Tried fixing build

* build: Added back version key

* build: Fixed AppImage name

* build: Fixed python bundling, fixed ELF uploading

* build: Don't upload a bunch of AppImage garbage files in the portable ELF version

* build: Fixed another wrong library path

* build: Removed old manual AppImage building scripts
2022-03-20 23:43:55 +01:00
WerWolv 545ff9de56 git: Disable Flatpak bundling as it's broken on GitHub Actions 2022-02-06 00:19:39 +01:00
WerWolv 6806f8e5ba git: Explicitly move to Windows Server 2022 for building 2022-01-22 22:15:15 +01:00
Mark Nokalt 3e9493f3e7
build: Fix usage of CMAKE_INSTALL_PREFIX on Linux (#401)
* build: Fix usage of CMAKE_INSTALL_PREFIX

* build: Use /usr prefix in Linux CI builds

* ci: Delete DEBIAN folder after .deb packaging step
2022-01-22 22:10:49 +01:00
WerWolv d8219ad971
build: Cleaned up cmake build structure (#399)
* build: Cleanup build process, move main application to /main folder

* build: Try fixing MacOS bundling

* build: Fixed swapped parameters

* build: One imhex -> main too much

* build: Move resources to a better location

* build: Try to fix macos bundle creation

* build: More bundle fixes

* build: Fixed syntax

* build: Another try

* build: Added macos debugging stuff

* build: Fix bundle path

* build: Removed duplicated adding of Frameworks folder to rpath

* build: Removed debugging
2022-01-15 00:14:12 +01:00
WerWolv b34b4c2362 git: Tried to fix cache issue with Linux runner 2022-01-14 18:09:55 +01:00
WerWolv 0986527495 build: Use ld.lld as linker 2022-01-13 21:31:01 +01:00
WerWolv 3d32261f16 git: Fixed issue templates 2021-12-21 11:39:10 +01:00
WerWolv b17808c6c7 build: Completely get rid of system capstone 2021-12-16 12:37:22 +01:00
WerWolv 79ace0a106 build: Allow invalidating caches easily 2021-12-15 23:57:00 +01:00
WerWolv c61e807f13
build: Clear up some unnecessary files on Linux 2021-12-15 21:44:57 +01:00
WerWolv df26127f88
build: Force flatpak-builder to use 4 cores 2021-12-15 20:41:10 +01:00
WerWolv a05d09ffea build: Build unit tests again when needed 2021-12-14 21:27:02 +01:00
WerWolv 821eb4568e Revert "git: No need to upload flatpak-builder files into cache on Linux"
This reverts commit 5759f163e3.
2021-12-12 01:16:26 +01:00
WerWolv 5759f163e3 git: No need to upload flatpak-builder files into cache on Linux 2021-12-10 16:42:46 +01:00
WerWolv 44b121e8b0 build: Added AppImage building to CI 2021-12-03 14:38:38 +01:00
WerWolv 6a7c086514 build: Fixed .deb path 2021-12-03 13:49:39 +01:00
WerWolv 3b59868f62 build: Fixed flatpaks, added .deb support 2021-12-03 04:42:15 -08:00
Unai Martinez-Corral 278d46ccd7
ci/win: use option 'pacboy' of setup-msys2 to install dependencies (#354) 2021-12-01 20:31:17 +01:00
WerWolv 3c4d57f63b git: Added nightly checkbox to bug report template, fixed typo 2021-10-31 17:24:24 +01:00
WerWolv 46ba46ce9d
build/plugins: Added initial support for Rust plugins (#327)
* build: Added initial support for Rust plugins

* github: Install correct rust version

* github: Fixed rustup command

* github: Fix swapped win/linux commands

* github: Install linux rust toolchain on Linux

* github: Add rustup parameters to correct command

* build: libimhex-rust -> hex

* rust-plugins: Disable optimization to export functions correctly

* build: Use cdylib instead of dylib

* build: Fixed rust building and artifact copying

* build: Fixed installing plugins

* build: Fix copying and installing on Windows

* github: Added windows debugging

* github: Use curl instead of wget

* github: Added debug on failure

* github: Update path variable with rust toolchain path

* build/github: Set rust location so cmake can find it

* build: Remove leftovers

* api: Added rust wrappers for the ImHexAPI

* rust: Fixed compile flags with older gcc/clang

* build: Enable concepts for cxx.rs

* build: Explicitly set compiler for cxx.rs

* rust: Added imgui-rs to libimhex-rust

* rust: Export functions with double underscore prefix on mac

* rust: Export functions adjusted for ABI

* Add Rust target folder to gitignore

* Add vendored imgui-rs copy

* Add Context::current() to vendored imgui-rs

* Fix libimhex not exporting cimgui symbols

* Simplify plugin export mangling

* build: Fixed cimgui linking

* build: Only specify --export-all-symbols on Windows

* Add context setting to Rust plugins

* rust: Cleanup

* deps: Update curl

Co-authored-by: jam1garner <8260240+jam1garner@users.noreply.github.com>
2021-10-16 11:37:29 +02:00
WerWolv 76391edad6 git: Renamed codeql and unit tests workflow 2021-10-09 23:30:35 +02:00
WerWolv 9b3822a8bd git: CodeQL doesn't need to run every commit. And also not only at 00:21 every thursday... 2021-10-09 23:15:08 +02:00
Kuruyia 72ec6baf79
sys: Fix macOS compilation (as of 2dc1886) (#317)
* sys: Updated curl to latest version

* sys: Fix macOS compilation

* ui: Fix splash screen OpenGL init for macOS

* sys: Fix std::min compile errors

* git: Re-enabled macos workflow

* sys: Remove includes of the range library

* build: Find OpenGL using CMake

* sys/build: Fix bundled plugins on macOS

* build: Copy plugins to bundle when creating a bundle

* build: Fixup bundled plugins

* sys: Search for plugins in the bundle instead of in Application Support

* sys: Allow resources to be placed in multiple directories on macOS

* build: Output built plugins to the plugins/ directory when not creating a bundle on macOS

* sys: Fix Application Support paths on macOS

* sys: Define ftruncate64 on macOS

* sys: Fix absolute value computation for std::string::at on macOS

Co-authored-by: WerWolv <werwolv98@gmail.com>
2021-10-09 23:07:58 +02:00
WerWolv 59c01feaea github: Use ccache for CI runners 2021-09-19 21:49:09 +02:00
WerWolv 254b204d6c github: Don't use build matrix for analysis 2021-09-11 19:37:20 +02:00
WerWolv ac645c63d3 github: Just run ctest manually. Added some emojis 2021-09-11 18:58:53 +02:00
WerWolv 0b9f1cc3b9 github: Run unit tests 2021-09-11 18:15:27 +02:00
WerWolv b96fee95f3 github: Missed one 2021-09-11 18:11:59 +02:00
WerWolv 8cb7fb71d1 github: Don't look for magic dbs anymore in CI 2021-09-11 18:11:17 +02:00
WerWolv a8ed57bd65 github: Use input instead of textarea for version in issue template 2021-09-10 12:46:26 +02:00
WerWolv bfcd01afb9 github: Added issue forms 2021-09-10 12:44:57 +02:00
WerWolv 1ba185bf71
git: codeql clone recursively 2021-08-29 14:40:10 +02:00
WerWolv b4f0af4c77
git: Fix codeql building 2021-08-29 14:30:40 +02:00
WerWolv 785140d439
git: Add code analysis workflow 2021-08-29 14:26:50 +02:00
WerWolv 15665b03a7 build: Fix flatpak bundling and upload 2021-08-25 16:06:30 +02:00
WerWolv a7fe8baebe build: Auto confirm flatpak install 2021-08-25 15:29:08 +02:00
WerWolv 71c672eb9b build: Pack flatpak manually instead 2021-08-25 15:19:55 +02:00
WerWolv caab58063f build: apt-get -> apt 2021-08-25 15:02:25 +02:00
WerWolv ee49f17895 build: Use correct flatpak builder version and sdk 2021-08-25 14:59:36 +02:00
WerWolv 2eb7825e69 build: Add support for flatpaks
Based on the original work of @Calinou
2021-08-25 14:52:07 +02:00
WerWolv ef0a915188 git: Disable macos build until further notice 2021-08-24 15:56:49 +02:00
Foster Brereton d7b591f1a2
Setting an env var for macOS 10.15 support (#255)
* Setting an env var for macOS 10.15 support

* making the value a string
2021-06-16 08:05:28 +02:00
WerWolv 7405302a15
build: Remove extra whitespace after python library name 2021-06-07 22:42:56 +02:00
WerWolv 8ecd04cf5c
build: Add debug to fix github action build error 2021-06-07 22:34:42 +02:00
WerWolv c26bea06d6 github: Split msys2 install and dependency install 2021-02-28 16:05:05 +01:00
WerWolv f2cd60e7b2 github: Properly run msys2 deps script 2021-02-28 15:34:44 +01:00
WerWolv 903a4a9222 github: Fixed CI script syntax 2021-02-28 15:26:37 +01:00
WerWolv 06e0bb19a3 github: Use dependency install scripts in CI 2021-02-28 15:24:02 +01:00
WerWolv e854e42bd7 github: Checkout all submodules 2021-02-24 21:04:00 +01:00
WerWolv b25cc17ac9 build: Add libgtk+ to build dependencies 2021-02-24 20:59:22 +01:00
WerWolv 785ecb8a78 Switch from openssl/libcrypto to mbedtls 2021-02-02 23:11:23 +01:00
WerWolv 16a1ae3010
Properly pack all dependencies into nightlies on all platforms (#153)
* Properly bundle all files in linux install step

* Run make install on linux build

* Use correct default magic database

* Set default magic db permissions correctly

* Fixed magic file detection issues

* Don't install default magic file if none was found

* Try fix windows packing issues
2021-02-01 17:26:05 +01:00
WerWolv 362f8acb15 Reenabled mac CI and trying to debug the capstone issue 2021-01-25 15:09:30 +01:00
WerWolv 9bc569bf9a
Temporarily disable mac CI until it's fixed
I'm sick of getting an email on every single commit
2021-01-22 08:25:43 +01:00
WerWolv 688e921034 Added nlohmann json to imhex directly
Once again Ubuntu is fucking outdated by over a year for literally no reason. Fuck this
2021-01-11 21:42:21 +01:00
WerWolv bb3e0c126f CI steps naming consistency 2021-01-11 00:44:20 +01:00
Robin Lambertz c71c610eba
Windows MSI Installer (#121)
* Create ImHex WIX Installer

* Build Windows Installer in github actions

* Have a single windows step handling MSI and ZIP.

* Properly copy dependencies to portable zip

* Add magicdb to zip/msi

* Use arial font and smaller text in license
2021-01-10 14:22:34 +01:00
WerWolv 750f7463cc
Nightly support for Windows and Linux (#119) 2021-01-08 16:25:12 +01:00
Mary d510f8c7cf Github Actions: Enforce a cache miss on Windows job
Workaround discuted in msys2/setup-msys2#99.
2020-12-30 19:08:40 +01:00
Mary 2180a8faef Github Actions: upload resulting DMG on macOS
Add infos about nightly builds.
2020-12-30 18:56:25 +01:00
WerWolv dbbc525174
Added Plugin support (#102)
* Build refactoring and initial plugin support

* Possibly fixed linux / mac build

* Added libdl to libglad build script

* Add glfw to imgui dependencies

* Refactored common functionality into "libimhex" for plugins

* Added plugin loading and example plugin

* Added proper API for creating a custom view and a custom tools entry with plugins
2020-12-22 18:10:01 +01:00
WerWolv 379f77af48 Cleaned up github actions 2020-12-21 11:54:33 +01:00
Mary 310059f274 Support macOS
This allows building and running under macOS.
There is still some issues with dpi but the application compiles and run now.
2020-12-18 21:44:13 +01:00
Mary 413443aa95 Build LLVM demangler directly with our sources
This remove dep on LLVM library by building the demangler as part of the
project.

This should help with building on macOS.
2020-12-18 17:56:41 +01:00
averne 56cca88fbd
Proper DPI scaling and basic custom font (#85)
* add glm to arch deps

After running got `None of the required 'glm' found`. This fixes that

* dist/fedora: Include file magic headers

Due to differences in package names between Deb based systems, Arch
Linux, and RPM based systems the package containing the development
headers for file were missing from the Fedora dependencies script.

This includes the package `file-devel`, which is the package which
resolves the issue.

In Fedora, one can identify the package providing a specific file using
the verb "whatprovides" with the command dnf, e.g.:

    [~]$ dnf whatprovides /usr/include/magic.h
    Last metadata expiration check: 4 days, 0:23:05 ago on Fri 04 Dec 2020 09:06:53 AM PST.
    file-devel-5.39-3.fc33.i686 : Libraries and header files for file development
    Repo        : fedora
    Matched from:
    Filename    : /usr/include/magic.h

    file-devel-5.39-3.fc33.x86_64 : Libraries and header files for file development
    Repo        : @System
    Matched from:
    Filename    : /usr/include/magic.h

    file-devel-5.39-3.fc33.x86_64 : Libraries and header files for file development
    Repo        : fedora
    Matched from:
    Filename    : /usr/include/magic.h

If one is unsure of the specific path, globbing may be used (but must be
quoted):

    dnf whatprovides "*/magic.h"

Resolves #48

* dist: Prevent already installed packages in ArchLinux and MSYS2.

Use --needed option with pacman to prevent it.

* Add script to install dependencies on Debian/Ubuntu.

Tested with Xubuntu 20.04 and Debian testing
(in today's Docker image bitnami/minideb).

Update README.md.

* ci: rework (#31)

* Support non standard LLVM library names (#86)

This fix openSUSE and Gentoo issue mentioned in https://github.com/WerWolv/ImHex/issues/37#issuecomment-739503138.

(tested on openSUSE tumbleweed via Docker)

I also took the liberty of renaming llvm_lib to llvm_demangle_lib to be more specific in the ``CMakeLists.txt``.

* Implement proper DPI handling

* Implement basic custom font support

* Fix building on windows

* Hopefully fix fonts on Windows

* Fix several scaling issues

* Replace font renderer with freetype

* Updated CI and dependency scripts

* Rebuild default font atlas

* Correct platform detection macro for mingw

* Fixed PKGBUILD

Co-authored-by: brockelmore <31553173+brockelmore@users.noreply.github.com>
Co-authored-by: Brian 'Redbeard' Harrington <redbeard@dead-city.org>
Co-authored-by: Biswapriyo Nath <nathbappai@gmail.com>
Co-authored-by: Stéphane Gourichon <stephane.gourichon@fidergo.fr>
Co-authored-by: umarcor <38422348+umarcor@users.noreply.github.com>
Co-authored-by: Mary <me@thog.eu>
Co-authored-by: WerWolv <werwolv98@gmail.com>
2020-12-11 14:24:42 +01:00
umarcor e3b5a55eba
ci: rework (#31) 2020-12-09 19:49:56 +01:00
Mary 727b3c6b10 CI: Add a GitHub Action to build on Ubuntu 20.04 LTS
Also clean up MSYS2 action.
2020-12-05 20:03:22 +01:00
Mary 7168c9ed59 Limit make to 4 threads and move build.yml to build_win.yml 2020-12-04 13:17:54 +01:00
Mary b4a5a936a0 CI: Add a GitHub Action to build on Windows
This build in any commits and pull requests.
2020-12-04 01:28:26 +01:00
WerWolv a0c8424800
Create FUNDING.yml 2020-12-03 21:10:38 +01:00