/*******************************************************************************
 * Copyright (c) 2016 QNX Software Systems and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *******************************************************************************/
package org.eclipse.cdt.qt.core;

import java.nio.file.Path;

import org.eclipse.cdt.core.build.ICBuildConfiguration;
import org.eclipse.core.runtime.CoreException;

public interface IQtBuildConfiguration extends ICBuildConfiguration {

	Path getBuildDirectory() throws CoreException;
	
	Path getQmakeCommand();

	String[] getQmakeConfig();

	Path getProgramPath() throws CoreException;

	String getLaunchMode();

}
