|
static CMakeTarget | loadFromFile (CMakeProject &project, const std::string &file) |
| Loads a target from a file. See CMakeTarget::Metadata::loadFromFile(). More...
|
|
template<typename Caller , typename Function , typename R , typename Class , typename... Args> |
static std::shared_ptr< const SignalSink > | connect (Caller &caller, R(Class::*source)(Args...), Function function) |
| Creates a direct connection from the given emitter object to the given function. More...
|
|
template<typename Caller , typename Callee , typename Function , typename R , typename Class , typename... Args> |
static std::shared_ptr< const SignalSink > | connect (Caller &caller, R(Class::*source)(Args...), Callee &callee, Function function) |
| Creates a direct connection from the given emitter object to the given function, using an specific callee object. More...
|
|
template<typename Caller , typename Function , typename R , typename Class , typename... Args> |
static std::shared_ptr< const SignalSink > | connect_async (Caller &caller, R(Class::*source)(Args...), Function function) |
| Creates an asynchronous connection between a signal and a function. More...
|
|
template<typename Caller , typename Callee , typename Function , typename R , typename Class , typename... Args> |
static std::shared_ptr< const SignalSink > | connect_async (Caller &caller, R(Class::*source)(Args...), Callee &callee, Function function) |
| Creates an asynchronous connection between a signal and a function using an specific callee object. More...
|
|
template<typename Caller , typename Callee , typename R , typename... Args> |
static std::shared_ptr< const SignalSink > | bypass (Caller &caller, R(Caller::*source)(Args...), Callee &callee, R(Callee::*dest)(Args...)) |
| Connects two signals synchronously. More...
|
|
template<typename Caller , typename Callee , typename R , typename... Args> |
static std::shared_ptr< const SignalSink > | bypass_async (Caller &caller, R(Caller::*source)(Args...), Callee &callee, R(Callee::*dest)(Args...)) |
| Connects two signals asynchronously. More...
|
|
template<typename Class , typename R , typename... FArgs, typename... Args> |
static void | emit (Class &emitter, R(Class::*function)(FArgs...), Args &&...args) |
| Emits a signal on the given emitter. More...
|
|
Represents a CMake target being watched by a project.
This class represents a CMake target that is registred in a CMakeProject for being watched and rebuilt automatically if any of its sources changes. This class has signals that notify target events (Build started, finished, etc) equivalent to those on CMakeProject but which are emitted for this target only (i.e. are not global to the project).
- Todo:
- This class is highly coupled with the CMakeProject one. Maybe it should be an implementation detail of CMakeTarget class instead, or at least a member class. Creating targets isolated from projects has no sense (And is actually error-prone since targets are not registred in projects during their construction, registration is handled by CMakeProject::addTarget() functions).