Netbeans C ++:在构建之前执行源脚本

时间:2017-01-26 09:56:57

标签: c++ netbeans makefile environment-variables development-environment

我想在Netbeans环境(v8.2)中运行std::div之前source /opt/something/somescript.com。似乎只有Ant和Java的答案,而不是通用的C ++。

在Netbeans中只能播放2个文件:

  1. Makefile,为此目的useless
  2. Makefile文件,这可能就是这样做的。
  3. 但是,可以查看该配置文件,并且似乎没有关于运行脚本的任何内容,我找不到任何解释XML标记可用的在线手册。

    所以我的问题是:如何在构建之前将Netbeans配置为configurations.xml shell脚本?

1 个答案:

答案 0 :(得分:1)

(假设GNU Make)

  • 您提供的链接证明Makefile无用,实际上至少包含一个将脚本“源”到您的构建中的方法:调用shell(使用shell内置)到:

    • 获取您的脚本(可能将所有输出重定向到/dev/null
    • 致电env并按下输出,为每个变量发出VAR:=VALUEexport VAR
    • (可选)将结果写入文件

    然后,如果结果进入文件 - include该文件;否则eval的输出只有shell

  • 另一种可能性是调整魔术SHELL变量以在运行任何Make想要运行的脚本之前获取脚本。如果你的脚本很重,这可能会变得很明显,但如果它只是设置一些环境变量可能就好了(我对Netbeans一无所知,所以不能说)。

这是第一种方法的示例配方(实际上并没有将所有内容缩进4个空格,这只是我在使用StackOverflow时):

    # Somewhere at the beginning of the Makefile
    define emit-sourced-env
      $(shell . $1 > /dev/null && env | sed -e 's/=/:=/' -e 's/^/export /' > $(notdir $1).mk)
    endef
    $(call emit-sourced-env,/opt/something/somescript.com)
    include somescript.com.mk