Files
salmanoff/smocore/deviceManager/CMakeLists.txt
T
2025-07-22 06:15:12 -04:00

30 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}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/deviceSpecl.ll ${YACC_HEADER}
COMMAND ${FLEX_EXECUTABLE} --header-file=${CMAKE_CURRENT_BINARY_DIR}/deviceSpecl.hh -o ${LEX_OUTPUT} ${CMAKE_CURRENT_SOURCE_DIR}/deviceSpecl.ll
COMMENT "Generating deviceSpecl.cc from deviceSpecl.ll"
)
add_custom_command(
OUTPUT ${YACC_OUTPUT} ${YACC_HEADER}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/deviceSpecp.yy
COMMAND ${BISON_EXECUTABLE} -p deviceSpecp --header=${YACC_HEADER} -o ${YACC_OUTPUT} ${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})