You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*=========================================================================
Program: CMake - Cross-Platform Makefile Generator Module: $RCSfile$ Language: C++ Date: $Date$ Version: $Revision$
Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information.
=========================================================================*/ #ifndef cmFindProgramCommand_h
#define cmFindProgramCommand_h
#include "cmFindBase.h"
/** \class cmFindProgramCommand
* \brief Define a command to search for an executable program. * * cmFindProgramCommand is used to define a CMake variable * that specifies an executable program. The command searches * in the current path (e.g., PATH environment variable) for * an executable that matches one of the supplied names. */ class cmFindProgramCommand : public cmFindBase { public: cmFindProgramCommand(); /**
* This is a virtual constructor for the command. */ virtual cmCommand* Clone() { return new cmFindProgramCommand; }
/**
* This is called when the command is first encountered in * the CMakeLists.txt file. */ virtual bool InitialPass(std::vector<std::string> const& args);
/**
* This determines if the command is invoked when in script mode. */ virtual bool IsScriptable() { return true; }
/**
* The name of the command as specified in CMakeList.txt. */ virtual const char* GetName() { return "find_program";}
/**
* Succinct documentation. */ virtual const char* GetTerseDocumentation() { return "Find an executable program."; } cmTypeMacro(cmFindProgramCommand, cmFindBase);
protected: std::string FindProgram(std::vector<std::string> names);
private: std::string FindAppBundle(std::vector<std::string> names); std::string GetBundleExecutable(std::string bundlePath);
};
#endif
|