1 #ifndef SIPLASPLAS_CMAKE_PROJECT_HPP 2 #define SIPLASPLAS_CMAKE_PROJECT_HPP 5 #include <siplasplas/signals/emitter.hpp> 6 #include <siplasplas/fswatch/fslistener.hpp> 7 #include <siplasplas/cmake/export.hpp> 72 CMakeProject(
const std::string& sourceDir,
const std::string& binaryDir);
94 void buildTarget(
const std::string& targetName);
140 efsw::WatchID addSourceDirWatch(
const std::string& sourceDir);
154 efsw::WatchID addIncludeDirWatch(
const std::string& includeDir);
169 efsw::WatchID addBinaryDirWatch(
const std::string& binaryDir);
221 void stdoutLine(
const std::string& targetName,
const std::string& line) {}
240 const std::string& sourceDir()
const;
247 const std::string& binaryDir()
const;
250 std::string _sourceDir, _binaryDir;
251 efsw::FileWatcher _fileWatcher;
253 std::vector<std::unique_ptr<CMakeTarget>> _targets;
258 #include <reflection/include/siplasplas/cmake/project.hpp> 260 #endif // SIPLASPLAS_CMAKE_PROJECT_HPP Configures and builds an existing CMake project.
Definition: project.hpp:58
Class that can send and receive signals from other emitters.
Definition: emitter.hpp:64
Definition: canary_allocator.hpp:7
void stdoutLine(const std::string &targetName, const std::string &line)
stdout line feed from target build.
Definition: project.hpp:221
void configureFinished(bool successful)
Project configuration has finished.
Definition: project.hpp:193
void buildFinished(const std::string &target, bool successful)
A target build has finished.
Definition: project.hpp:208
void buildStarted(const std::string &target)
A target build started.
Definition: project.hpp:200
Represents a CMake target being watched by a project.
Definition: target.hpp:32
File system listener class that notifies filesystem changed through signals.
Definition: fslistener.hpp:41