2017-04-03 10:44:14 -07:00
|
|
|
#include "pch.h"
|
2017-04-27 18:08:52 -07:00
|
|
|
|
2017-10-13 18:37:41 -07:00
|
|
|
#include <vcpkg/base/system.h>
|
|
|
|
#include <vcpkg/build.h>
|
|
|
|
#include <vcpkg/commands.h>
|
|
|
|
#include <vcpkg/help.h>
|
2017-04-03 10:44:14 -07:00
|
|
|
|
|
|
|
namespace vcpkg::Commands::Env
|
|
|
|
{
|
2017-04-03 16:29:11 -07:00
|
|
|
void perform_and_exit(const VcpkgCmdArguments& args, const VcpkgPaths& paths, const Triplet& default_triplet)
|
2017-04-03 10:44:14 -07:00
|
|
|
{
|
2017-10-13 18:37:41 -07:00
|
|
|
static const std::string EXAMPLE = Help::create_example_string(R"(env --triplet x64-windows)");
|
2017-08-28 17:21:34 -07:00
|
|
|
args.check_exact_arg_count(0, EXAMPLE);
|
2017-04-03 10:44:14 -07:00
|
|
|
args.check_and_get_optional_command_arguments({});
|
|
|
|
|
2017-08-28 17:21:34 -07:00
|
|
|
const auto pre_build_info = Build::PreBuildInfo::from_triplet_file(paths, default_triplet);
|
2017-10-05 13:51:28 -07:00
|
|
|
const Toolset& toolset = paths.get_toolset(pre_build_info.platform_toolset, pre_build_info.visual_studio_path);
|
|
|
|
System::cmd_execute_clean(Build::make_build_env_cmd(pre_build_info, toolset) + L" && cmd");
|
2017-04-03 10:44:14 -07:00
|
|
|
|
|
|
|
Checks::exit_success(VCPKG_LINE_INFO);
|
|
|
|
}
|
|
|
|
}
|