# 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})