CMake激活外部程序

时间:2018-09-01 17:40:52

标签: cmake external-process

我要运行以下命令

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文件夹中。

正确的方法是什么?请给出命令说明。

1 个答案:

答案 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})

注释

  • 您可能必须通过在CMake的命令行调用(即find_package中设置BISON_DIR变量来影响-DBISON_DIR=[source dir]搜索的位置,或者可以将Bison可执行文件放在以下位置:是系统范围内可访问/可通话的。