# Generated Cmake Pico project file
 
cmake_minimum_required(VERSION 3.13)
 
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
 
# Initialise pico_sdk from installed location
# (note this can come from environment, CMake cache etc)
set(PICO_SDK_PATH "/usr/share/pico-sdk")
 
set(PICO_BOARD pico2_w CACHE STRING "Board type")
 
# Pull in Raspberry Pi Pico SDK (must be before project)
include(pico_sdk_import.cmake)
 
if (PICO_SDK_VERSION_STRING VERSION_LESS "1.4.0")
  message(FATAL_ERROR "Raspberry Pi Pico SDK version 1.4.0 (or later) required. Your version is ${PICO_SDK_VERSION_STRING}")
endif()
 
project(sint-gauntlet C CXX ASM)
 
# Initialise the Raspberry Pi Pico SDK
pico_sdk_init()
 
# Add executable. Default name is the project name, version 0.1
 
file(GLOB_RECURSE DAISYSP_SOURCES "${CMAKE_CURRENT_LIST_DIR}/daisysp/**/*.cpp")
 
add_executable(sint-gauntlet ${DAISYSP_SOURCES} main.c buttons.c mux.c pwm.c vco.c)
 
pico_set_program_name(sint-gauntlet "sint-gauntlet")
pico_set_program_version(sint-gauntlet "0.1")
 
pico_enable_stdio_uart(sint-gauntlet 0)
pico_enable_stdio_usb(sint-gauntlet 1)
 
# Add the standard library to the build
target_link_libraries(sint-gauntlet
        pico_stdlib)
 
# Add the standard include files to the build
target_include_directories(sint-gauntlet PRIVATE
  ${CMAKE_CURRENT_LIST_DIR}/daisysp
  ${CMAKE_CURRENT_LIST_DIR}/daisysp/Control
  ${CMAKE_CURRENT_LIST_DIR}/daisysp/Drums
  ${CMAKE_CURRENT_LIST_DIR}/daisysp/Dynamics
  ${CMAKE_CURRENT_LIST_DIR}/daisysp/Effects
  ${CMAKE_CURRENT_LIST_DIR}/daisysp/Filters
  ${CMAKE_CURRENT_LIST_DIR}/daisysp/Noise
  ${CMAKE_CURRENT_LIST_DIR}/daisysp/PhysicalModeling
  ${CMAKE_CURRENT_LIST_DIR}/daisysp/Sampling
  ${CMAKE_CURRENT_LIST_DIR}/daisysp/Synthesis
  ${CMAKE_CURRENT_LIST_DIR}/daisysp/Utility
  ${CMAKE_CURRENT_LIST_DIR}
  ${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts or any other standard includes, if required
)
 
# Add any user requested libraries
target_link_libraries(sint-gauntlet 
        hardware_pio
        hardware_interp
        hardware_timer
        hardware_clocks
        hardware_pwm
        hardware_adc
	pico_multicore
        )
 
pico_add_extra_outputs(sint-gauntlet)
