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.
36 lines
1015 B
36 lines
1015 B
#pragma once |
|
#include <boost/filesystem.hpp> |
|
#include <string> |
|
#include <vector> |
|
|
|
class CompileCommands { |
|
public: |
|
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(); |
|
}; |
|
|
|
class Command { |
|
public: |
|
boost::filesystem::path directory; |
|
std::vector<std::string> parameters; |
|
boost::filesystem::path file; |
|
|
|
std::vector<std::string> parameter_values(const std::string ¶meter_name) const; |
|
}; |
|
|
|
CompileCommands(const boost::filesystem::path &build_path); |
|
std::vector<Command> commands; |
|
|
|
/// 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); |
|
|
|
static bool is_header(const boost::filesystem::path &path); |
|
static bool is_source(const boost::filesystem::path &path); |
|
};
|
|
|