mirror of https://gitlab.com/cppit/jucipp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1015 B
37 lines
1015 B
|
8 years ago
|
#pragma once
|
||
|
9 years ago
|
#include <boost/filesystem.hpp>
|
||
|
|
#include <string>
|
||
|
8 years ago
|
#include <vector>
|
||
|
9 years ago
|
|
||
|
|
class CompileCommands {
|
||
|
|
public:
|
||
|
6 years ago
|
class FindSystemIncludePaths {
|
||
|
|
int exit_status;
|
||
|
|
|
||
|
|
public:
|
||
|
|
std::vector<std::string> include_paths;
|
||
|
|
std::vector<std::string> framework_paths;
|
||
|
|
operator bool() const { return exit_status == 0; }
|
||
|
|
|
||
|
|
FindSystemIncludePaths();
|
||
|
|
};
|
||
|
|
|
||
|
9 years ago
|
class Command {
|
||
|
|
public:
|
||
|
|
boost::filesystem::path directory;
|
||
|
|
std::vector<std::string> parameters;
|
||
|
|
boost::filesystem::path file;
|
||
|
8 years ago
|
|
||
|
9 years ago
|
std::vector<std::string> parameter_values(const std::string ¶meter_name) const;
|
||
|
9 years ago
|
};
|
||
|
8 years ago
|
|
||
|
9 years ago
|
CompileCommands(const boost::filesystem::path &build_path);
|
||
|
|
std::vector<Command> commands;
|
||
|
8 years ago
|
|
||
|
8 years ago
|
/// Return arguments for the given file using libclangmm
|
||
|
|
static std::vector<std::string> get_arguments(const boost::filesystem::path &build_path, const boost::filesystem::path &file_path);
|
||
|
8 years ago
|
|
||
|
8 years ago
|
static bool is_header(const boost::filesystem::path &path);
|
||
|
|
static bool is_source(const boost::filesystem::path &path);
|
||
|
9 years ago
|
};
|