为什么在依赖的gradle任务中不设置VS环境变量,

时间:2019-07-30 21:36:24

标签: visual-studio gradle

我正在使用Gradle为本机C ++项目生成构建环境。

在Windows上,我正在使用Visual C ++ 2017编译器。

我的脚本调用一个依赖任务来设置环境变量以构建64位应用程序。

但是,当调用调用cmake实际生成makefile的主要任务时,cmake找不到编译器。

task set_vs_env (type: Exec) {
    workingDir = 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\VC\\Auxiliary\\Build'
    commandLine 'cmd', '/c', 'vcvarsall.bat', 'x64'
}

task build_make (dependsOn: [set_vs_env], type: Exec) {
   commandLine 'cmd', '/c', 'cmake .. <the rest is not relevent>'
}

似乎gradle在其自己的shell实例中执行每个任务,因此当set_vs_env任务执行时,这是浪费,因为gradle执行build_make时其作用消失了。

我该如何在gradle中完成这项工作?

0 个答案:

没有答案