da00be6359
Add a helper class private to "cmcmd.cxx" to contain the implementation. Update the link logic to use the intermediate files directory for each target to hold manifest and resource files before embedding into the binary. Preserve the old behavior of placing the .manifest file next to the binary when not linking incrementally even though it will be embedded.
41 lines
1.4 KiB
C++
41 lines
1.4 KiB
C++
/*============================================================================
|
|
CMake - Cross Platform Makefile Generator
|
|
Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
|
|
|
|
Distributed under the OSI-approved BSD License (the "License");
|
|
see accompanying file Copyright.txt for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even the
|
|
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
See the License for more information.
|
|
============================================================================*/
|
|
|
|
#ifndef cmcmd_h
|
|
#define cmcmd_h
|
|
|
|
#include "cmStandardIncludes.h"
|
|
|
|
class cmcmd
|
|
{
|
|
public:
|
|
|
|
/**
|
|
* Execute commands during the build process. Supports options such
|
|
* as echo, remove file etc.
|
|
*/
|
|
static int ExecuteCMakeCommand(std::vector<std::string>&);
|
|
protected:
|
|
|
|
static int SymlinkLibrary(std::vector<std::string>& args);
|
|
static int SymlinkExecutable(std::vector<std::string>& args);
|
|
static bool SymlinkInternal(std::string const& file,
|
|
std::string const& link);
|
|
static int ExecuteEchoColor(std::vector<std::string>& args);
|
|
static int ExecuteLinkScript(std::vector<std::string>& args);
|
|
static int WindowsCEEnvironment(const char* version,
|
|
const std::string& name);
|
|
static int VisualStudioLink(std::vector<std::string>& args, int type);
|
|
};
|
|
|
|
#endif
|