|
|
|
|
|
|
|
|
#include <dds/build/plan/library.hpp> |
|
|
#include <dds/build/plan/library.hpp> |
|
|
#include <dds/proc.hpp> |
|
|
#include <dds/proc.hpp> |
|
|
|
|
|
|
|
|
#include <range/v3/algorithm/find_if.hpp> |
|
|
|
|
|
#include <spdlog/spdlog.h> |
|
|
#include <spdlog/spdlog.h> |
|
|
|
|
|
|
|
|
#include <cassert> |
|
|
#include <cassert> |
|
|
|
|
|
|
|
|
spec.inputs = _input_libs; |
|
|
spec.inputs = _input_libs; |
|
|
if (lib.create_archive()) { |
|
|
if (lib.create_archive()) { |
|
|
spec.inputs.push_back(lib.create_archive()->calc_archive_file_path(env)); |
|
|
spec.inputs.push_back(lib.create_archive()->calc_archive_file_path(env)); |
|
|
auto main_obj = _main_compile.calc_object_file_path(env); |
|
|
|
|
|
spec.inputs.push_back(std::move(main_obj)); |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
auto main_obj = _main_compile.calc_object_file_path(env); |
|
|
|
|
|
spec.inputs.push_back(std::move(main_obj)); |
|
|
|
|
|
|
|
|
const auto link_command = env.toolchain.create_link_executable_command(spec); |
|
|
const auto link_command = env.toolchain.create_link_executable_command(spec); |
|
|
spdlog::info("Linking executable: {}", fs::relative(spec.output, env.output_root).string()); |
|
|
spdlog::info("Linking executable: {}", fs::relative(spec.output, env.output_root).string()); |
|
|
fs::create_directories(out_path.parent_path()); |
|
|
fs::create_directories(out_path.parent_path()); |