31 lines
1.1 KiB
CMake
31 lines
1.1 KiB
CMake
# Flex/Bison generated files
|
|
set(LEX_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/deviceSpecl.cc)
|
|
set(YACC_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/deviceSpecp.cc)
|
|
set(YACC_HEADER ${CMAKE_CURRENT_BINARY_DIR}/deviceSpecp.hh)
|
|
|
|
# Generate Flex/Bison files using custom commands
|
|
add_custom_command(
|
|
OUTPUT ${LEX_OUTPUT}
|
|
COMMAND ${FLEX_EXECUTABLE} --header-file=${CMAKE_CURRENT_BINARY_DIR}/deviceSpecl.hh -o ${LEX_OUTPUT} ${CMAKE_CURRENT_SOURCE_DIR}/deviceSpecl.ll
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/deviceSpecl.ll
|
|
COMMENT "Generating deviceSpecl.cc from deviceSpecl.ll"
|
|
)
|
|
|
|
add_custom_command(
|
|
OUTPUT ${YACC_OUTPUT} ${YACC_HEADER}
|
|
COMMAND ${BISON_EXECUTABLE} -p deviceSpecp --header=${YACC_HEADER} -o ${YACC_OUTPUT} ${CMAKE_CURRENT_SOURCE_DIR}/deviceSpecp.yy
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/deviceSpecp.yy
|
|
COMMENT "Generating deviceSpecp.cc and deviceSpecp.hh from deviceSpecp.yy"
|
|
)
|
|
|
|
# Device manager library
|
|
add_library(deviceManager STATIC
|
|
deviceManager.cpp
|
|
deviceSpecParser.cpp
|
|
${LEX_OUTPUT}
|
|
${YACC_OUTPUT}
|
|
)
|
|
|
|
target_include_directories(deviceManager PUBLIC
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
) |