in cmake-runner-agent/src/jetbrains/buildServer/cmakerunner/agent/CMakeBuildBS.java [29:83]
public ProgramCommandLine makeProgramCommandLine() throws RunBuildException {
final List<String> arguments = new ArrayList<String>();
final Map<String, String> runnerParameters = getRunnerParameters(); // all server-ui options
final Map<String, String> environment = new HashMap<String, String>(System.getenv());
environment.putAll(getBuildParameters().getEnvironmentVariables());
// Path to 'cmake'
String programPath = runnerParameters.get(UI_CMAKE_COMMAND);
if (programPath == null) {
programPath = DEFAULT_CMAKE_PROGRAM;
}
// Check for program exist
// if (!FileUtil2.checkIfExists(programPath) && FileUtil2.findExecutableByNameInPATH(programPath, environment) == null)
// throw new RunBuildException("Cannot locate `" + programPath + "' executable");
// CMake options
// Getting parameters
final String buildPath = runnerParameters.get(UI_BUILD_PATH); // Directory contains CMakeCache.txt, etc. relative to working directory
final String buildTarget = runnerParameters.get(UI_BUILD_TARGET);
final String buildConfiguration = runnerParameters.get(UI_BUILD_CONFIGURATION);
final Boolean buildCleanFirst = Boolean.valueOf(runnerParameters.get(UI_BUILD_CLEAN_FIRST));
arguments.add("--build");
arguments.add(buildPath != null ? buildPath : "."); // May be removed, use working dir instead
if (!StringUtil.isEmptyOrSpaces(buildTarget)) {
arguments.add("--target");
arguments.add(buildTarget);
}
if (!StringUtil.isEmptyOrSpaces(buildConfiguration)) {
arguments.add("--config");
arguments.add(buildConfiguration);
}
if (buildCleanFirst) {
arguments.add("--clean-first");
}
// Native tool arguments
arguments.add("--");
addCustomArguments(arguments, runnerParameters.get(UI_NATIVE_TOOL_PARAMS));
final boolean redirectStdErr = Boolean.valueOf(runnerParameters.get(UI_REDIRECT_STDERR));
// Result:
final SimpleProgramCommandLine pcl = new SimpleProgramCommandLine(environment,
getWorkingDirectory().getAbsolutePath(),
programPath,
arguments);
return redirectStdErr ? OutputRedirectProcessor.wrap(getBuild(), pcl) : pcl;
}