CMake Nightly Date Stamp
[kiteware-cmake.git] / Source / cmDependsJava.h
blob1db7ce16c9d97f9b07ac7d6e37044a248e5a46d0
1 /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2 file Copyright.txt or https://cmake.org/licensing for details. */
3 #pragma once
5 #include "cmConfigure.h" // IWYU pragma: keep
7 #include <iosfwd>
8 #include <set>
9 #include <string>
11 #include "cmDepends.h"
13 /** \class cmDependsJava
14 * \brief Dependency scanner for Java class files.
16 class cmDependsJava : public cmDepends
18 public:
19 /** Checking instances need to know the build directory name and the
20 relative path from the build directory to the target file. */
21 cmDependsJava();
23 /** Virtual destructor to cleanup subclasses properly. */
24 ~cmDependsJava() override;
26 cmDependsJava(cmDependsJava const&) = delete;
27 cmDependsJava& operator=(cmDependsJava const&) = delete;
29 protected:
30 // Implement writing/checking methods required by superclass.
31 bool WriteDependencies(const std::set<std::string>& sources,
32 const std::string& file, std::ostream& makeDepends,
33 std::ostream& internalDepends) override;
34 bool CheckDependencies(std::istream& internalDepends,
35 const std::string& internalDependsFileName,
36 DependencyMap& validDeps) override;