mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-02 04:09:33 -05:00
12b471e828
This commit adds the SIZE option to file(). It returns the file size of the given path if it exists and produces an error if not.
71 lines
2.7 KiB
C++
71 lines
2.7 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file Copyright.txt or https://cmake.org/licensing for details. */
|
|
#ifndef cmFileCommand_h
|
|
#define cmFileCommand_h
|
|
|
|
#include "cmConfigure.h" // IWYU pragma: keep
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include "cmCommand.h"
|
|
|
|
class cmExecutionStatus;
|
|
|
|
/** \class cmFileCommand
|
|
* \brief Command for manipulation of files
|
|
*
|
|
*/
|
|
class cmFileCommand : public cmCommand
|
|
{
|
|
public:
|
|
/**
|
|
* This is a virtual constructor for the command.
|
|
*/
|
|
cmCommand* Clone() override { return new cmFileCommand; }
|
|
|
|
/**
|
|
* This is called when the command is first encountered in
|
|
* the CMakeLists.txt file.
|
|
*/
|
|
bool InitialPass(std::vector<std::string> const& args,
|
|
cmExecutionStatus& status) override;
|
|
|
|
protected:
|
|
bool HandleRename(std::vector<std::string> const& args);
|
|
bool HandleRemove(std::vector<std::string> const& args, bool recurse);
|
|
bool HandleWriteCommand(std::vector<std::string> const& args, bool append);
|
|
bool HandleReadCommand(std::vector<std::string> const& args);
|
|
bool HandleHashCommand(std::vector<std::string> const& args);
|
|
bool HandleStringsCommand(std::vector<std::string> const& args);
|
|
bool HandleGlobCommand(std::vector<std::string> const& args, bool recurse);
|
|
bool HandleTouchCommand(std::vector<std::string> const& args, bool create);
|
|
bool HandleMakeDirectoryCommand(std::vector<std::string> const& args);
|
|
|
|
bool HandleRelativePathCommand(std::vector<std::string> const& args);
|
|
bool HandleCMakePathCommand(std::vector<std::string> const& args,
|
|
bool nativePath);
|
|
bool HandleReadElfCommand(std::vector<std::string> const& args);
|
|
bool HandleRPathChangeCommand(std::vector<std::string> const& args);
|
|
bool HandleRPathCheckCommand(std::vector<std::string> const& args);
|
|
bool HandleRPathRemoveCommand(std::vector<std::string> const& args);
|
|
bool HandleDifferentCommand(std::vector<std::string> const& args);
|
|
|
|
bool HandleCopyCommand(std::vector<std::string> const& args);
|
|
bool HandleInstallCommand(std::vector<std::string> const& args);
|
|
bool HandleDownloadCommand(std::vector<std::string> const& args);
|
|
bool HandleUploadCommand(std::vector<std::string> const& args);
|
|
|
|
bool HandleTimestampCommand(std::vector<std::string> const& args);
|
|
bool HandleGenerateCommand(std::vector<std::string> const& args);
|
|
bool HandleLockCommand(std::vector<std::string> const& args);
|
|
bool HandleSizeCommand(std::vector<std::string> const& args);
|
|
|
|
private:
|
|
void AddEvaluationFile(const std::string& inputName,
|
|
const std::string& outputExpr,
|
|
const std::string& condition, bool inputIsContent);
|
|
};
|
|
|
|
#endif
|