mirror of
https://codeberg.org/armin/horizont.git
synced 2026-09-01 20:30:47 +02:00
76 lines
2.3 KiB
Text
76 lines
2.3 KiB
Text
|
|
cmake_minimum_required(VERSION 3.22)
|
||
|
|
|
||
|
|
project(Horizont
|
||
|
|
VERSION 1.0.0
|
||
|
|
LANGUAGES C CXX)
|
||
|
|
|
||
|
|
set(CMAKE_CXX_STANDARD 17)
|
||
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||
|
|
|
||
|
|
if(NOT CMAKE_BUILD_TYPE)
|
||
|
|
set(CMAKE_BUILD_TYPE Release)
|
||
|
|
endif()
|
||
|
|
|
||
|
|
if(DEFINED JUCE_ROOT AND EXISTS "${JUCE_ROOT}/CMakeLists.txt")
|
||
|
|
message(STATUS "Using JUCE from ${JUCE_ROOT}")
|
||
|
|
add_subdirectory("${JUCE_ROOT}" "${CMAKE_BINARY_DIR}/JUCE")
|
||
|
|
elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/JUCE/CMakeLists.txt")
|
||
|
|
message(STATUS "Using JUCE from ${CMAKE_CURRENT_SOURCE_DIR}/JUCE")
|
||
|
|
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/JUCE")
|
||
|
|
else()
|
||
|
|
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/JUCE")
|
||
|
|
find_package(JUCE CONFIG REQUIRED)
|
||
|
|
endif()
|
||
|
|
|
||
|
|
juce_add_plugin(Horizont
|
||
|
|
VERSION "1.0.0"
|
||
|
|
PRODUCT_NAME "Horizont"
|
||
|
|
COMPANY_NAME "Horizont"
|
||
|
|
BUNDLE_ID "com.horizont.Horizont"
|
||
|
|
PLUGIN_MANUFACTURER_CODE "ARMN"
|
||
|
|
PLUGIN_CODE "RVRB"
|
||
|
|
DESCRIPTION "Algorithmic stereo reverb with feedback pitch shifting"
|
||
|
|
IS_SYNTH FALSE
|
||
|
|
IS_MIDI_EFFECT FALSE
|
||
|
|
NEEDS_MIDI_INPUT FALSE
|
||
|
|
NEEDS_MIDI_OUTPUT FALSE
|
||
|
|
FORMATS "VST3" "AU"
|
||
|
|
COPY_PLUGIN_AFTER_BUILD FALSE
|
||
|
|
)
|
||
|
|
|
||
|
|
juce_generate_juce_header(Horizont)
|
||
|
|
|
||
|
|
# We only ship a VST3 (never released a VST2), so tell JUCE it doesn't need to
|
||
|
|
# keep parameter IDs compatible with a VST2 version of this plugin.
|
||
|
|
target_compile_definitions(Horizont PUBLIC JUCE_VST3_CAN_REPLACE_VST2=0)
|
||
|
|
|
||
|
|
string(TIMESTAMP BUILD_TIMESTAMP "%Y-%m-%d__%H-%M-%S")
|
||
|
|
|
||
|
|
set(HORIZONT_GIT_REVISION "unknown")
|
||
|
|
find_package(Git QUIET)
|
||
|
|
if(Git_FOUND)
|
||
|
|
execute_process(
|
||
|
|
COMMAND ${GIT_EXECUTABLE} describe --tags --always --dirty
|
||
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||
|
|
OUTPUT_VARIABLE HORIZONT_GIT_REVISION
|
||
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||
|
|
ERROR_QUIET)
|
||
|
|
endif()
|
||
|
|
|
||
|
|
target_compile_definitions(Horizont PRIVATE
|
||
|
|
HORIZONT_VERSION="${PROJECT_VERSION}"
|
||
|
|
HORIZONT_GIT_REVISION="${HORIZONT_GIT_REVISION}"
|
||
|
|
HORIZONT_BUILD_TIMESTAMP="${BUILD_TIMESTAMP}")
|
||
|
|
|
||
|
|
target_sources(Horizont PRIVATE
|
||
|
|
Source/PluginProcessor.cpp
|
||
|
|
Source/PluginEditor.cpp
|
||
|
|
Source/HorizontEngine.cpp
|
||
|
|
Source/PitchShifter.cpp
|
||
|
|
Source/HorizontLookAndFeel.cpp
|
||
|
|
Source/Knob.cpp
|
||
|
|
Source/SpectrumDisplay.cpp
|
||
|
|
Source/Presets.h
|
||
|
|
)
|
||
|
|
|
||
|
|
target_link_libraries(Horizont PRIVATE juce::juce_dsp)
|