cmake_minimum_required(VERSION 3.12) project(mmband VERSION 0.1) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) add_library(${PROJECT_NAME} SHARED ${PROJECT_NAME}/instrument.c ${PROJECT_NAME}/adsr.c ${PROJECT_NAME}/waves/none.c ${PROJECT_NAME}/waves/sine.c ${PROJECT_NAME}/waves/square.c ${PROJECT_NAME}/waves/saw.c ${PROJECT_NAME}/waves/triangle.c ) target_include_directories(${PROJECT_NAME} PUBLIC .) set_target_properties(${PROECT_NAME} PROPERTIES C_STANDARD 99 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF COMPILE_WARNING_AS_ERROR ON ) add_executable(examples examples/test.c ) target_include_directories(examples PUBLIC .) set_target_properties(examples PROPERTIES C_STANDARD 99 C_STANDARD_REQUIRED ON C_EXTENSIONS OFF COMPILE_WARNING_AS_ERROR ON ) add_subdirectory(vendor/portaudio) target_link_libraries(examples ${PROJECT_NAME} portaudio)