aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/gamma
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/gamma
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/gamma')
-rw-r--r--vcpkg/ports/gamma/CMakeLists.txt41
-rw-r--r--vcpkg/ports/gamma/portfile.cmake24
-rw-r--r--vcpkg/ports/gamma/vcpkg.json22
3 files changed, 87 insertions, 0 deletions
diff --git a/vcpkg/ports/gamma/CMakeLists.txt b/vcpkg/ports/gamma/CMakeLists.txt
new file mode 100644
index 0000000..45f0ba7
--- /dev/null
+++ b/vcpkg/ports/gamma/CMakeLists.txt
@@ -0,0 +1,41 @@
+cmake_minimum_required (VERSION 3.0)
+
+project (gamma)
+
+# dependent on libsndfile and portaudio
+find_package(SndFile CONFIG REQUIRED)
+find_path(PORTAUDIO_H portaudio.h)
+find_library(PORTAUDIO_LIB NAMES portaudio)
+
+set(SOURCEFILES
+ src/arr.cpp
+ src/AudioIO.cpp
+ src/Conversion.cpp
+ src/Domain.cpp
+ src/DFT.cpp
+ src/FFT_fftpack.cpp
+ src/fftpack++1.cpp
+ src/fftpack++2.cpp
+ src/SoundFile.cpp
+ src/Print.cpp
+ src/Recorder.cpp
+ src/scl.cpp
+ src/Scheduler.cpp
+ src/Timer.cpp
+ src/SoundFile.cpp)
+
+include_directories(. Gamma ${CMAKE_INSTALL_FULL_INCLUDEDIR} ${PORTAUDIO_H})
+
+add_library (gamma ${SOURCEFILES})
+target_link_libraries(gamma PUBLIC SndFile::sndfile ${PORTAUDIO_LIB})
+
+install(
+ TARGETS gamma
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(DIRECTORY Gamma DESTINATION include FILES_MATCHING PATTERN "*.h")
+endif()
diff --git a/vcpkg/ports/gamma/portfile.cmake b/vcpkg/ports/gamma/portfile.cmake
new file mode 100644
index 0000000..f004b44
--- /dev/null
+++ b/vcpkg/ports/gamma/portfile.cmake
@@ -0,0 +1,24 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+set(GAMMA_RELEASE_TAG "cc442ad0c5da369966cd937a96925c7b9a04e9e5")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO "LancePutnam/Gamma"
+ REF ${GAMMA_RELEASE_TAG}
+ SHA512 431f17f053ca1c5ba0117b7ae7af8efae9df454593437de00dfea8ee04991b5701bee99d79deb074e60e397981a7fc1ce3476ec118d0f369e71e2cbaa696383d
+ HEAD_REF master
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+# Handle copyright
+file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/gamma/vcpkg.json b/vcpkg/ports/gamma/vcpkg.json
new file mode 100644
index 0000000..1b4606b
--- /dev/null
+++ b/vcpkg/ports/gamma/vcpkg.json
@@ -0,0 +1,22 @@
+{
+ "name": "gamma",
+ "version-string": "gamma-2018-01-27",
+ "port-version": 6,
+ "description": "Gamma is a cross-platform, C++ library for doing generic synthesis and filtering of signals. It is oriented towards real-time sound and graphics applications, but is equally useful for non-real-time tasks. Gamma is designed to be \"light-footed\" in terms of memory and processing making it highly suitable for plug-in development or embedding in other C++ projects.",
+ "homepage": "https://github.com/LancePutnam/Gamma",
+ "license": "MIT",
+ "dependencies": [
+ {
+ "name": "libsndfile",
+ "default-features": false,
+ "features": [
+ "external-libs"
+ ]
+ },
+ "portaudio",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}