diff --git a/.github/workflows/macos-arm-latest.yaml b/.github/workflows/macos-arm-latest.yaml index 9361805..cae0f41 100644 --- a/.github/workflows/macos-arm-latest.yaml +++ b/.github/workflows/macos-arm-latest.yaml @@ -11,7 +11,7 @@ concurrency: env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - CMAKE_CONFIGURATION_TYPES: Debug;Release;RelWithDebInfo;MinSizeRel + MULTI_CONFIG_TYPES: Debug;Release BUILD_TYPE: Release BUILD_DIR: Builds GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -85,79 +85,131 @@ jobs: - name: npm install run: npm install - - name: Configure + - name: Configure (Debug) working-directory: ${{github.workspace}} shell: bash # Configure CMake in a 'bin' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type run: >- - cmake -S${{github.workspace}} - -B${{github.workspace}}/${{ env.BUILD_DIR }} - -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} + cmake --fresh -S${PWD} + -B${PWD}/${{ env.BUILD_DIR }} + -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DSTONEYDSP_BIQUADS_BUILD_TESTS:BOOL=TRUE - -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install + -DCMAKE_INSTALL_PREFIX=${PWD}/install -DVCPKG_HOST_TRIPLET:STRING=arm64-osx -DVCPKG_TARGET_TRIPLET:STRING=arm64-osx -DVCPKG_MANIFEST_MODE:BOOL=TRUE - -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" + -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${PWD}/vcpkg/scripts/buildsystems/vcpkg.cmake" -G "Ninja" --compile-no-warning-as-error --no-warn-unused-cli - - name: Build + - name: Build (Debug) # Build your program with the given configuration run: >- cmake - --build ${{github.workspace}}/${{ env.BUILD_DIR }} - --config ${{env.BUILD_TYPE}} + --build ${PWD}/${{ env.BUILD_DIR }} + --config Debug --parallel 4 --target all - - name: Test + - name: Test (Debug) working-directory: ${{ github.workspace }} shell: bash # Execute tests defined by the CMake configuration. # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail run: >- ctest - --test-dir ${{ github.workspace }}/${{ env.BUILD_DIR }} + --test-dir ${PWD}/${{ env.BUILD_DIR }} + -C Debug -j4 --rerun-failed --output-on-failure --verbose - - name: Install + - name: Install (Debug) shell: bash working-directory: ${{ github.workspace }} # Install StoneyDSP with the given configuration - run: cmake --install ${{ github.workspace }}/${{ env.BUILD_DIR }} + run: cmake --install ${PWD}/${{ env.BUILD_DIR }} --config Debug + + - name: Configure (Release) + working-directory: ${{github.workspace}} + shell: bash + # Configure CMake in a 'bin' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: >- + cmake --fresh -S${PWD} + -B${PWD}/${{ env.BUILD_DIR }} + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_C_COMPILER_LAUNCHER=sccache + -DCMAKE_CXX_COMPILER_LAUNCHER=sccache + -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" + -DSTONEYDSP_BIQUADS_BUILD_TESTS:BOOL=TRUE + -DCMAKE_INSTALL_PREFIX=${PWD}/install + -DVCPKG_HOST_TRIPLET:STRING=arm64-osx + -DVCPKG_TARGET_TRIPLET:STRING=arm64-osx + -DVCPKG_MANIFEST_MODE:BOOL=TRUE + -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${PWD}/vcpkg/scripts/buildsystems/vcpkg.cmake" + -G "Ninja" + --compile-no-warning-as-error + --no-warn-unused-cli + + - name: Build (Release) + # Build your program with the given configuration + run: >- + cmake + --build ${PWD}/${{ env.BUILD_DIR }} + --config Release + --parallel 4 + --target all + + - name: Test (Release) + working-directory: ${{ github.workspace }} + shell: bash + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + run: >- + ctest + --test-dir ${PWD}/${{ env.BUILD_DIR }} + -C Release + -j4 + --rerun-failed + --output-on-failure + --verbose + + - name: Install (Release) + shell: bash + working-directory: ${{ github.workspace }} + # Install StoneyDSP with the given configuration + run: cmake --install ${PWD}/${{ env.BUILD_DIR }} --config Release - name: Zip Source shell: bash working-directory: ${{ github.workspace }} # Pack the StoneyDSP source code with the given configuration - run: cpack --config ${{ github.workspace }}/${{ env.BUILD_DIR }}/CPackSourceConfig.cmake -B install -G ZIP + run: cpack --config ${PWD}/${{ env.BUILD_DIR }}/CPackSourceConfig.cmake -B install -G ZIP - name: Tar Source shell: bash working-directory: ${{ github.workspace }} # Pack the StoneyDSP source code with the given configuration - run: cpack --config ${{ github.workspace }}/${{ env.BUILD_DIR }}/CPackSourceConfig.cmake -B install -G TGZ + run: cpack --config ${PWD}/${{ env.BUILD_DIR }}/CPackSourceConfig.cmake -B install -G TGZ - name: Zip Build shell: bash working-directory: ${{github.workspace}} # Pack the StoneyDSP source code with the given configuration - run: cpack --config ${{ github.workspace }}/${{ env.BUILD_DIR }}/CPackConfig.cmake -B install -G ZIP + run: cpack --config ${PWD}/${{ env.BUILD_DIR }}/CPackConfig.cmake -B install -G ZIP - name: Tar Build shell: bash working-directory: ${{github.workspace}} # Pack the StoneyDSP source code with the given configuration - run: cpack --config ${{ github.workspace }}/${{ env.BUILD_DIR }}/CPackConfig.cmake -B install -G TGZ + run: cpack --config ${PWD}/${{ env.BUILD_DIR }}/CPackConfig.cmake -B install -G TGZ # - name: Upload Zip Source # uses: actions/upload-artifact@v4 diff --git a/.github/workflows/macos-latest.yaml b/.github/workflows/macos-latest.yaml index a240466..da78b39 100644 --- a/.github/workflows/macos-latest.yaml +++ b/.github/workflows/macos-latest.yaml @@ -11,7 +11,7 @@ concurrency: env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - CMAKE_CONFIGURATION_TYPES: Debug;Release;RelWithDebInfo;MinSizeRel + MULTI_CONFIG_TYPES: Debug;Release BUILD_TYPE: Release BUILD_DIR: Builds GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -85,79 +85,131 @@ jobs: - name: npm install run: npm install - - name: Configure + - name: Configure (Debug) working-directory: ${{github.workspace}} shell: bash # Configure CMake in a 'bin' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type run: >- - cmake -S${{github.workspace}} - -B${{github.workspace}}/${{ env.BUILD_DIR }} - -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} + cmake --fresh -S${PWD} + -B${PWD}/${{ env.BUILD_DIR }} + -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -DSTONEYDSP_BIQUADS_BUILD_TESTS:BOOL=TRUE - -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install + -DCMAKE_INSTALL_PREFIX=${PWD}/install -DVCPKG_HOST_TRIPLET:STRING=x64-osx -DVCPKG_TARGET_TRIPLET:STRING=x64-osx -DVCPKG_MANIFEST_MODE:BOOL=FALSE - -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" + -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${PWD}/vcpkg/scripts/buildsystems/vcpkg.cmake" -G "Ninja" --compile-no-warning-as-error --no-warn-unused-cli - - name: Build + - name: Build (Debug) # Build your program with the given configuration run: >- cmake - --build ${{github.workspace}}/${{ env.BUILD_DIR }} - --config ${{env.BUILD_TYPE}} + --build ${PWD}/${{ env.BUILD_DIR }} + --config Debug --parallel 4 --target all - - name: Test + - name: Test (Debug) working-directory: ${{ github.workspace }} shell: bash # Execute tests defined by the CMake configuration. # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail run: >- ctest - --test-dir ${{ github.workspace }}/${{ env.BUILD_DIR }} + --test-dir ${PWD}/${{ env.BUILD_DIR }} + -C Debug -j4 --rerun-failed --output-on-failure --verbose - - name: Install + - name: Install (Debug) shell: bash working-directory: ${{ github.workspace }} # Install StoneyDSP with the given configuration - run: cmake --install ${{ github.workspace }}/${{ env.BUILD_DIR }} + run: cmake --install ${PWD}/${{ env.BUILD_DIR }} --config Debug + + - name: Configure (Release) + working-directory: ${{github.workspace}} + shell: bash + # Configure CMake in a 'bin' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: >- + cmake --fresh -S${PWD} + -B${PWD}/${{ env.BUILD_DIR }} + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_C_COMPILER_LAUNCHER=sccache + -DCMAKE_CXX_COMPILER_LAUNCHER=sccache + -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" + -DSTONEYDSP_BIQUADS_BUILD_TESTS:BOOL=TRUE + -DCMAKE_INSTALL_PREFIX=${PWD}/install + -DVCPKG_HOST_TRIPLET:STRING=x64-osx + -DVCPKG_TARGET_TRIPLET:STRING=x64-osx + -DVCPKG_MANIFEST_MODE:BOOL=FALSE + -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${PWD}/vcpkg/scripts/buildsystems/vcpkg.cmake" + -G "Ninja" + --compile-no-warning-as-error + --no-warn-unused-cli + + - name: Build (Release) + # Build your program with the given configuration + run: >- + cmake + --build ${PWD}/${{ env.BUILD_DIR }} + --config Release + --parallel 4 + --target all + + - name: Test (Release) + working-directory: ${{ github.workspace }} + shell: bash + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + run: >- + ctest + --test-dir ${PWD}/${{ env.BUILD_DIR }} + -C Release + -j4 + --rerun-failed + --output-on-failure + --verbose + + - name: Install (Release) + shell: bash + working-directory: ${{ github.workspace }} + # Install StoneyDSP with the given configuration + run: cmake --install ${PWD}/${{ env.BUILD_DIR }} --config Release - name: Zip Source shell: bash working-directory: ${{ github.workspace }} # Pack the StoneyDSP source code with the given configuration - run: cpack --config ${{ github.workspace }}/${{ env.BUILD_DIR }}/CPackSourceConfig.cmake -B install -G ZIP + run: cpack --config ${PWD}/${{ env.BUILD_DIR }}/CPackSourceConfig.cmake -B install -G ZIP - name: Tar Source shell: bash working-directory: ${{ github.workspace }} # Pack the StoneyDSP source code with the given configuration - run: cpack --config ${{ github.workspace }}/${{ env.BUILD_DIR }}/CPackSourceConfig.cmake -B install -G TGZ + run: cpack --config ${PWD}/${{ env.BUILD_DIR }}/CPackSourceConfig.cmake -B install -G TGZ - name: Zip Build shell: bash working-directory: ${{github.workspace}} # Pack the StoneyDSP source code with the given configuration - run: cpack --config ${{ github.workspace }}/${{ env.BUILD_DIR }}/CPackConfig.cmake -B install -G ZIP + run: cpack --config ${PWD}/${{ env.BUILD_DIR }}/CPackConfig.cmake -B install -G ZIP - name: Tar Build shell: bash working-directory: ${{github.workspace}} # Pack the StoneyDSP source code with the given configuration - run: cpack --config ${{ github.workspace }}/${{ env.BUILD_DIR }}/CPackConfig.cmake -B install -G TGZ + run: cpack --config ${PWD}/${{ env.BUILD_DIR }}/CPackConfig.cmake -B install -G TGZ # - name: Upload Zip Source # uses: actions/upload-artifact@v4 diff --git a/.github/workflows/ubuntu-latest.yaml b/.github/workflows/ubuntu-latest.yaml index ab5056e..74dc1f5 100644 --- a/.github/workflows/ubuntu-latest.yaml +++ b/.github/workflows/ubuntu-latest.yaml @@ -11,8 +11,7 @@ concurrency: env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - CMAKE_CONFIGURATION_TYPES: Debug;Release;RelWithDebInfo;MinSizeRel - BUILD_TYPE: Release + BUILD_TYPE: Debug BUILD_DIR: Builds GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} DISPLAY: :0 # linux pluginval needs this @@ -84,78 +83,129 @@ jobs: - name: npm install run: npm install - - name: Configure + - name: Configure (Debug) working-directory: ${{github.workspace}} shell: bash # Configure CMake in a 'bin' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type run: >- - cmake -S${{github.workspace}} - -B${{github.workspace}}/${{ env.BUILD_DIR }} - -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} + cmake --fresh -S${PWD} + -B${PWD}/${{ env.BUILD_DIR }} + -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DSTONEYDSP_BIQUADS_BUILD_TESTS:BOOL=TRUE - -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install + -DCMAKE_INSTALL_PREFIX:PATH=${PWD}/install -DVCPKG_HOST_TRIPLET:STRING=x64-linux -DVCPKG_TARGET_TRIPLET:STRING=x64-linux -DVCPKG_MANIFEST_MODE:BOOL=FALSE - -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" + -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${PWD}/vcpkg/scripts/buildsystems/vcpkg.cmake" -G "Ninja" --compile-no-warning-as-error --no-warn-unused-cli - - name: Build + - name: Build (Debug) # Build your program with the given configuration run: >- cmake - --build ${{github.workspace}}/${{ env.BUILD_DIR }} - --config ${{env.BUILD_TYPE}} + --build ${PWD}/${{ env.BUILD_DIR }} + --config Debug --parallel 4 --target all - - name: Test + - name: Test (Debug) working-directory: ${{ github.workspace }} shell: bash # Execute tests defined by the CMake configuration. # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail run: >- ctest - --test-dir ${{ github.workspace }}/${{ env.BUILD_DIR }} + --test-dir ${PWD}/${{ env.BUILD_DIR }} -j4 + -C Debug --rerun-failed --output-on-failure --verbose - - name: Install + - name: Install (Debug) shell: bash working-directory: ${{ github.workspace }} # Install StoneyDSP Biquads with the given configuration - run: cmake --install ${{ github.workspace }}/${{ env.BUILD_DIR }} + run: cmake --install ${PWD}/${{ env.BUILD_DIR }} --config Debug + + - name: Configure (Release) + working-directory: ${{github.workspace}} + shell: bash + # Configure CMake in a 'bin' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: >- + cmake --fresh -S${PWD} + -B${PWD}/${{ env.BUILD_DIR }} + -DCMAKE_BUILD_TYPE:STRING=Release + -DCMAKE_C_COMPILER_LAUNCHER=sccache + -DCMAKE_CXX_COMPILER_LAUNCHER=sccache + -DSTONEYDSP_BIQUADS_BUILD_TESTS:BOOL=TRUE + -DCMAKE_INSTALL_PREFIX:PATH=${PWD}/install + -DVCPKG_HOST_TRIPLET:STRING=x64-linux + -DVCPKG_TARGET_TRIPLET:STRING=x64-linux + -DVCPKG_MANIFEST_MODE:BOOL=FALSE + -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${PWD}/vcpkg/scripts/buildsystems/vcpkg.cmake" + -G "Ninja" + --compile-no-warning-as-error + --no-warn-unused-cli + + - name: Build (Release) + # Build your program with the given configuration + run: >- + cmake + --build ${PWD}/${{ env.BUILD_DIR }} + --config Release + --parallel 4 + --target all + + - name: Test (Release) + working-directory: ${{ github.workspace }} + shell: bash + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + run: >- + ctest + --test-dir ${PWD}/${{ env.BUILD_DIR }} + -j4 + -C Release + --rerun-failed + --output-on-failure + --verbose + + - name: Install (Release) + shell: bash + working-directory: ${{ github.workspace }} + # Install StoneyDSP Biquads with the given configuration + run: cmake --install ${PWD}/${{ env.BUILD_DIR }} --config Release - name: Zip Source shell: bash working-directory: ${{ github.workspace }} # Pack the StoneyDSP Biquads source code with the given configuration - run: cpack --config ${{ github.workspace }}/${{ env.BUILD_DIR }}/CPackSourceConfig.cmake -B install -G ZIP + run: cpack --config ${PWD}/${{ env.BUILD_DIR }}/CPackSourceConfig.cmake -B install -G ZIP - name: Tar Source shell: bash working-directory: ${{ github.workspace }} # Pack the StoneyDSP Biquads source code with the given configuration - run: cpack --config ${{ github.workspace }}/${{ env.BUILD_DIR }}/CPackSourceConfig.cmake -B install -G TGZ + run: cpack --config ${PWD}/${{ env.BUILD_DIR }}/CPackSourceConfig.cmake -B install -G TGZ - name: Zip Build shell: bash working-directory: ${{github.workspace}} # Pack the StoneyDSP Biquads source code with the given configuration - run: cpack --config ${{ github.workspace }}/${{ env.BUILD_DIR }}/CPackConfig.cmake -B install -G ZIP + run: cpack --config ${PWD}/${{ env.BUILD_DIR }}/CPackConfig.cmake -B install -G ZIP - name: Tar Build shell: bash working-directory: ${{github.workspace}} # Pack the StoneyDSP Biquads source code with the given configuration - run: cpack --config ${{ github.workspace }}/${{ env.BUILD_DIR }}/CPackConfig.cmake -B install -G TGZ + run: cpack --config ${PWD}/${{ env.BUILD_DIR }}/CPackConfig.cmake -B install -G TGZ - name: Upload Zip Source uses: actions/upload-artifact@v4 diff --git a/.github/workflows/windows-latest.yaml b/.github/workflows/windows-latest.yaml index 60ebcb3..67b5e86 100644 --- a/.github/workflows/windows-latest.yaml +++ b/.github/workflows/windows-latest.yaml @@ -11,7 +11,7 @@ concurrency: env: # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - CMAKE_CONFIGURATION_TYPES: Debug;Release;RelWithDebInfo;MinSizeRel + MULTI_CONFIG_TYPES: Debug;Release BUILD_TYPE: Release BUILD_DIR: Builds GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -104,19 +104,19 @@ jobs: - name: npm install run: npm install - - name: Configure + - name: Configure (Debug) working-directory: ${{github.workspace}} shell: bash # Configure CMake in a 'bin' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type run: >- - cmake -S${PWD} + cmake --fresh -S${PWD} -B${PWD}/${{ env.BUILD_DIR }} - -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} + -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DSTONEYDSP_BIQUADS_BUILD_TESTS:BOOL=TRUE - -DCMAKE_INSTALL_PREFIX=${PWD}/install + -DCMAKE_INSTALL_PREFIX:PATH=${PWD}/install -DVCPKG_HOST_TRIPLET:STRING=x64-windows -DVCPKG_TARGET_TRIPLET:STRING=x64-windows -DVCPKG_MANIFEST_MODE:BOOL=FALSE @@ -124,17 +124,67 @@ jobs: -G "Ninja" --compile-no-warning-as-error --no-warn-unused-cli - - - name: Build + + - name: Build (Debug) # Build your program with the given configuration run: >- cmake --build ${PWD}/${{ env.BUILD_DIR }} - --config ${{env.BUILD_TYPE}} + --config Debug --parallel 4 --target all - - - name: Test + + - name: Test (Debug) + working-directory: ${{ github.workspace }} + shell: bash + # Execute tests defined by the CMake configuration. + # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail + run: >- + ctest + --test-dir ${PWD}/${{ env.BUILD_DIR }} + -j4 + -C Debug + --rerun-failed + --output-on-failure + --verbose + + - name: Install (Debug) + shell: bash + working-directory: ${{ github.workspace }} + # Install StoneyDSP Biquads with the given configuration + run: cmake --install ${PWD}/${{ env.BUILD_DIR }} --config Debug + + - name: Configure (Release) + working-directory: ${{github.workspace}} + shell: bash + # Configure CMake in a 'bin' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: >- + cmake --fresh -S${PWD} + -B${PWD}/${{ env.BUILD_DIR }} + -DCMAKE_BUILD_TYPE:STRING=Release + -DCMAKE_C_COMPILER_LAUNCHER=sccache + -DCMAKE_CXX_COMPILER_LAUNCHER=sccache + -DSTONEYDSP_BIQUADS_BUILD_TESTS:BOOL=TRUE + -DCMAKE_INSTALL_PREFIX:PATH=${PWD}/install + -DVCPKG_HOST_TRIPLET:STRING=x64-windows + -DVCPKG_TARGET_TRIPLET:STRING=x64-windows + -DVCPKG_MANIFEST_MODE:BOOL=FALSE + -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${PWD}/vcpkg/scripts/buildsystems/vcpkg.cmake" + -G "Ninja" + --compile-no-warning-as-error + --no-warn-unused-cli + + - name: Build (Release) + # Build your program with the given configuration + run: >- + cmake + --build ${PWD}/${{ env.BUILD_DIR }} + --config Release + --parallel 4 + --target all + + - name: Test (Release) working-directory: ${{ github.workspace }} shell: bash # Execute tests defined by the CMake configuration. @@ -143,15 +193,16 @@ jobs: ctest --test-dir ${PWD}/${{ env.BUILD_DIR }} -j4 + -C Release --rerun-failed --output-on-failure - --verbose + --verbose - - name: Install + - name: Install (Release) shell: bash working-directory: ${{ github.workspace }} - # Install StoneyDSP with the given configuration - run: cmake --install ${PWD}/${{ env.BUILD_DIR }} + # Install StoneyDSP Biquads with the given configuration + run: cmake --install ${PWD}/${{ env.BUILD_DIR }} --config Release - name: Zip Source shell: bash diff --git a/CMakeLists.txt b/CMakeLists.txt index efd6a13..74a0269 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,6 +38,7 @@ unset (_git_rev_list_count) message (STATUS "Configuring StoneyDSP Biquads v${STONEYDSP_BIQUADS_VERSION}...") set_property(GLOBAL PROPERTY USE_FOLDERS YES) +set_property(GLOBAL PROPERTY DONT_SET_USING_JUCE_NAMESPACE 1) if (NOT DEFINED JUCE_VERSION) message (STATUS "Looking for JUCE...") @@ -65,6 +66,14 @@ set (STONEYDSP_BIQUADS_TARGETS "") add_subdirectory(modules) set_directory_properties(PROPERTIES + + # JUCE_COPY_PLUGIN_AFTER_BUILD TRUE + # JUCE_VST_COPY_DIR + # JUCE_VST3_COPY_DIR + # JUCE_AAX_COPY_DIR + # JUCE_AU_COPY_DIR + # JUCE_UNITY_COPY_DIR + JUCE_COMPANY_NAME "StoneyDSP" JUCE_COMPANY_WEBSITE "https://stoneydsp.com" JUCE_COMPANY_EMAIL "nathanjhood@googlemail.com" @@ -75,48 +84,65 @@ set_directory_properties(PROPERTIES # target: StoneyDSP::Biquads_Audio_Plugin_Dependencies #]=============================================================================] -# Note: all linkage MUST be marked PRIVATE +# Note: All linkage to this target MUST be marked PRIVATE add_library (Biquads_Audio_Plugin_Dependencies STATIC) add_library (StoneyDSP::Biquads_Audio_Plugin_Dependencies ALIAS Biquads_Audio_Plugin_Dependencies) +target_compile_features(Biquads_Audio_Plugin_Dependencies PRIVATE cxx_std_17) -target_link_libraries (Biquads_Audio_Plugin_Dependencies - PRIVATE - StoneyDSP::stoneydsp_core - StoneyDSP::stoneydsp_audio - # StoneyDSP::stoneydsp_graphics - - juce::juce_audio_basics - juce::juce_audio_devices - juce::juce_audio_formats - juce::juce_audio_plugin_client - juce::juce_audio_processors - juce::juce_audio_utils - juce::juce_core - juce::juce_data_structures - juce::juce_dsp - juce::juce_events - juce::juce_graphics - juce::juce_gui_basics - juce::juce_gui_extra +set (STONEYDSP_BIQUADS_STONEYDSP_MODULE_DEPENDENCIES "") +list (APPEND STONEYDSP_BIQUADS_STONEYDSP_MODULE_DEPENDENCIES + stoneydsp_core + stoneydsp_audio + # stoneydsp_graphics ) -if (STONEYDSP_BIQUADS_USING_JUCE_RECOMMENDED_CONFIG_FLAGS) +foreach(STONEYDSP_BIQUADS_STONEYDSP_MODULE_DEPENDENCY IN LISTS STONEYDSP_BIQUADS_STONEYDSP_MODULE_DEPENDENCIES) target_link_libraries (Biquads_Audio_Plugin_Dependencies - PUBLIC - juce::juce_recommended_config_flags + PRIVATE + StoneyDSP::${STONEYDSP_BIQUADS_STONEYDSP_MODULE_DEPENDENCY} ) -endif () -if (STONEYDSP_BIQUADS_USING_JUCE_RECOMMENDED_LTO_FLAGS) +endforeach() + +set (STONEYDSP_BIQUADS_JUCE_MODULE_DEPENDENCIES "") +list(APPEND STONEYDSP_BIQUADS_JUCE_MODULE_DEPENDENCIES + juce_audio_basics + juce_audio_devices + juce_audio_formats + juce_audio_plugin_client + juce_audio_processors + juce_audio_utils + juce_core + juce_data_structures + juce_dsp + juce_events + juce_graphics + juce_gui_basics + juce_gui_extra +) +foreach(STONEYDSP_BIQUADS_JUCE_MODULE_DEPENDENCY IN LISTS STONEYDSP_BIQUADS_JUCE_MODULE_DEPENDENCIES) target_link_libraries (Biquads_Audio_Plugin_Dependencies - PUBLIC - juce::juce_recommended_lto_flags + PRIVATE + juce::${STONEYDSP_BIQUADS_JUCE_MODULE_DEPENDENCY} ) +endforeach() + +set (STONEYDSP_BIQUADS_JUCE_FLAGS "") +if (STONEYDSP_BIQUADS_USING_JUCE_RECOMMENDED_CONFIG_FLAGS) + list (APPEND STONEYDSP_BIQUADS_JUCE_FLAGS juce_recommended_config_flags) +endif () +if (STONEYDSP_BIQUADS_USING_JUCE_RECOMMENDED_LTO_FLAGS) + list (APPEND STONEYDSP_BIQUADS_JUCE_FLAGS juce_recommended_lto_flags) endif () if (STONEYDSP_BIQUADS_USING_JUCE_RECOMMENDED_WARNING_FLAGS) + list (APPEND STONEYDSP_BIQUADS_JUCE_FLAGS juce_recommended_warning_flags) +endif () + +foreach (STONEYDSP_BIQUADS_JUCE_FLAG IN LISTS STONEYDSP_BIQUADS_JUCE_FLAGS) target_link_libraries (Biquads_Audio_Plugin_Dependencies PUBLIC - juce::juce_recommended_warning_flags + juce::${STONEYDSP_BIQUADS_JUCE_FLAG} ) -endif () +endforeach () + target_compile_definitions (Biquads_Audio_Plugin_Dependencies PUBLIC JUCE_WEB_BROWSER=0 @@ -132,22 +158,37 @@ target_include_directories(Biquads_Audio_Plugin_Dependencies INTERFACE $ ) -target_compile_features(Biquads_Audio_Plugin_Dependencies PRIVATE cxx_std_17) set_target_properties(Biquads_Audio_Plugin_Dependencies PROPERTIES - POSITION_INDEPENDENT_CODE TRUE - VISIBILITY_INLINES_HIDDEN TRUE - C_VISBILITY_PRESET hidden - CXX_VISIBILITY_PRESET hidden - VERSION ${STONEYDSP_BIQUADS_VERSION_MAJOR}.${STONEYDSP_BIQUADS_VERSION_MINOR}.${STONEYDSP_BIQUADS_VERSION_PATCH} - SOVERSION ${STONEYDSP_BIQUADS_VERSION_MAJOR} - EXCLUDE_FROM_ALL FALSE + + POSITION_INDEPENDENT_CODE TRUE + VISIBILITY_INLINES_HIDDEN TRUE + + C_VISBILITY_PRESET hidden + CXX_VISIBILITY_PRESET hidden + + VERSION ${STONEYDSP_BIQUADS_VERSION_MAJOR}.${STONEYDSP_BIQUADS_VERSION_MINOR}.${STONEYDSP_BIQUADS_VERSION_PATCH} + SOVERSION ${STONEYDSP_BIQUADS_VERSION_MAJOR} + + RUNTIME_OUTPUT_DIRECTORY "${STONEYDSP_BIQUADS_BINARY_DIR}/bin" + LIBRARY_OUTPUT_DIRECTORY "${STONEYDSP_BIQUADS_BINARY_DIR}/lib" + ARCHIVE_OUTPUT_DIRECTORY "${STONEYDSP_BIQUADS_BINARY_DIR}/lib" + PDB_OUTPUT_DIRECTORY "${STONEYDSP_BIQUADS_BINARY_DIR}/bin" + + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${STONEYDSP_BIQUADS_BINARY_DIR}/bin/Debug" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${STONEYDSP_BIQUADS_BINARY_DIR}/lib/Debug" + ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${STONEYDSP_BIQUADS_BINARY_DIR}/lib/Debug" + PDB_OUTPUT_DIRECTORY_DEBUG "${STONEYDSP_BIQUADS_BINARY_DIR}/bin/Debug" + + EXCLUDE_FROM_ALL FALSE ) +list (APPEND STONEYDSP_BIQUADS_TARGETS Biquads_Audio_Plugin_Dependencies) + #[=============================================================================[ # target: StoneyDSP::Biquads_Audio_Plugin_Interface #]=============================================================================] -# Note: all linkage MUST be marked INTERFACE +# Note: All linkage to this target MUST be marked INTERFACE add_library (Biquads_Audio_Plugin_Interface INTERFACE) add_library (StoneyDSP::Biquads_Audio_Plugin_Interface ALIAS Biquads_Audio_Plugin_Interface) @@ -180,7 +221,7 @@ set (STONEYDSP_BIQUADS_INCLUDEDIR $ $ ) - +target_compile_features(Biquads_Audio_Plugin_Interface INTERFACE cxx_std_17) if (CMAKE_MAJOR_VERSION GREATER_EQUAL 3 AND (CMAKE_MINOR_VERSION LESS 23)) target_include_directories (Biquads_Audio_Plugin_Interface INTERFACE ${STONEYDSP_BIQUADS_INCLUDEDIR}) else () @@ -203,24 +244,39 @@ else () $ ) endif() -target_compile_features(Biquads_Audio_Plugin_Interface INTERFACE cxx_std_17) set_target_properties(Biquads_Audio_Plugin_Interface PROPERTIES - POSITION_INDEPENDENT_CODE TRUE - VISIBILITY_INLINES_HIDDEN TRUE - C_VISBILITY_PRESET hidden - CXX_VISIBILITY_PRESET hidden - VERSION ${STONEYDSP_BIQUADS_VERSION_MAJOR}.${STONEYDSP_BIQUADS_VERSION_MINOR}.${STONEYDSP_BIQUADS_VERSION_PATCH} - SOVERSION ${STONEYDSP_BIQUADS_VERSION_MAJOR} - EXCLUDE_FROM_ALL TRUE + + POSITION_INDEPENDENT_CODE TRUE + VISIBILITY_INLINES_HIDDEN TRUE + + C_VISBILITY_PRESET hidden + CXX_VISIBILITY_PRESET hidden + + VERSION ${STONEYDSP_BIQUADS_VERSION_MAJOR}.${STONEYDSP_BIQUADS_VERSION_MINOR}.${STONEYDSP_BIQUADS_VERSION_PATCH} + SOVERSION ${STONEYDSP_BIQUADS_VERSION_MAJOR} + + RUNTIME_OUTPUT_DIRECTORY "${STONEYDSP_BIQUADS_BINARY_DIR}/bin" + LIBRARY_OUTPUT_DIRECTORY "${STONEYDSP_BIQUADS_BINARY_DIR}/lib" + ARCHIVE_OUTPUT_DIRECTORY "${STONEYDSP_BIQUADS_BINARY_DIR}/lib" + PDB_OUTPUT_DIRECTORY "${STONEYDSP_BIQUADS_BINARY_DIR}/bin" + + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${STONEYDSP_BIQUADS_BINARY_DIR}/bin/Debug" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${STONEYDSP_BIQUADS_BINARY_DIR}/lib/Debug" + ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${STONEYDSP_BIQUADS_BINARY_DIR}/lib/Debug" + PDB_OUTPUT_DIRECTORY_DEBUG "${STONEYDSP_BIQUADS_BINARY_DIR}/bin/Debug" + + EXCLUDE_FROM_ALL TRUE ) +list (APPEND STONEYDSP_BIQUADS_TARGETS Biquads_Audio_Plugin_Interface) + #[=============================================================================[ # target: StoneyDSP::Biquads_Audio_Plugin_Library #]=============================================================================] add_library (Biquads_Audio_Plugin_Library STATIC) add_library (StoneyDSP::Biquads_Audio_Plugin_Library ALIAS Biquads_Audio_Plugin_Library) - +target_compile_features (Biquads_Audio_Plugin_Library PRIVATE cxx_std_17) target_include_directories (Biquads_Audio_Plugin_Library PUBLIC ${STONEYDSP_BIQUADS_INCLUDEDIR} @@ -238,17 +294,32 @@ target_link_libraries (Biquads_Audio_Plugin_Library INTERFACE StoneyDSP::Biquads_Audio_Plugin_Interface # MUST be INTERFACE! ) -target_compile_features(Biquads_Audio_Plugin_Library PRIVATE cxx_std_17) -set_target_properties(Biquads_Audio_Plugin_Library PROPERTIES - POSITION_INDEPENDENT_CODE TRUE - VISIBILITY_INLINES_HIDDEN TRUE - C_VISBILITY_PRESET hidden - CXX_VISIBILITY_PRESET hidden - VERSION ${STONEYDSP_BIQUADS_VERSION_MAJOR}.${STONEYDSP_BIQUADS_VERSION_MINOR}.${STONEYDSP_BIQUADS_VERSION_PATCH} - SOVERSION ${STONEYDSP_BIQUADS_VERSION_MAJOR} +set_target_properties (Biquads_Audio_Plugin_Library PROPERTIES + + POSITION_INDEPENDENT_CODE TRUE + VISIBILITY_INLINES_HIDDEN TRUE + + C_VISBILITY_PRESET hidden + CXX_VISIBILITY_PRESET hidden + + VERSION ${STONEYDSP_BIQUADS_VERSION_MAJOR}.${STONEYDSP_BIQUADS_VERSION_MINOR}.${STONEYDSP_BIQUADS_VERSION_PATCH} + SOVERSION ${STONEYDSP_BIQUADS_VERSION_MAJOR} + + RUNTIME_OUTPUT_DIRECTORY "${STONEYDSP_BIQUADS_BINARY_DIR}/bin" + LIBRARY_OUTPUT_DIRECTORY "${STONEYDSP_BIQUADS_BINARY_DIR}/lib" + ARCHIVE_OUTPUT_DIRECTORY "${STONEYDSP_BIQUADS_BINARY_DIR}/lib" + PDB_OUTPUT_DIRECTORY "${STONEYDSP_BIQUADS_BINARY_DIR}/bin" + + RUNTIME_OUTPUT_DIRECTORY_DEBUG "${STONEYDSP_BIQUADS_BINARY_DIR}/bin/Debug" + LIBRARY_OUTPUT_DIRECTORY_DEBUG "${STONEYDSP_BIQUADS_BINARY_DIR}/lib/Debug" + ARCHIVE_OUTPUT_DIRECTORY_DEBUG "${STONEYDSP_BIQUADS_BINARY_DIR}/lib/Debug" + PDB_OUTPUT_DIRECTORY_DEBUG "${STONEYDSP_BIQUADS_BINARY_DIR}/bin/Debug" + EXCLUDE_FROM_ALL TRUE ) +list (APPEND STONEYDSP_BIQUADS_TARGETS Biquads_Audio_Plugin_Library) + #[=============================================================================[ # target: StoneyDSP::Biquads #]=============================================================================] @@ -284,6 +355,13 @@ juce_add_plugin (Biquads_Audio_Plugin COMPANY_WEBSITE "https://stoneydsp.com" COMPANY_EMAIL "nathanjhood@googlemail.com" COMPANY_COPYRIGHT "Copyright (c) 2024 - Nathan J. Hood " + + # COPY_PLUGIN_AFTER_BUILD + # VST_COPY_DIR + # VST3_COPY_DIR + # AAX_COPY_DIR + # AU_COPY_DIR + # UNITY_COPY_DIR ) if (CMAKE_MAJOR_VERSION GREATER_EQUAL 3 AND (CMAKE_MINOR_VERSION LESS 23)) @@ -311,8 +389,6 @@ target_link_libraries (Biquads_Audio_Plugin StoneyDSP::Biquads_Audio_Plugin_Interface # MUST be INTERFACE! ) -list (APPEND STONEYDSP_BIQUADS_TARGETS Biquads_Audio_Plugin_Dependencies) - #[=============================================================================[ # Helpers #]=============================================================================] @@ -336,30 +412,34 @@ endif () include(CMakePackageConfigHelpers) -if (STONEYDSP_BIQUADS_TARGET_IS_INSTALLABLE) - export ( - TARGETS ${STONEYDSP_BIQUADS_TARGETS} - FILE share/cmake/StoneyDSPBiquadsTargets.cmake - NAMESPACE StoneyDSP:: - ) -endif () +# export ( +# TARGETS Biquads_Audio_Plugin # ${STONEYDSP_BIQUADS_TARGETS} +# FILE share/cmake/StoneyDSPBiquadsTargets.cmake +# NAMESPACE StoneyDSP:: +# ) + +# export ( +# TARGETS ${STONEYDSP_BIQUADS_JUCE_MODULE_DEPENDENCIES} +# FILE share/cmake/StoneyDSPBiquadsJuceModuleDependencyTargets.cmake +# NAMESPACE juce:: +# ) + #[=============================================================================[ # Install & CPack configuration #]=============================================================================] - include(GNUInstallDirs) write_basic_package_version_file( - "${STONEYDSP_BIQUADS_BINARY_DIR}/StoneyDSPBiquadsConfigVersion.cmake" + "${STONEYDSP_BIQUADS_BINARY_DIR}/share/StoneyDSP/Biquads/StoneyDSPBiquadsConfigVersion.cmake" VERSION ${STONEYDSP_BIQUADS_VERSION} COMPATIBILITY ExactVersion ) -set(STONEYDSP_BIQUADS_INSTALL_DESTINATION "lib/cmake/StoneyDSP-Biquads-v${STONEYDSP_BIQUADS_VERSION}" CACHE STRING "The location, relative to the install prefix, where the StoneyDSP Biquads config file will be installed") +set(STONEYDSP_BIQUADS_INSTALL_LIBDIR "lib/cmake/StoneyDSP/Biquads" CACHE STRING "The location, relative to the install prefix, where the StoneyDSP Biquads config file will be installed") -# unset(STONEYDSP_BIQUADS_INCLUDEDIR) -# set(STONEYDSP_BIQUADS_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}" CACHE PATH "Installation directory for include files, a relative path that will be joined with ${CMAKE_INSTALL_PREFIX} or an absolute path." FORCE) +unset(STONEYDSP_BIQUADS_INCLUDEDIR) +set(STONEYDSP_BIQUADS_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}" CACHE PATH "Installation directory for include files, a relative path that will be joined with ${CMAKE_INSTALL_PREFIX} or an absolute path." FORCE) foreach (STONEYDSP_BIQUADS_UNIT_FILE IN LISTS STONEYDSP_BIQUADS_UNIT_FILES) if (STONEYDSP_BIQUADS_UNIT_FILE STREQUAL "StoneyDSP/Biquads") @@ -377,45 +457,48 @@ endforeach () configure_package_config_file( "${STONEYDSP_BIQUADS_SOURCE_DIR}/share/StoneyDSP/Biquads/StoneyDSPBiquadsConfig.cmake.in" - "${STONEYDSP_BIQUADS_BINARY_DIR}/StoneyDSPBiquadsConfig.cmake" - INSTALL_DESTINATION "${STONEYDSP_BIQUADS_INSTALL_DESTINATION}" + "${STONEYDSP_BIQUADS_BINARY_DIR}/share/StoneyDSP/Biquads/StoneyDSPBiquadsConfig.cmake" + INSTALL_DESTINATION "${STONEYDSP_BIQUADS_INSTALL_LIBDIR}" ) -if (STONEYDSP_BIQUADS_TARGET_IS_INSTALLABLE) - if (CMAKE_MAJOR_VERSION GREATER_EQUAL 3 AND (CMAKE_MINOR_VERSION LESS 23)) - install( - TARGETS ${STONEYDSP_BIQUADS_TARGETS} - EXPORT StoneyDSPBiquadsTargets - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/StoneyDSP" - PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/StoneyDSP" - # FILE_SET biquads_HEADERS "${CMAKE_INSTALL_INCLUDEDIR}/StoneyDSP" - ) - else () - install( - TARGETS ${STONEYDSP_BIQUADS_TARGETS} - EXPORT StoneyDSPBiquadsTargets - LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" - ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" - RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" - INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/StoneyDSP" - #PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/StoneyDSP" - FILE_SET biquads_HEADERS "${CMAKE_INSTALL_INCLUDEDIR}/StoneyDSP" - ) - endif () - install( - EXPORT StoneyDSPBiquadsTargets - FILE StoneyDSPBiquadsTargets.cmake - NAMESPACE StoneyDSP:: - DESTINATION lib/cmake/StoneyDSP - ) -endif () - -install(FILES - "${STONEYDSP_BIQUADS_BINARY_DIR}/StoneyDSPBiquadsConfigVersion.cmake" - "${STONEYDSP_BIQUADS_BINARY_DIR}/StoneyDSPBiquadsConfig.cmake" +# if (STONEYDSP_BIQUADS_TARGET_IS_INSTALLABLE) +# if (CMAKE_MAJOR_VERSION GREATER_EQUAL 3 AND (CMAKE_MINOR_VERSION LESS 23)) +# install( +# TARGETS ${STONEYDSP_BIQUADS_TARGETS} ${STONEYDSP_BIQUADS_JUCE_MODULE_DEPENDENCIES} +# EXPORT StoneyDSPBiquadsTargets +# LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" +# ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +# RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +# INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/StoneyDSP" +# PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/StoneyDSP" +# # FILE_SET biquads_HEADERS "${CMAKE_INSTALL_INCLUDEDIR}/StoneyDSP" +# ) +# else () +# install( +# TARGETS ${STONEYDSP_BIQUADS_TARGETS} ${STONEYDSP_BIQUADS_JUCE_MODULE_DEPENDENCIES} +# EXPORT StoneyDSPBiquadsTargets +# LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" +# ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" +# RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" +# INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/StoneyDSP" +# #PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/StoneyDSP" +# FILE_SET biquads_AUDIO_PLUGIN_INTERFACE_HEADERS DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/StoneyDSP" +# ) +# endif () +# install( +# EXPORT StoneyDSPBiquadsTargets +# FILE share/cmake/StoneyDSPBiquadsTargets.cmake +# NAMESPACE StoneyDSP:: +# DESTINATION lib/cmake/StoneyDSP +# ) +# endif () + +install ( + DIRECTORY "${STONEYDSP_BIQUADS_BINARY_DIR}/Biquads_Audio_Plugin_artefacts" DESTINATION "Builds") + +install (FILES + "${STONEYDSP_BIQUADS_BINARY_DIR}/share/StoneyDSP/Biquads/StoneyDSPBiquadsConfigVersion.cmake" + "${STONEYDSP_BIQUADS_BINARY_DIR}/share/StoneyDSP/Biquads/StoneyDSPBiquadsConfig.cmake" "${STONEYDSP_BIQUADS_SOURCE_DIR}/share/cmake/Modules/GetGitRevListCount.cmake" "${STONEYDSP_BIQUADS_SOURCE_DIR}/share/cmake/Modules/StoneyDSPBiquadsCPackIgnoreList.cmake" "${STONEYDSP_BIQUADS_SOURCE_DIR}/share/cmake/Modules/StoneyDSPBiquadsWriteVersionFile.cmake" @@ -425,7 +508,8 @@ install(FILES "${STONEYDSP_BIQUADS_SOURCE_DIR}/VERSION" "${STONEYDSP_BIQUADS_SOURCE_DIR}/LICENSE" "${STONEYDSP_BIQUADS_SOURCE_DIR}/README.md" - DESTINATION "${STONEYDSP_BIQUADS_INSTALL_DESTINATION}" + "${STONEYDSP_BIQUADS_SOURCE_DIR}/Biquads.jucer" + DESTINATION "${STONEYDSP_BIQUADS_INSTALL_LIBDIR}" ) set(STONEYDSP_BIQUADS_CPACK_GENERATORS "") @@ -457,7 +541,7 @@ set(CPACK_RESOURCE_FILE_LICENSE "${STONEYDSP_BIQUADS_SOURCE_DIR}/LICENSE") set(CPACK_RESOURCE_FILE_README "${STONEYDSP_BIQUADS_SOURCE_DIR}/README.md") set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY ON) set(CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY ON) -set(CPACK_SOURCE_GENERATOR "TGZ;ZIP") # Check out CPack's 'NSIS' installer for Win32, and the others! +set(CPACK_SOURCE_GENERATOR "TGZ;ZIP") set(CPACK_SOURCE_IGNORE_FILES ${STONEYDSP_BIQUADS_CPACK_IGNORE_LIST}) include(CPack) diff --git a/VERSION b/VERSION index 5518594..57c62e7 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.2.2.174 +1.2.2.177 diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index a21571f..575b25a 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -3,7 +3,7 @@ ]=============================================================================]# juce_add_modules( - INSTALL_PATH "include/StoneyDSP-v${STONEYDSP_BIQUADS_VERSION}/modules" + INSTALL_PATH "include/StoneyDSP/modules" ALIAS_NAMESPACE StoneyDSP stoneydsp_core stoneydsp_audio diff --git a/share/cmake/Modules/StoneyDSPBiquadsCPackIgnoreList.cmake b/share/cmake/Modules/StoneyDSPBiquadsCPackIgnoreList.cmake index ea1a848..e48f707 100644 --- a/share/cmake/Modules/StoneyDSPBiquadsCPackIgnoreList.cmake +++ b/share/cmake/Modules/StoneyDSPBiquadsCPackIgnoreList.cmake @@ -91,12 +91,12 @@ list(APPEND STONEYDSP_BIQUADS_CPACK_IGNORE_LIST /install #/out - /Builds + #/Builds - /Release - /Debug - /MinSizeRel - /RelWithDebInfo + #/Release + #/Debug + #/MinSizeRel + #/RelWithDebInfo /downloads /packages diff --git a/src/StoneyDSP/Biquads/Wrapper.cpp b/src/StoneyDSP/Biquads/Wrapper.cpp index 6b2f2ec..bbb2879 100644 --- a/src/StoneyDSP/Biquads/Wrapper.cpp +++ b/src/StoneyDSP/Biquads/Wrapper.cpp @@ -37,6 +37,9 @@ AudioPluginAudioProcessorWrapper::AudioPluginAudioProcessorWrapper(A , setup(spec) , mixer(std::make_unique>()) + +, biquadArraySize(static_cast(4)) // cannot ‘dynamic_cast’ this - target typeis not pointer or reference... + , masterBypassPtr(dynamic_cast (apvts.getParameter("Master_bypassID"))) , masterOutputPtr(dynamic_cast (apvts.getParameter("Master_outputID"))) , masterMixPtr(dynamic_cast (apvts.getParameter("Master_mixID"))) @@ -68,7 +71,6 @@ AudioPluginAudioProcessorWrapper::AudioPluginAudioProcessorWrapper(A , biquadsDTypePtr(dynamic_cast (apvts.getParameter("Band_D_typeID"))) , bypassState(dynamic_cast (apvts.getParameter("Master_bypassID"))) -, biquadArraySize(static_cast(4)) // cannot ‘dynamic_cast’ this - target typeis not pointer or reference... { masterBypassPtr = dynamic_cast (apvts.getParameter("Master_bypassID")); @@ -149,7 +151,7 @@ AudioPluginAudioProcessorWrapper::AudioPluginAudioProcessorWrapper(A reset(static_cast(0.0)); } -template StoneyDSP::Biquads::AudioPluginAudioProcessorWrapper::~AudioPluginAudioProcessorWrapper() +template AudioPluginAudioProcessorWrapper::~AudioPluginAudioProcessorWrapper() { }