[libstk] add new port (#5379)

* added libstk

* added vcpkg_fixup_cmake_targets

* [libstk] Use static builds. Rename targets. Add include directory to cmake config.
This commit is contained in:
justnope 2019-02-25 22:39:17 +01:00 committed by Robert Schumacher
parent 321d7b17fc
commit 22026ce2d9
3 changed files with 254 additions and 0 deletions

215
ports/libstk/CMakeLists.txt Normal file
View File

@ -0,0 +1,215 @@
cmake_minimum_required(VERSION 3.0)
project(libstk)
set(LIBSTK_SOURCES
src/ADSR.cpp
src/Asymp.cpp
src/BandedWG.cpp
src/BeeThree.cpp
src/BiQuad.cpp
src/Blit.cpp
src/BlitSaw.cpp
src/BlitSquare.cpp
src/BlowBotl.cpp
src/BlowHole.cpp
src/Bowed.cpp
src/Brass.cpp
src/Chorus.cpp
src/Clarinet.cpp
src/Delay.cpp
src/DelayA.cpp
src/DelayL.cpp
src/Drummer.cpp
src/Echo.cpp
src/Envelope.cpp
src/FileLoop.cpp
src/FileRead.cpp
src/FileWrite.cpp
src/FileWvIn.cpp
src/FileWvOut.cpp
src/Fir.cpp
src/Flute.cpp
src/FM.cpp
src/FMVoices.cpp
src/FormSwep.cpp
src/FreeVerb.cpp
src/Granulate.cpp
src/Guitar.cpp
src/HevyMetl.cpp
src/Iir.cpp
src/JCRev.cpp
src/LentPitShift.cpp
src/Makefile.in
src/Mandolin.cpp
src/Mesh2D.cpp
src/Messager.cpp
src/MidiFileIn.cpp
src/Modal.cpp
src/ModalBar.cpp
src/Modulate.cpp
src/Moog.cpp
src/Noise.cpp
src/NRev.cpp
src/OnePole.cpp
src/OneZero.cpp
src/PercFlut.cpp
src/Phonemes.cpp
src/PitShift.cpp
src/Plucked.cpp
src/PoleZero.cpp
src/PRCRev.cpp
src/Resonate.cpp
src/Rhodey.cpp
src/Sampler.cpp
src/Saxofony.cpp
src/Shakers.cpp
src/Simple.cpp
src/SineWave.cpp
src/SingWave.cpp
src/Sitar.cpp
src/Skini.cpp
src/Sphere.cpp
src/StifKarp.cpp
src/Stk.cpp
src/TapDelay.cpp
src/TubeBell.cpp
src/Twang.cpp
src/TwoPole.cpp
src/TwoZero.cpp
src/Voicer.cpp
src/VoicForm.cpp
src/Whistle.cpp
src/Wurley.cpp)
set(LIBSTK_REALTIME_SOURCES
src/InetWvIn.cpp
src/InetWvOut.cpp
src/Mutex.cpp
src/RtAudio.cpp
src/RtMidi.cpp
src/RtWvIn.cpp
src/RtWvOut.cpp
src/Socket.cpp
src/TcpClient.cpp
src/TcpServer.cpp
src/Thread.cpp
src/UdpSocket.cpp
)
set(LIBSTK_HEADERS
include/ADSR.h
include/Asymp.h
include/BandedWG.h
include/BeeThree.h
include/BiQuad.h
include/Blit.h
include/BlitSaw.h
include/BlitSquare.h
include/BlowBotl.h
include/BlowHole.h
include/Bowed.h
include/BowTable.h
include/Brass.h
include/Chorus.h
include/Clarinet.h
include/Cubic.h
include/Delay.h
include/DelayA.h
include/DelayL.h
include/Drummer.h
include/Echo.h
include/Effect.h
include/Envelope.h
include/FileLoop.h
include/FileRead.h
include/FileWrite.h
include/FileWvIn.h
include/FileWvOut.h
include/Filter.h
include/Fir.h
include/Flute.h
include/FM.h
include/FMVoices.h
include/FormSwep.h
include/FreeVerb.h
include/Function.h
include/Generator.h
include/Granulate.h
include/Guitar.h
include/HevyMetl.h
include/Iir.h
include/InetWvIn.h
include/InetWvOut.h
include/Instrmnt.h
include/JCRev.h
include/JetTable.h
include/LentPitShift.h
include/Mandolin.h
include/Mesh2D.h
include/Messager.h
include/MidiFileIn.h
include/Modal.h
include/ModalBar.h
include/Modulate.h
include/Moog.h
include/Mutex.h
include/Noise.h
include/NRev.h
include/OnePole.h
include/OneZero.h
include/PercFlut.h
include/Phonemes.h
include/PitShift.h
include/Plucked.h
include/PoleZero.h
include/PRCRev.h
include/ReedTable.h
include/Resonate.h
include/Rhodey.h
include/RtAudio.h
include/RtMidi.h
include/RtWvIn.h
include/RtWvOut.h
include/Sampler.h
include/Saxofony.h
include/Shakers.h
include/Simple.h
include/SineWave.h
include/SingWave.h
include/Sitar.h
include/Skini.h
include/SKINImsg.h
include/SKINItbl.h
include/Socket.h
include/Sphere.h
include/StifKarp.h
include/Stk.h
include/TapDelay.h
include/TcpClient.h
include/TcpServer.h
include/Thread.h
include/TubeBell.h
include/Twang.h
include/TwoPole.h
include/TwoZero.h
include/UdpSocket.h
include/Vector3D.h
include/Voicer.h
include/VoicForm.h
include/Whistle.h
include/Wurley.h
include/WvIn.h
include/WvOut.h
)
add_library(libstk ${LIBSTK_SOURCES})
target_include_directories(libstk PRIVATE include PUBLIC $<INSTALL_INTERFACE:include>)
set_target_properties(libstk PROPERTIES PUBLIC_HEADER "${LIBSTK_HEADERS}")
target_compile_definitions(libstk PRIVATE __LITTLE_ENDIAN__)
install(TARGETS libstk EXPORT unofficial-libstk-config
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RUNTIME DESTINATION bin
PUBLIC_HEADER DESTINATION include/stk)
install(EXPORT unofficial-libstk-config NAMESPACE unofficial::libstk:: DESTINATION share/unofficial-libstk)

3
ports/libstk/CONTROL Normal file
View File

@ -0,0 +1,3 @@
Source: libstk
Version: 4.6.0-2
Description: The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language.

View File

@ -0,0 +1,36 @@
include(vcpkg_common_functions)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO thestk/stk
REF v4.6.0
SHA512 8e40dbd9e2b315df769262889fdf15b4a67843984d27a1f939d8bc6e820abb662eeae3b934fa81097222c67f7922681fe170006bebe5597cbd51b0a8624a6733
HEAD_REF master
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-libstk TARGET_PATH share/unofficial-libstk)
vcpkg_copy_pdbs()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Handle copyright
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libstk RENAME copyright)
file(GLOB RAWFILES ${SOURCE_PATH}/rawwaves/*.raw)
file(COPY ${RAWFILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share/libstk/rawwaves)
# Post-build test for cmake libraries
# vcpkg_test_cmake(PACKAGE_NAME libstk)