Commit Graph

47 Commits

Author SHA1 Message Date
Brad King 5b406c9044 ENH: Add HINTS option to find_* commands.
- 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
2008-06-09 15:08:59 -04:00
Brad King 6706f84cd9 ENH: Refactor find_* command framework/appbundle search order impl.
- 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.
2008-06-09 11:58:29 -04:00
Brad King d53e5dec37 ENH: In find_* implementation centralize addition of trailing slashes
- Create cmFindCommon::AddTrailingSlashes
  - Use it in cmFindBase and cmFindPackageCommand
  - Remove duplication from other find commands
2008-06-09 11:57:56 -04:00
Brad King abb1c0e25e BUG: Fix find_* command calls with no PATHS but new-style options.
- 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.
2008-06-08 11:41:08 -04:00
Brad King 3c8ed0d600 BUG: Fix cmFindBase::AddMacPath to actually use its arguments after previous refactoring commit. 2008-06-06 09:06:27 -04:00
Brad King 789c167b6f ENH: Refactor cmFindCommon, cmFindBase, and cmFindPackageCommand
- 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.
2008-06-05 18:20:16 -04:00
Brad King a9a33a5c5e BUG: Fix 64-bit build of CMake so it can find 32-bit VS install.
- 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.
2008-06-05 09:54:28 -04:00
Brad King 3571198ea8 BUG: Fix previous registry lookup change for executables.
- 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.
2008-05-27 16:50:04 -04:00
Brad King 41ceabb60f BUG: Fix registry lookups for FIND commands to use view of target platform.
- See issue #7095.
2008-05-27 14:47:46 -04:00
Bill Hoffman 60e0c7ed9c ENH: better fix for not adding / 2008-05-23 15:52:15 -04:00
Bill Hoffman 2218d1527f BUG: 7011 findqt hangs because of glob with find_path and framework header serach 2008-05-23 15:25:04 -04:00
Bill Hoffman d7e50fb271 BUG: fix network path by mistake in search 2008-04-06 22:19:06 -04:00
Brad King 5233b75a77 ENH: Improve handling of old-style compatibility.
- 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
2008-03-07 15:30:35 -05:00
Alexander Neundorf 9e8a1c639a STYLE: PATHS is optional (#6253)
Alex
2008-01-17 17:49:30 -05:00
Alexander Neundorf eccee212e1 STYLE: fix typo (#6252)
Alex
2008-01-17 17:43:04 -05:00
Brad King b424df917d 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.
2008-01-17 09:02:31 -05:00
Amitha Perera 4d9259c15b STYLE: Spelling fixes on documentation 2008-01-09 22:09:19 -05:00
Alexander Neundorf 9aeffa6e11 BUG: fix #6105, if a directory inside CMAKE_FIND_ROOT_PATH is given to a
FIND_XXX() command, don't prepend the root to it (since it is already in
this root)

Alex
2008-01-06 17:18:15 -05:00
Brad King 0a7bb41129 ENH: Make FIND_* commands look in the CMAKE_PREFIX_PATH directories directly 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. 2007-12-28 12:01:37 -05:00
Brad King 07db9b83a7 ENH: Renamed CMAKE_FIND_PREFIX_PATH to CMAKE_PREFIX_PATH for brevity and consistency with other find path variable names. 2007-12-19 11:06:47 -05:00
Brad King d1fdc38c68 ENH: Added CMAKE_SYSTEM_PREFIX_PATH variable. 2007-12-19 10:34:43 -05:00
Brad King 540a98aa45 STYLE: Fixed terminology to avoid confusion between roots and prefixes. 2007-12-15 14:14:05 -05:00
Alexander Neundorf e22f6b7f05 STYLE: change wording of FIND_XXX() docs to be more correct
Alex
2007-10-26 13:36:46 -04:00
Alexander Neundorf 0398d8ad38 ENH: add support for CMAKE_FIND_PREFIX_PATH as discussed with Brad.
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
2007-10-26 09:55:40 -04:00
Brad King 546d7e72d9 BUG: Fixed spelling and formatting of new documentation. 2007-06-08 13:43:17 -04:00
Alexander Neundorf e737d7d07a STYLE: add documentation for CMAKE_FIND_ROOT_PATH
Alex
2007-06-07 14:57:32 -04:00
Alexander Neundorf aee311a89d STYLE: fix line lengths
Alex
2007-05-18 08:49:06 -04:00
Alexander Neundorf 61d3444f93 ENH: merge CMake-CrossCompileBasic to HEAD
-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
2007-05-17 13:20:44 -04:00
Bill Hoffman 255a4b966e BUG: fix problem with path suffix and mac frameworks and find stuff, showed up in FindPythonLibs.cmake 2006-12-28 15:31:47 -05:00
Bill Hoffman 93002a4400 BUG: fix for 4009 lib64 should work with path suffix 2006-11-11 14:06:38 -05:00
Brad King bfe885f6ef ENH: Clarified search behavior when the objective is not found. 2006-10-19 09:18:59 -04:00
Brad King ec637248da BUG: If the user specifies a cache entry on the command line without a type, the FIND_* commands should add the type and docstring to the given value and put it back in the cache. 2006-07-18 15:21:26 -04:00
Ken Martin 2af4710525 STYLE: fix line length 2006-05-10 15:46:45 -04:00
Bill Hoffman cae4e6b37a ENH: add patch for finding applications on OSX 2006-04-13 11:00:52 -04:00
Bill Hoffman 3cf3fc510f ENH: make sure framework search order is correct 2006-03-30 11:55:19 -05:00
Bill Hoffman 4fd3292d04 ENH: add a test for find framework stuff in find_library, and fix the framework search stuff 2006-03-29 13:33:49 -05:00
Brad King 2b197edb8a ENH: Added check of CMAKE_BACKWARDS_COMPATIBILITY to skip the CMake system path search when simulating CMake 2.2 and earlier. 2006-03-28 14:45:22 -05:00
Brad King 3731dff127 ENH: Added NO_CMAKE_ENVIRONMENT_PATH, NO_CMAKE_PATH, NO_SYSTEM_ENVIRONMENT_PATH, and NO_CMAKE_SYSTEM_PATH options back to allow more granularity than NO_DEFAULT_PATH. 2006-03-24 14:16:31 -05:00
Bill Hoffman 0fa30e1a69 ENH: clean up find stuff so that NO_SYSTEM_PATH is backwards compatible and you get put system env variables in the find commands 2006-03-16 17:49:16 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Bill Hoffman e0be3c7125 ENH: avoid adding junk into paths 2006-03-10 11:12:53 -05:00
Bill Hoffman a2bfdf9542 ENH: fix old style parsing of FIND commands and fix broken tests 2006-03-05 08:38:24 -05:00
Bill Hoffman 4cdfc76c49 ENH: make sure NAMES tag is not required for name argument, fixes msys generator 2006-03-03 23:00:09 -05:00
Bill Hoffman 8aa178639c ENH: remove warning 2006-03-02 20:11:01 -05:00
Bill Hoffman 6fadc10e01 ENH: fix spelling errors in docs 2006-03-02 13:43:39 -05:00
Bill Hoffman a5825cd11a ENH: check in new find stuff 2006-03-02 13:30:22 -05:00
Bill Hoffman 4650f78dd5 ENH: add new find stuff 2006-02-27 16:38:22 -05:00