Commit Graph

12134 Commits

Author SHA1 Message Date
Brad King 2cadc9138f ENH: Improve framework search speed for find_file and find_path
- Locating a header inside a framework often requires globbing
  - Previously the glob was <dir>/*/Headers/<name>
  - Now the glob is <dir>/*.framework/Headers/<name>
  - This is much faster when <dir> is not really a framework dir
2008-06-09 12:51:01 -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 3446bab75e STYLE: Nightly Date Stamp 2008-06-08 23:57:40 -04:00
Brad King e77f5cfaed ENH: Whenever CMake re-runs from inside the VS IDE inform the user why. 2008-06-08 11:41:24 -04:00
Brad King 9c8185494b BUG: Fix CMake.FindBase test to normalize paths before comparing.
- Previously the find_* commands did not normalize the search paths
  - The recent refactoring enabled such normalization
  - The FindBase test must also normalize before comparing paths
2008-06-08 11:41:16 -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 9e44be371f STYLE: Nightly Date Stamp 2008-06-07 23:57:43 -04:00
Brad King 45bb68bf9b STYLE: Nightly Date Stamp 2008-06-06 23:58:15 -04:00
Brad King 27759a775f ENH: Recognize more color terminals.
- Patch from Matthew McCormick, slightly tweaked
  - See issue #6833
2008-06-06 11:52:52 -04:00
Bill Hoffman 4bc39940c3 ENH: fix for flags that have sub-string matches 2008-06-06 11:49:06 -04:00
Ken Martin fc8b27650c ENH: fix for bug 6364, extra help targets when there are subdirectories of the top level 2008-06-06 10:22:51 -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
Clinton Stimpson dcdcd00ffa BUG: Fix for #7118.
Relative paths going outside the current source dir resulted in badly
      placed moc source files in the build dir (or out of the build dir).
2008-06-06 01:36:39 -04:00
Brad King d80ca5baea STYLE: Nightly Date Stamp 2008-06-05 23:57:59 -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 3ecfb5f7e8 BUG: Fix new custom command with make-var expansion test on VS6. The VS6 IDE adds some extra characters to the variable value during expansion. 2008-06-05 10:01: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 958dc2709f STYLE: Nightly Date Stamp 2008-06-04 23:58:11 -04:00
Brad King 306e3e573f ENH: Add test for make variable replacement in a custom command with the VERBATIM option. 2008-06-04 12:10:59 -04:00
Brad King 7fc72e6471 ENH: Allow custom commands with VERBATIM option to have $(SomeVar) make variable replacement. 2008-06-04 12:10:52 -04:00
Brad King e00a49e2ca STYLE: Nightly Date Stamp 2008-06-03 23:58:19 -04:00
Clinton Stimpson 7676ac8891 ENH: Some Linux distros don't install xorg-devel, png-devel, etc... when
qt4-devel is installed.  Finding them was required to support building
      against static Qt.  Changing it so they are ignored if not found.
2008-06-03 10:29:11 -04:00
Brad King 2453164126 COMP: Fix bootstrap build after previous change to signature of AddRuleHash. 2008-06-03 10:02:18 -04:00
Brad King e79b73d61f BUG: Include less content as input to "rule hash" computation.
- The rule hash should use only commands specified by the user.
  - No make output (echo and progress) rules should be included.
  - No outputs or dependencies need be included.  The native build tool
    will take care of them.
2008-06-03 09:55:28 -04:00
Brad King 4d5116c8a2 STYLE: Nightly Date Stamp 2008-06-02 23:58:25 -04:00
Clinton Stimpson 0d845b8da8 BUG: FormatMessage can return a NULL message. Add check for NULL pointer. 2008-06-02 19:44:02 -04:00
Brad King bed3ac8741 ENH: Remove SKIP_RULE_DEPENDS option from add_custom_command()
- Option was recently added but never released.
  - Custom commands no longer depend on build.make so we do
    not need the option.
  - Rule hashes now take care of rebuilding when rules change
    so the dependency is not needed.
2008-06-02 16:45:07 -04:00
Brad King 6be09c3667 ENH: Introduce "rule hashes" to help rebuild files when rules change.
- In CMake 2.4 custom commands would not rebuild when rules changed.
  - In CMake 2.6.0 custom commands have a dependency on build.make
    which causes them to rebuild when changed, but also when any
    source is added or removed.  This is too often.
  - We cannot have a per-rule file because Windows filesystems
    do not deal well with lots of small files.
  - Instead we add a persistent CMakeFiles/CMakeRuleHashes.txt file
    at the top of the build tree that is updated during each
    CMake Generate step.  It records a hash of the build rule for
    each file to be built.  When the hash changes the file is
    removed so that it will be rebuilt.
2008-06-02 16:44:58 -04:00
Eric Wing db59f49ecf BUG: fixed Lua50 to be Lua51 in FIND_PACKAGE_HANDLE_STANDARD_ARGS call. 2008-06-02 14:53:27 -04:00
Ken Martin 0080c2b9b5 COMP: fix warning 2008-06-02 09:39:13 -04:00
Brad King 669311c369 STYLE: Nightly Date Stamp 2008-06-01 23:58:30 -04:00
Bill Hoffman 2f082668bd ENH: fix crash on dash17 linux where the parsing of the proc file must not have worked right 2008-06-01 23:40:30 -04:00
Bill Hoffman 735b77798d ENH: fix crash on cygwin 2008-06-01 16:11:38 -04:00
Francois Bertel d0237abfd4 BUG:cpuinfo format are different between Linux and Cygwin. Cygwin does not have physical id tag or cpu cores tag. 2008-06-01 14:40:11 -04:00
Bill Hoffman fc5bc3380e ENH: avoid divide by zero, temporary fix until cygwin cpu file is read better, bad cpu info is better than a crash 2008-06-01 11:23:22 -04:00
Brad King 9f3e67eabf STYLE: Nightly Date Stamp 2008-05-31 23:58:41 -04:00
Francois Bertel f9ce6fcb5a BUG:Fixed NumberOfLogicalCPU, NumberOfPhysicalCPU and LogicalProcessorsPerPhysical under Linux. Some part was just wrong. Some other part missed to take the multicore value into account. 2008-05-31 11:23:15 -04:00
Ken Martin d0d3c6c212 ENH: make end of file checking for close if, foreach, macro, functions etc enabled. Not sure why it was disabled to start with, but I suspect I will find out. In reponse to Bill email about a ctest -S script with a function that waqs not closed. Closure was only checked for regular listfiles not other files. 2008-05-31 08:15:00 -04:00
Brad King 045d6ac0e8 STYLE: Nightly Date Stamp 2008-05-30 23:59:16 -04:00
Ken Martin 5020a1f4a0 ENH: make tes test finding logic also try full paths as relative paths because some folks have been doing that and 2.4 handled it 2008-05-30 09:14:25 -04:00
Brad King da273b1026 STYLE: Nightly Date Stamp 2008-05-29 23:58:53 -04:00
Ken Martin 0b4375daf2 BUG: improve progress reporting when there are multiple targets with the same name, bug# 7042 2008-05-29 11:50:33 -04:00
Brad King 535d76d276 STYLE: Nightly Date Stamp 2008-05-28 23:59:02 -04:00
Brad King 23be301b36 STYLE: Nightly Date Stamp 2008-05-27 23:59:13 -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
Brad King cea66664c5 ENH: Added WOW64 key view support to KWSys SystemTools' windows registry API.
- Add an argument to registry read/write/delete methods to specify
    a 32-bit or 64-bit view.
  - Default is the bit-ness of the running program.
  - See issue #7095.
2008-05-27 14:47:00 -04:00
Brad King 73d5fd31ab ENH: Catch missing source files specified by full path earlier.
- Revert previous change to trust user-provided full paths.
  - Instead trust them only far enough to determine the source language
    but still check for existence for non-generated sources.
2008-05-27 13:10:09 -04:00
Brad King 1c0ffdc11c BUG: Fix crash on repeated configure steps and exported targets.
- In cmGlobalGenerator the ExportSets ivar must be cleared at
    the beginning of each Configure.
  - See issue #7101.
2008-05-27 11:18:01 -04:00