【问题标题】:CMake activate external programCMake 激活外部程序
【发布时间】:2018-09-01 17:40:52
【问题描述】:

我想运行以下命令

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

这样做的正确方法是什么?请给出命令解释。

【问题讨论】:

    标签: cmake external-process


    【解决方案1】:

    如果您的项目确实是这样的结构,那么您可以使用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 的命令行调用中设置 BISON_DIR 变量来影响 find_package 搜索的位置,即 -DBISON_DIR=[source dir],或者您可以将 Bison 可执行文件放置在系统范围内可访问的位置/可调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-22
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 2012-03-15
      • 1970-01-01
      相关资源
      最近更新 更多