diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 734f133..4e6812f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -118,3 +118,60 @@ jobs: - name: CTest shell: bash run: ctest --output-on-failure --test-dir build/clang/test/ + + Build-linux: + runs-on: ubuntu-24.04 + steps: + - name: Export GitHub Actions cache environment variables + uses: actions/github-script@v7 + with: + script: | + core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); + core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + + - uses: actions/checkout@v4 + with: + submodules: true + + - name: Install system dependencies + shell: bash + run: | + sudo apt-get update + sudo apt-get install -y mono-devel ninja-build pkg-config cmake clang clang-tidy + + - name: Setup VCPKG + shell: bash + run: | + cd ${{ github.workspace }} + git clone https://github.com/microsoft/vcpkg + ${{ github.workspace }}/vcpkg/bootstrap-vcpkg.sh + + - name: Add NuGet sources + shell: bash + env: + gh_packages_secret: ${{ secrets.GH_PACKAGES_TOKEN }} + if: ${{ env.gh_packages_secret != '' }} + run: | + # Use nuget via mono (since mono is not pre-installed on ubuntu, and vcpkg fetches the Windows nuget binary) + mono `${{ env.VCPKG_EXE }} fetch nuget | tail -n 1` \ + sources add \ + -Source "${{ env.FEED_URL }}" \ + -StorePasswordInClearText \ + -Name GitHubPackages \ + -UserName "${{ env.USERNAME }}" \ + -Password "${{ secrets.GH_PACKAGES_TOKEN }}" + mono `${{ env.VCPKG_EXE }} fetch nuget | tail -n 1` \ + setapikey "${{ secrets.GH_PACKAGES_TOKEN }}" \ + -Source "${{ env.FEED_URL }}" + + - name: CMake configure + shell: bash + run: cmake --preset clang + + - name: CMake build + shell: bash + run: cmake --build --preset clang-release + + - name: CTest + shell: bash + run: ctest --output-on-failure --test-dir build/clang/test/ diff --git a/CMakeLists.txt b/CMakeLists.txt index de7c983..1d2d969 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,4 +14,4 @@ add_subdirectory(test) add_subdirectory(benchmark) # Build python bindings -add_subdirectory(py) +# add_subdirectory(py) diff --git a/benchmark/CMakeLists.txt b/benchmark/CMakeLists.txt index 5f4d99d..90426eb 100644 --- a/benchmark/CMakeLists.txt +++ b/benchmark/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.20) project(fftconv C CXX) set(CMAKE_CXX_STANDARD 20) -find_package(BENCHMARK CONFIG REQUIRED) +find_package(benchmark CONFIG REQUIRED) find_package(Armadillo CONFIG REQUIRED) find_package(FFTW3 CONFIG REQUIRED) find_package(FFTW3f CONFIG REQUIRED) diff --git a/include/fftconv/fftw.hpp b/include/fftconv/fftw.hpp index 9ea460a..561d83b 100644 --- a/include/fftconv/fftw.hpp +++ b/include/fftconv/fftw.hpp @@ -8,6 +8,7 @@ A C++ FFTW wrapper #include #include #include +#include #include #include