Commit Graph

52 Commits

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