Add new CMake build system

This commit is contained in:
2025-07-22 02:46:16 -04:00
parent e7974db324
commit 065b2593f4
7 changed files with 147 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
# 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}
)