From b424df917dc14ea7376940c6c22a3a274aedcc2b Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 17 Jan 2008 09:02:31 -0500 Subject: 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. --- Source/cmFindBase.h | 34 ++++++---------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) (limited to 'Source/cmFindBase.h') diff --git a/Source/cmFindBase.h b/Source/cmFindBase.h index 5efbe2ad14..86a76f75ad 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 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 userPaths); - void HandleCMakeFindRootPath(); - + // add to the SearchPaths void AddPaths(std::vector& paths); void AddFrameWorkPaths(); @@ -70,29 +65,12 @@ protected: cmStdString VariableName; std::vector Names; std::vector SearchPaths; - std::vector 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; - }; -- cgit v1.2.1