sudara / pamplejuce

A JUCE audio plugin template. JUCE 8, Catch2, Pluginval, macOS notarization, Azure Trusted Signing, Github Actions
https://melatonin.dev/manuals/pamplejuce
MIT License
429 stars 43 forks source link

Git IPP happy on linux #49

Open sudara opened 1 year ago

tobiashienzsch commented 11 months ago

4 Steps needed:

- name: Install IPP (Linux)
  if: runner.os == 'Linux'
  shell: bash
  run: |
    wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
    echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
    sudo apt update
    sudo apt install intel-oneapi-ipp-devel
cmake -D CMAKE_PREFIX_PATH=/opt/intel/oneapi/ipp/latest ...
find_package(IPP)
if(IPP_FOUND)
    target_link_libraries(neo-dsp INTERFACE ${IPP_LIBRARIES})
    target_compile_definitions(neo-dsp INTERFACE NEO_HAS_INTEL_IPP=1)
else()
    message(FATAL_ERROR "Intel IPP was not found")
endif()
// Directory structure changed from version 2021.09 to 2021.10
// "NEW"-style also works for 2021.09
// Maybe needs upstream fixes in JUCE

// OLD
// - include/
//    - ipp.h
//    - ipps.h

// NEW
// - include/
//    - ipp.h
//    - ipp/
//        - ipp.h
//        - ipps.h

// change include from
#include <ipps.h>
// to
#include <ipp.h>

Working example: github.com/neo-sonar/neo-dsp

sudara commented 11 months ago

WOW! Thanks for this head start, this is serious. And yes, it's time to update IPP on pamplejuce, thanks for that reminder too!