我正在使用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中完成这项工作?