#ifndef JUCI_CMAKE_H_ #define JUCI_CMAKE_H_ #include #include #include class CMake { public: CMake(const boost::filesystem::path &path); std::vector > > get_functions_parameters(const std::string &name); static bool create_compile_commands(const boost::filesystem::path &path); std::vector paths; std::vector files; boost::filesystem::path project_path; std::unordered_map variables; private: void read_files(); void remove_tabs(); void remove_comments(); void remove_newlines_inside_parentheses(); void find_variables(); void parse_variable_parameters(std::string &data); void parse(); std::vector get_function_parameters(std::string &data); bool parsed=false; }; #endif //JUCI_CMAKE_H_