summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: c564c754ac8f07b4152a8726023cc6aa8654d714 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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)