Mahlet-Inc / hobbits

A multi-platform GUI for bit-based analysis, processing, and visualization
https://mahlet-inc.github.io
MIT License
660 stars 45 forks source link

CMake improvements, add pffft submodule #143

Closed classabbyamp closed 2 years ago

classabbyamp commented 2 years ago

This PR includes several fixes and improvements, all aimed at making hobbits easier to build using just CMake (primarily for linux distribution packages).

  1. Found a typo/mis-copy in cmake/PackExternalDeps.cmake. This didn't cause any issues but I fixed it anyways
  2. Removed the EXACT option when searching for python. This makes it so CMake will look for any python version >=3.9, instead of just 3.9.x. This improves compatibility with distros and users that have already updated to python 3.10 (or, in the future, higher)
  3. Added a way to specify the VERSION_STRING from the CMake command-line, i.e. with -DBUILD_VERSION=x.y.z. This makes it easier for distros to override the version of hobbits set in CMake, because the version doesn't need to be written to the .version file.
  4. pffft was added as a submodule, to allow for easier building if it is not already on the system. CMake build files were also added to compile and link it statically, including an option for using an external version of PFFFT (-DUSE_SYSTEM_PFFFT=ON), an option to enable SIMD instruction support for pffft (-DPFFFT_USE_SIMD=ON), and the ability to set custom CFLAGS for it (-DPFFFT_CFLAGS="-msse -mfpmath=sse", for example)
hello-adam commented 2 years ago

Looks good - I'll try to fix the issues in my CI this weekend because it looks like some stuff broke that is unrelated to your changes.

hello-adam commented 2 years ago

:tada: This PR is included in version 0.53.2 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket: