cs-midi/CMakeLists.txt

48 lines
1.5 KiB
CMake

cmake_minimum_required(VERSION 3.13)
add_library(cs_midi STATIC
AH/Debug/Debug.cpp
AH/Error/Exit.cpp
AH/PrintStream/PrintStream.cpp
AH/STL/vector.cpp
AH/Hardware/ExtendedInputOutput/ExtendedInputOutput.cpp
AH/Hardware/ExtendedInputOutput/ExtendedIOElement.cpp
AH/Hardware/Button.cpp
AH/Hardware/IncrementButton.cpp
AH/Hardware/IncrementDecrementButtons.cpp
Submodules/Encoder/AHEncoder.cpp
Control_Surface/Control_Surface_Class.cpp
MIDI_Senders/RelativeCCSender.cpp
Def/Cable.cpp
Def/Channel.cpp
Def/MIDIAddress.cpp
MIDI_Parsers/SerialMIDI_Parser.cpp
MIDI_Parsers/SysExBuffer.cpp
MIDI_Parsers/MIDI_MessageTypes.cpp
MIDI_Interfaces/MIDI_Interface.cpp
MIDI_Interfaces/MIDI_Pipes.cpp
MIDI_Interfaces/BLEMIDI/BLEMIDIPacketBuilder.cpp
MIDI_Interfaces/BLEMIDI/BTstack/gatt_midi.cpp
MIDI_Interfaces/BLEMIDI/BTstack/advertising.cpp
)
target_include_directories(cs_midi PUBLIC
${CMAKE_CURRENT_LIST_DIR}
)
target_compile_definitions(cs_midi PUBLIC
MIDI_NUM_CABLES=1
)
# pico_stdlib: needed by the library for millis/micros/gpio
# pico_btstack_ble: BTstack BLE headers + objects (linked PRIVATE to avoid
# propagating the full btstack source build to consumers)
# hardware_sync: save_and_disable_interrupts used by BTstackBackgroundBackend
target_link_libraries(cs_midi
PUBLIC pico_stdlib hardware_sync hardware_adc
PRIVATE pico_btstack_ble pico_btstack_cyw43
pico_cyw43_arch_lwip_threadsafe_background
)
target_compile_features(cs_midi PUBLIC cxx_std_17)