Pothos  0.2.1-g9f04573d
The Pothos dataflow programming software suite
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros
Compiler.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 #include <Pothos/Config.hpp>
13 #include <vector>
14 #include <string>
15 #include <memory>
16 
17 namespace Pothos {
18 namespace Util {
19 
24 {
25 public:
26 
28  CompilerArgs(void);
29 
31  static CompilerArgs defaultDevEnv(void);
32 
34  std::vector<std::string> sources;
35 
37  std::vector<std::string> includes;
38 
40  std::vector<std::string> libraries;
41 
43  std::vector<std::string> flags;
44 };
45 
50 {
51 public:
52  typedef std::shared_ptr<Compiler> Sptr;
53 
62  static Sptr make(const std::string &name = "");
63 
67  virtual bool test(void) = 0;
68 
75  virtual std::string compileCppModule(const CompilerArgs &args) = 0;
76 };
77 
78 } //namespace Util
79 } //namespace Pothos
std::vector< std::string > libraries
A list of linkable libraries.
Definition: Compiler.hpp:40
std::vector< std::string > includes
A list of include paths.
Definition: Compiler.hpp:37
#define POTHOS_API
Definition: Config.hpp:41
Definition: Compiler.hpp:23
Definition: Compiler.hpp:49
std::vector< std::string > sources
A list of sources, not file paths.
Definition: Compiler.hpp:34
std::vector< std::string > flags
A list of compiler flags.
Definition: Compiler.hpp:43
std::shared_ptr< Compiler > Sptr
Definition: Compiler.hpp:52