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

226 Commits

Author SHA1 Message Date
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
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
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
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