diff options
author | Brad King <brad.king@kitware.com> | 2008-01-17 14:02:31 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2008-01-17 14:02:31 (GMT) |
commit | b424df917dc14ea7376940c6c22a3a274aedcc2b (patch) | |
tree | c29fc8171c1a13c74746dd2e28e10016614e16cb /Source/cmFindBase.h | |
parent | 491d5d01049e515fa5317f943d9e48ff531f69a6 (diff) | |
download | CMake-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.h | 34 |
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; - }; |