我要运行以下命令
win_bison.exe --output="calc.tab.cpp" --defines="calc.tab.h" "calc.y"
,然后使用CMake从此命令的产品中创建可执行文件
add_executable(Calc calc.tab.cpp calc.tab.h)
所有文件(win_bison.exe,calc.y)都位于CMakeLists.txt
文件夹中。
正确的方法是什么?请给出命令说明。
答案 0 :(得分:0)
如果您的项目确实是这样构造的,则可以使用FindBison
CMake模块
find_package(BISON)
BISON_TARGET(MyCalcParser calc.y
${CMAKE_CURRENT_BINARY_DIR}/calc.tab.cpp
DEFINES_FILE ${CMAKE_CURRENT_BINARY_DIR}/calc.tab.h)
add_executable(Calc ${BISON_MyCalcParser_OUTPUTS})
注释
find_package
中设置BISON_DIR
变量来影响-DBISON_DIR=[source dir]
搜索的位置,或者可以将Bison可执行文件放在以下位置:是系统范围内可访问/可通话的。