cmake_minimum_required(VERSION 3.2) project( mossrose VERSION 0.1.0 ) include_directories(${CMAKE_SOURCE_DIR}/include) option(MOSSROSE_BUILD_EXAMPLES "Build the example programs" OFF) option(MOSSROSE_BUILD_TESTS "Build the tests" OFF) ######## third-party libraries ######## add_subdirectory(${CMAKE_SOURCE_DIR}/3rdparty/portaudio EXCLUDE_FROM_ALL) add_subdirectory(${CMAKE_SOURCE_DIR}/3rdparty/plibsys EXCLUDE_FROM_ALL) add_subdirectory(${CMAKE_SOURCE_DIR}/3rdparty/libwav EXCLUDE_FROM_ALL) add_library(mossrose) set_target_properties(mossrose PROPERTIES C_STANDARD 99 CMAKE_C_FLAGS "-Wall -Wextra -Werror -Wfatal-errors -Wpedantic" VERSION ${PROJECT_VERSION} PUBLIC_HEADER src/mossrose.h ) target_link_libraries(mossrose portaudio_static plibsysstatic wav::wav) target_include_directories(mossrose PUBLIC ${CMAKE_SOURCE_DIR}/3rdparty/libwav/include) if (UNIX) target_link_libraries(mossrose m) endif() if (MOSSROSE_BUILD_EXAMPLES) add_custom_target(examples) add_subdirectory(${CMAKE_SOURCE_DIR}/examples) endif() if (MOSSROSE_BUILD_TESTS) add_executable(test) target_link_libraries(test plibsysstatic) if (UNIX) target_link_libraries(test m) endif() endif() add_subdirectory(${CMAKE_SOURCE_DIR}/src)