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 39 40 41 42 43 44 45 46 47 48 49
|
option(BUILD_CSBEATS "Build the beats score frontend" ON)
if (NOT MSVC)
find_package(FLEX)
find_package(BISON)
endif()
find_path(PD_HEADER_PATH m_pd.h)
find_library(PD_LIBRARY pd.dll)
## Csound Commandline Executable ##
set(CS_MAIN_SRCS csound/csound_main.c)
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
list(APPEND CS_MAIN_SRCS csound/sched.c)
list(APPEND CSOUNDLIB -lpthread)
endif()
# We need a different name to avoid clashes with float libcsound
make_executable(csound-bin "${CS_MAIN_SRCS}" "${CSOUNDLIB};${MATH_LIBRARY}" csound)
# CsBeats
check_deps(BUILD_CSBEATS FLEX_EXECUTABLE BISON_EXECUTABLE)
if(BUILD_CSBEATS)
BISON_TARGET(csbeats_PARSER beats/beats.y ${CMAKE_CURRENT_BINARY_DIR}/beats.tab.c)
FLEX_TARGET(csbeats_SCANNER beats/beats.l ${CMAKE_CURRENT_BINARY_DIR}/beatslex.yy.c)
ADD_FLEX_BISON_DEPENDENCY(csbeats_SCANNER csbeats_PARSER)
set(csbeats_SRCS
${CMAKE_CURRENT_SOURCE_DIR}/beats/main.c
${FLEX_csbeats_SCANNER_OUTPUTS}
${BISON_csbeats_PARSER_OUTPUTS})
if(MSVC)
set_source_files_properties(${FLEX_csbeats_SCANNER_OUTPUTS} PROPERTIES
COMPILE_FLAGS -DYY_NO_UNISTD_H)
endif()
make_executable(csbeats "${csbeats_SRCS}" "${MATH_LIBRARY}")
target_include_directories(csbeats PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(csbeats PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/beats)
endif()
# debugger command line app
make_executable(csdebugger debugger/csdebugger.cpp "${CSOUNDLIB}")
|