Browse Source

Added support for compile_commands.json file in project root folder

merge-requests/413/head
eidheim 3 years ago
parent
commit
5370e68479
  1. 8
      src/project_build.cpp
  2. 5
      src/project_build.hpp

8
src/project_build.cpp

@ -19,8 +19,6 @@ std::unique_ptr<Project::Build> Project::Build::create(const boost::filesystem::
std::unique_ptr<Project::Build> build(new CMakeBuild(path));
if(!build->project_path.empty())
return build;
else
return std::make_unique<Project::Build>();
}
if(boost::filesystem::exists(search_path / "meson.build"), ec) {
@ -35,6 +33,12 @@ std::unique_ptr<Project::Build> Project::Build::create(const boost::filesystem::
return build;
}
if(boost::filesystem::exists(search_path / "compile_commands.json", ec)) {
std::unique_ptr<Project::Build> build(new CompileCommandsInProjectRootBuild());
build->project_path = search_path;
return build;
}
if(boost::filesystem::exists(search_path / "Cargo.toml", ec)) {
std::unique_ptr<Project::Build> build(new CargoBuild());
build->project_path = search_path;

5
src/project_build.hpp

@ -61,6 +61,11 @@ namespace Project {
public:
};
class CompileCommandsInProjectRootBuild : public Build {
public:
boost::filesystem::path get_default_path() override { return project_path; };
};
class CargoBuild : public Build {
public:
boost::filesystem::path get_default_path() override { return project_path / "target" / "debug"; }

Loading…
Cancel
Save