summaryrefslogtreecommitdiffstats
path: root/Source/cmFindBase.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-01-17 14:02:31 (GMT)
committerBrad King <brad.king@kitware.com>2008-01-17 14:02:31 (GMT)
commitb424df917dc14ea7376940c6c22a3a274aedcc2b (patch)
treec29fc8171c1a13c74746dd2e28e10016614e16cb /Source/cmFindBase.h
parent491d5d01049e515fa5317f943d9e48ff531f69a6 (diff)
downloadCMake-b424df917dc14ea7376940c6c22a3a274aedcc2b.zip
CMake-b424df917dc14ea7376940c6c22a3a274aedcc2b.tar.gz
CMake-b424df917dc14ea7376940c6c22a3a274aedcc2b.tar.bz2
ENH: Major improvements to the FIND_PACKAGE command. See bug #3659.
- Use CMAKE_PREFIX_PATH and CMAKE_SYSTEM_PREFIX_PATH among other means to locate package configuration files. - Create cmFindCommon as base for cmFindBase and cmFindPackageCommand - Move common functionality up to cmFindCommon - Improve documentation of FIND_* commands. - Fix FIND_* commands to not add framework/app paths in wrong place.
Diffstat (limited to 'Source/cmFindBase.h')
-rw-r--r--Source/cmFindBase.h34
1 files changed, 6 insertions, 28 deletions
diff --git a/Source/cmFindBase.h b/Source/cmFindBase.h
index 5efbe2a..86a76f7 100644
--- a/Source/cmFindBase.h
+++ b/Source/cmFindBase.h
@@ -17,15 +17,15 @@
#ifndef cmFindBase_h
#define cmFindBase_h
-#include "cmCommand.h"
+#include "cmFindCommon.h"
/** \class cmFindBase
- * \brief Define a command to search for an executable program.
+ * \brief Base class for most FIND_XXX commands.
*
* cmFindBase is a parent class for cmFindProgramCommand, cmFindPathCommand,
- * and cmFindLibraryCommand, cmFindFile
+ * and cmFindLibraryCommand, cmFindFileCommand
*/
-class cmFindBase : public cmCommand
+class cmFindBase : public cmFindCommon
{
public:
cmFindBase();
@@ -34,20 +34,15 @@ public:
* the CMakeLists.txt file.
*/
virtual bool ParseArguments(std::vector<std::string> const& args);
- cmTypeMacro(cmFindBase, cmCommand);
+ cmTypeMacro(cmFindBase, cmFindCommon);
virtual const char* GetFullDocumentation()
{return this->GenericDocumentation.c_str();}
- enum RootPathMode { RootPathModeBoth,
- RootPathModeOnlyRootPath,
- RootPathModeNoRootPath };
-
protected:
void PrintFindStuff();
void ExpandPaths(std::vector<std::string> userPaths);
- void HandleCMakeFindRootPath();
-
+
// add to the SearchPaths
void AddPaths(std::vector<std::string>& paths);
void AddFrameWorkPaths();
@@ -70,29 +65,12 @@ protected:
cmStdString VariableName;
std::vector<std::string> Names;
std::vector<std::string> SearchPaths;
- std::vector<std::string> SearchPathSuffixes;
// CMAKE_*_PATH CMAKE_SYSTEM_*_PATH FRAMEWORK|LIBRARY|INCLUDE|PROGRAM
- cmStdString CMakePathName;
cmStdString EnvironmentPath; // LIB,INCLUDE
bool AlreadyInCache;
bool AlreadyInCacheWithoutMetaInfo;
- bool NoDefaultPath;
- bool NoCMakePath;
- bool NoCMakeEnvironmentPath;
- bool NoSystemEnvironmentPath;
- bool NoCMakeSystemPath;
- RootPathMode FindRootPathMode;
-
- bool SearchFrameworkFirst;
- bool SearchFrameworkOnly;
- bool SearchFrameworkLast;
-
- bool SearchAppBundleFirst;
- bool SearchAppBundleOnly;
- bool SearchAppBundleLast;
-
};