mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-21 22:50:26 -06:00
ENH: merge CMake-CrossCompileBasic to HEAD
-add a RESULT_VARIABLE to INCLUDE() -add CMAKE_TOOLCHAIN_FILE for specifiying your (potentially crosscompiling) toolchain -have TRY_RUN() complain if you try to use it in crosscompiling mode (which were compiled but cannot run on this system) -use CMAKE_EXECUTABLE_SUFFIX in TRY_RUN(), probably TRY_RUN won't be able to run the executables if they have a different suffix because they are probably crosscompiled, but nevertheless it should be able to find them -make several cmake variables presettable by the user: CMAKE_C/CXX_COMPILER, CMAKE_C/CXX_OUTPUT_EXTENSION, CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_INFO_FILE -support prefix for GNU toolchains (arm-elf-gcc, arm-elf-ar, arm-elf-strip etc.) -move ranlib on OSX from the file command to a command in executed in cmake_install.cmake -add support for stripping during install in cmake_install.cmake -split out cl.cmake from Windows-cl.cmake, first (very incomplete) step to support MS crosscompiling tools -remove stdio.h from the simple C program which checks if the compiler works, since this may not exist for some embedded platforms -create a new CMakeFindBinUtils.cmake which collects the search fro ar, ranlib, strip, ld, link, install_name_tool and other tools like these -add support for CMAKE_FIND_ROOT_PATH for all FIND_XXX commands, which is a list of directories which will be prepended to all search directories, right now as a cmake variable, turning it into a global cmake property may need some more work -remove cmTestTestHandler::TryExecutable(), it's unused -split cmFileCommand::HandleInstall() into slightly smaller functions Alex
This commit is contained in:
@@ -19,6 +19,8 @@
|
||||
|
||||
#include "cmCommand.h"
|
||||
|
||||
struct cmFileInstaller;
|
||||
|
||||
/** \class cmFileCommand
|
||||
* \brief Command for manipulation of files
|
||||
*
|
||||
@@ -146,11 +148,45 @@ protected:
|
||||
bool HandleStringsCommand(std::vector<std::string> const& args);
|
||||
bool HandleGlobCommand(std::vector<std::string> const& args, bool recurse);
|
||||
bool HandleMakeDirectoryCommand(std::vector<std::string> const& args);
|
||||
bool HandleInstallCommand(std::vector<std::string> const& args);
|
||||
|
||||
bool HandleRelativePathCommand(std::vector<std::string> const& args);
|
||||
bool HandleCMakePathCommand(std::vector<std::string> const& args,
|
||||
bool nativePath);
|
||||
void ComputeVersionedName(std::string& name, const char* version);
|
||||
|
||||
// FILE(INSTALL ...) related functions
|
||||
bool HandleInstallCommand(std::vector<std::string> const& args);
|
||||
bool ParseInstallArgs(std::vector<std::string> const& args,
|
||||
cmFileInstaller& installer,
|
||||
std::set<cmStdString>& components,
|
||||
std::set<cmStdString>& configurations,
|
||||
std::map<cmStdString, const char*>& properties,
|
||||
int& itype,
|
||||
std::string& destination,
|
||||
std::string& rename,
|
||||
std::vector<std::string>& files,
|
||||
bool& optional
|
||||
);
|
||||
bool DoInstall(cmFileInstaller& installer,
|
||||
const std::set<cmStdString>& components,
|
||||
const std::set<cmStdString>& configurations,
|
||||
std::map<cmStdString, const char*>& properties,
|
||||
const int itype,
|
||||
const std::string& rename,
|
||||
const std::string& destination,
|
||||
const std::vector<std::string>& files,
|
||||
const bool optional
|
||||
);
|
||||
void GetTargetTypeFromString(const std::string& stype, int& itype) const;
|
||||
bool HandleInstallDestination(cmFileInstaller& installer,
|
||||
std::string& destination);
|
||||
void HandleInstallPermissions(cmFileInstaller& installer,
|
||||
mode_t& permissions_file,
|
||||
mode_t& permissions_dir,
|
||||
int itype,
|
||||
bool use_given_permissions_file,
|
||||
bool use_given_permissions_dir,
|
||||
bool use_source_permissions) const;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user