cmake_minimum_required(VERSION 3.14)
project(wtpp)

set(CMAKE_CXX_STANDARD 17)

add_library (wave src/wave.cpp)
add_library (wavetable src/wavetable.cpp)
add_library (common src/common.cpp)
add_library (generators src/generators.cpp)

add_executable(wtpp src/wtpp.cpp)

target_link_libraries(wtpp wave wavetable common generators)

include(FetchContent)
FetchContent_Declare(
  googletest
  URL https://github.com/google/googletest/archive/95d8c7ac4389b38b197bc7521dffb62508653eb5.zip
)

FetchContent_MakeAvailable(googletest)

enable_testing()

add_executable(wtpp_test tests/wtpp_test.cpp)
add_executable(wave_test tests/wave_test.cpp)

target_link_libraries(wtpp_test GTest::gtest_main)
target_link_libraries(wave_test GTest::gtest_main)

include(GoogleTest)
gtest_discover_tests(wtpp_test)
gtest_discover_tests(wave_test)
