| */ | */ | ||||
| struct sdist_target { | struct sdist_target { | ||||
| /// The source distribution | /// The source distribution | ||||
| sdist sd; | |||||
| sdist sd; | |||||
| /// The build parameters thereof | /// The build parameters thereof | ||||
| sdist_build_params params; | sdist_build_params params; | ||||
| }; | }; | ||||
| /** | /** | ||||
| * A builder object. Source distributions are added to the builder, and then they are all built in parallel via `build()` | |||||
| * A builder object. Source distributions are added to the builder, and then they are all built in | |||||
| * parallel via `build()` | |||||
| */ | */ | ||||
| class builder { | class builder { | ||||
| /// Source distributions that have been added | /// Source distributions that have been added |
| #include <range/v3/view/transform.hpp> | #include <range/v3/view/transform.hpp> | ||||
| #include <spdlog/spdlog.h> | #include <spdlog/spdlog.h> | ||||
| #include <sstream> | |||||
| #include <cctype> | #include <cctype> | ||||
| #include <map> | #include <map> | ||||
| #include <set> | #include <set> | ||||
| #include <sstream> | |||||
| using namespace dds; | using namespace dds; | ||||
| struct compile_file_spec { | struct compile_file_spec { | ||||
| fs::path source_path; | fs::path source_path; | ||||
| fs::path out_path; | fs::path out_path; | ||||
| std::vector<std::string> definitions = {}; | |||||
| std::vector<fs::path> include_dirs = {}; | |||||
| std::vector<std::string> definitions = {}; | |||||
| std::vector<fs::path> include_dirs = {}; | |||||
| std::vector<fs::path> external_include_dirs = {}; | std::vector<fs::path> external_include_dirs = {}; | ||||
| language lang = language::automatic; | language lang = language::automatic; | ||||
| bool enable_warnings = false; | |||||
| bool enable_warnings = false; | |||||
| }; | }; | ||||
| struct compile_command_info { | struct compile_command_info { |
| const lm::library* get(std::string ns, std::string name) const noexcept { | const lm::library* get(std::string ns, std::string name) const noexcept { | ||||
| return get({ns, name}); | return get({ns, name}); | ||||
| } | } | ||||
| lm::library& add(std::string ns, std::string name); | |||||
| void add(std::string ns, std::string name, lm::library lib) { add(ns, name) = lib; } | |||||
| lm::library& add(std::string ns, std::string name); | |||||
| void add(std::string ns, std::string name, lm::library lib) { add(ns, name) = lib; } | |||||
| std::vector<fs::path> link_paths(const lm::usage&) const; | std::vector<fs::path> link_paths(const lm::usage&) const; | ||||
| std::vector<fs::path> include_paths(const lm::usage& req) const; | std::vector<fs::path> include_paths(const lm::usage& req) const; |