mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-11 16:32:14 -06:00
cmInstallCommand: Port away from cmCommand
This commit is contained in:
@@ -234,7 +234,7 @@ void GetProjectCommands(cmState* state)
|
||||
state->AddBuiltinCommand("include_directories", cmIncludeDirectoryCommand);
|
||||
state->AddBuiltinCommand("include_regular_expression",
|
||||
cmIncludeRegularExpressionCommand);
|
||||
state->AddBuiltinCommand("install", cm::make_unique<cmInstallCommand>());
|
||||
state->AddBuiltinCommand("install", cmInstallCommand);
|
||||
state->AddBuiltinCommand("install_files", cmInstallFilesCommand);
|
||||
state->AddBuiltinCommand("install_targets", cmInstallTargetsCommand);
|
||||
state->AddBuiltinCommand("link_directories", cmLinkDirectoriesCommand);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,71 +8,9 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <cm/memory>
|
||||
|
||||
#include "cmCommand.h"
|
||||
|
||||
class cmExecutionStatus;
|
||||
class cmInstallCommandArguments;
|
||||
|
||||
/** \class cmInstallCommand
|
||||
* \brief Specifies where to install some files
|
||||
*
|
||||
* cmInstallCommand is a general-purpose interface command for
|
||||
* specifying install rules.
|
||||
*/
|
||||
class cmInstallCommand : public cmCommand
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* This is a virtual constructor for the command.
|
||||
*/
|
||||
std::unique_ptr<cmCommand> Clone() override
|
||||
{
|
||||
return cm::make_unique<cmInstallCommand>();
|
||||
}
|
||||
|
||||
/**
|
||||
* 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;
|
||||
|
||||
private:
|
||||
bool HandleScriptMode(std::vector<std::string> const& args);
|
||||
bool HandleTargetsMode(std::vector<std::string> const& args);
|
||||
bool HandleFilesMode(std::vector<std::string> const& args);
|
||||
bool HandleDirectoryMode(std::vector<std::string> const& args);
|
||||
bool HandleExportMode(std::vector<std::string> const& args);
|
||||
bool HandleExportAndroidMKMode(std::vector<std::string> const& args);
|
||||
bool MakeFilesFullPath(const char* modeName,
|
||||
const std::vector<std::string>& relFiles,
|
||||
std::vector<std::string>& absFiles);
|
||||
bool CheckCMP0006(bool& failure);
|
||||
|
||||
std::string GetDestination(const cmInstallCommandArguments* args,
|
||||
const std::string& varName,
|
||||
const std::string& guess);
|
||||
std::string GetRuntimeDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetSbinDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetArchiveDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetLibraryDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetIncludeDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetSysconfDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetSharedStateDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetLocalStateDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetRunStateDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetDataRootDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetDataDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetInfoDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetLocaleDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetManDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetDocDestination(const cmInstallCommandArguments* args);
|
||||
std::string GetDestinationForType(const cmInstallCommandArguments* args,
|
||||
const std::string& type);
|
||||
|
||||
std::string DefaultComponentName;
|
||||
};
|
||||
bool cmInstallCommand(std::vector<std::string> const& args,
|
||||
cmExecutionStatus& status);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user