1
0
mirror of synced 2024-12-18 18:45:53 +01:00
Commit Graph

154 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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_
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
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
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
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
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
ac645c63d3 github: Just run ctest manually. Added some emojis 2021-09-11 18:58:53 +02:00
WerWolv
8cb7fb71d1 github: Don't look for magic dbs anymore in CI 2021-09-11 18:11:17 +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