summaryrefslogtreecommitdiffstats
path: root/Source/cmFindBase.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Refactor find_* command final path list computationBrad King2011-09-231-5/+1
| | | | | | | All find_* commands re-root the list of paths and then add trailing slashes. Factor this pair of calls out into a dedicated method. The new method would be the only caller to AddTrailingSlashes, so subsume that method into it.
* Teach find_(library|package) about Linux multiarch (#12037)Brad King2011-06-081-0/+12
| | | | | | | | | | | | | Implement support for multiarch as specified here: http://wiki.debian.org/Multiarch https://wiki.ubuntu.com/MultiarchSpec Detect the <arch> part of <prefix>/lib/<arch> from the implicit library search path from each compiler to set CMAKE_<lang>_LIBRARY_ARCHITECTURE. Define CMAKE_LIBRARY_ARCHITECTURE using one of these values (they should all be the same). Teach the find_library and find_package commands to search <prefix>/lib/<arch> whenever they would search <prefix>/lib.
* Fix find_* argument parsing crash (#11513)Brad King2010-11-301-0/+5
| | | | | | | | | | Previously the command find_path(VAR DOC "") would crash because the argument pre-processing removed the DOC "" arguments but the rest of the parsing assumes at least 2 arguments. Reject the call with an error instead.
* Speedup find_* commands (#11412)Brad King2010-11-121-4/+21
| | | | | | | Delay computation of the command documentation until it is needed. It is wasteful to do it in the constructor on every call. Inspired-By: Christian Ehrlicher <Ch.Ehrlicher@gmx.de>
* Teach find_* commands to ignore some pathsTodd Gamblin2010-08-131-0/+5
| | | | | | | | Add platform configuration variable CMAKE_SYSTEM_IGNORE_PATH and user configuration variable CMAKE_IGNORE_PATH. These specify a set of directories that will be ignored by all the find commands. Update FindPackageTest so that several cases will fail without a functioning CMAKE_IGNORE_PATH.
* Convert CMake to OSI-approved BSD LicenseBrad King2009-09-281-14/+9
| | | | | | | This converts the CMake license to a pure 3-clause OSI-approved BSD License. We drop the previous license clause requiring modified versions to be plainly marked. We also update the CMake copyright to cover the full development time range.
* ENH: Clarify PATH_SUFFIXES documentationBrad King2008-10-141-2/+4
| | | | | | This clarifies documentation of the find_* commands' PATH_SUFFIXES option. The option adds paths with the suffixes but does not remove the paths without the suffixes.
* BUG: Fix find_* search order with path suffixesBrad King2008-10-131-7/+1
| | | | | | | In cmFindBase we were searching all path suffixes appended to all paths before considering the paths without any suffixes. Instead we should consider each path with and without suffixes before moving to the next path. See issue #7783.
* BUG: In find_* commands support NO_* options in short-handBrad King2008-06-101-4/+8
| | | | | | | - The short-hand forms do not document the NO_* options. - CMake 2.4 and 2.6.0 accepted them accidentally, but also treated the options as paths. - Now the options are accepted but do not become paths.
* ENH: Make find_* command search order more intuitive.Brad King2008-06-091-10/+7
| | | | | | | | - The CMAKE_PREFIX_PATH and similar variables have both environment and CMake cache versions. - Previously the environment value was checked before the cache value. - Now the cache value is favored because it is more specific.
* ENH: Add HINTS option to find_* commands.Brad King2008-06-091-42/+53
| | | | | | - Hints are searched after user locations but before system locations - The HINTS option should have paths provided by system introspection - The PATHS option should have paths that are hard-coded guesses
* ENH: Refactor find_* command framework/appbundle search order impl.Brad King2008-06-091-72/+35
| | | | | | | | | | | - CMAKE_FIND_FRAMEWORK and CMAKE_FIND_APPBUNDLE are supposed to specify whether to find frameworks/appbundles FIRST, LAST, ONLY, or NEVER. - Previously this affected only the placement of CMAKE_FRAMEWORK_PATH and CMAKE_APPBUNDLE_PATH with respect to the other path specifiers. - Now it behaves as documented. The entire search path is inspected for each kind of program, library, or header before trying the next kind. - Additionally the ONLY mode is now honored for headers so that users do not end up with a library in framework and a header from elsewhere.
* ENH: In find_* implementation centralize addition of trailing slashesBrad King2008-06-091-0/+4
| | | | | | - Create cmFindCommon::AddTrailingSlashes - Use it in cmFindBase and cmFindPackageCommand - Remove duplication from other find commands
* BUG: Fix find_* command calls with no PATHS but new-style options.Brad King2008-06-081-0/+1
| | | | | | - In cmFindBase when CheckCommonArgument returns true, set newStyle - Otherwise if there are no PATHS then the ancient-style compatibility mode is enabled and the common argument is treated as a path.
* BUG: Fix cmFindBase::AddMacPath to actually use its arguments after previous ↵Brad King2008-06-061-3/+3
| | | | refactoring commit.
* ENH: Refactor cmFindCommon, cmFindBase, and cmFindPackageCommandBrad King2008-06-051-147/+123
| | | | | | | | | | | - Add each part of the search order in a separate method. - Collect added paths in an ivar in cmFindCommon. - Move user path storage up to cmFindCommon and share between cmFindBase and cmFindPackageCommand. - Expand user path registry values up in cmFindCommon - Enables 32-/64-bit registry view for find_package - Disables registry expansion for paths not specified with the PATHS argument, which is not expected.
* BUG: Fix 64-bit build of CMake so it can find 32-bit VS install.Brad King2008-06-051-16/+6
| | | | | | | - cmFindBase should search both 32-bit and 64-bit registry views for FIND_PROGRAM even if CMAKE_SIZEOF_VOID_P is not set. - Needed because the variable is not available when CMAKE_MAKE_PROGRAM is to be found.
* BUG: Fix previous registry lookup change for executables.Brad King2008-05-271-4/+20
| | | | | | | - The target platform does not matter for finding executables so find_program should expand to both 32-bit and 64-bit registry values. - See issue #7095.
* BUG: Fix registry lookups for FIND commands to use view of target platform.Brad King2008-05-271-1/+16
| | | | - See issue #7095.
* ENH: better fix for not adding /Bill Hoffman2008-05-231-6/+3
|
* BUG: 7011 findqt hangs because of glob with find_path and framework header ↵Bill Hoffman2008-05-231-2/+9
| | | | serach
* BUG: fix network path by mistake in searchBill Hoffman2008-04-071-1/+9
|
* ENH: Improve handling of old-style compatibility.Brad King2008-03-071-13/+1
| | | | | | | | | | | | | | | | | | | - Remove CMP_0001 (no slash in target name) and restore old CMAKE_BACKWARDS_COMPATIBILITY check for it - Replace all checks of CMAKE_BACKWARDS_COMPATIBILITY with cmLocalGenerator::NeedBackwardsCompatibility calls - Create new CMP_0001 to determine whether or not CMAKE_BACKWARDS_COMPATIBILITY is used. (old = use, new = ignore) - Show CMAKE_BACKWARDS_COMPATIBILITY in cache only when CMP_0001 is set to OLD or WARN - Update documentation of cmake_policy and cmake_minimum_required to indicate their relationship and the 2.4 version boundary - When no cmake policy version is set in top level makefile implicitly call cmake_policy(VERSION 2.4) which restores CMAKE_BACKWARDS_COMPATIBILITY and other 2.4 compatibility - Fix tests MakeClean and Preprocess to call cmake_policy(VERSION 2.6) because they depend on new policies
* STYLE: PATHS is optional (#6253)Alexander Neundorf2008-01-171-3/+3
| | | | Alex
* STYLE: fix typo (#6252)Alexander Neundorf2008-01-171-1/+1
| | | | Alex
* ENH: Major improvements to the FIND_PACKAGE command. See bug #3659.Brad King2008-01-171-344/+42
| | | | | | | | | - 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.
* STYLE: Spelling fixes on documentationAmitha Perera2008-01-101-1/+1
|
* BUG: fix #6105, if a directory inside CMAKE_FIND_ROOT_PATH is given to aAlexander Neundorf2008-01-061-2/+12
| | | | | | | FIND_XXX() command, don't prepend the root to it (since it is already in this root) Alex
* ENH: Make FIND_* commands look in the CMAKE_PREFIX_PATH directories directly ↵Brad King2007-12-281-0/+4
| | | | after looking in each command's specific subdirectory (/include, /lib, or /bin). This may be useful on Windows where projects could be installed in a single directory. See issue #4947.
* ENH: Renamed CMAKE_FIND_PREFIX_PATH to CMAKE_PREFIX_PATH for brevity and ↵Brad King2007-12-191-4/+4
| | | | consistency with other find path variable names.
* ENH: Added CMAKE_SYSTEM_PREFIX_PATH variable.Brad King2007-12-191-0/+8
|
* STYLE: Fixed terminology to avoid confusion between roots and prefixes.Brad King2007-12-151-15/+16
|
* STYLE: change wording of FIND_XXX() docs to be more correctAlexander Neundorf2007-10-261-2/+2
| | | | Alex
* ENH: add support for CMAKE_FIND_PREFIX_PATH as discussed with Brad.Alexander Neundorf2007-10-261-2/+53
| | | | | | | | CMAKE_FIND_PREFIX_PATH is both an environment variable and a cmake variable, which is a list of base directories where FIND_PATH, FIND_FILE, FIND_PROGRAM and FIND_LIBRARY will search in the respective subdirectories Alex
* BUG: Fixed spelling and formatting of new documentation.Brad King2007-06-081-9/+9
|
* STYLE: add documentation for CMAKE_FIND_ROOT_PATHAlexander Neundorf2007-06-071-0/+16
| | | | Alex
* STYLE: fix line lengthsAlexander Neundorf2007-05-181-3/+3
| | | | Alex
* ENH: merge CMake-CrossCompileBasic to HEADAlexander Neundorf2007-05-171-7/+82
| | | | | | | | | | | | | | | | | | | | | | | | -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
* BUG: fix problem with path suffix and mac frameworks and find stuff, showed ↵Bill Hoffman2006-12-281-29/+53
| | | | up in FindPythonLibs.cmake
* BUG: fix for 4009 lib64 should work with path suffixBill Hoffman2006-11-111-8/+6
|
* ENH: Clarified search behavior when the objective is not found.Brad King2006-10-191-2/+7
|
* BUG: If the user specifies a cache entry on the command line without a type, ↵Brad King2006-07-181-9/+19
| | | | the FIND_* commands should add the type and docstring to the given value and put it back in the cache.
* STYLE: fix line lengthKen Martin2006-05-101-15/+29
|
* ENH: add patch for finding applications on OSXBill Hoffman2006-04-131-4/+106
|
* ENH: make sure framework search order is correctBill Hoffman2006-03-301-19/+40
|
* ENH: add a test for find framework stuff in find_library, and fix the ↵Bill Hoffman2006-03-291-0/+28
| | | | framework search stuff
* ENH: Added check of CMAKE_BACKWARDS_COMPATIBILITY to skip the CMake system ↵Brad King2006-03-281-3/+54
| | | | path search when simulating CMake 2.2 and earlier.
* ENH: Added NO_CMAKE_ENVIRONMENT_PATH, NO_CMAKE_PATH, ↵Brad King2006-03-241-17/+66
| | | | NO_SYSTEM_ENVIRONMENT_PATH, and NO_CMAKE_SYSTEM_PATH options back to allow more granularity than NO_DEFAULT_PATH.
* ENH: clean up find stuff so that NO_SYSTEM_PATH is backwards compatible and ↵Bill Hoffman2006-03-161-57/+40
| | | | you get put system env variables in the find commands
* STYLE: some m_ to this-> cleanupKen Martin2006-03-151-8/+10
|