Commit Graph

92 Commits

Author SHA1 Message Date
Ken Martin caf17c123b ENH: added new generator 2005-05-12 10:49:56 -04:00
Ken Martin c85069b290 ENH: some changes to the depends signature to be more flexible 2005-05-11 13:16:45 -04:00
Brad King e8911705d6 ENH: Added optional verbose output to build system dependency check. 2005-05-06 09:58:58 -04:00
Brad King 4b371ed7fe ENH: Added dependency on all for install rule to make sure build is up to date before installing. This behavior can be disabled by setting CMAKE_SKIP_INSTALL_ALL_DEPENDENCY to true. 2005-04-27 11:46:46 -04:00
Brad King 2b05a503e4 BUG: Added inclusion of pre-build rules for custom targets. 2005-04-26 08:51:45 -04:00
Brad King b1c5289787 ENH: Created cmTarget::GetLibraryNames to replace cmLocalUnixMakefileGenerator2::GetLibraryNames. Added cmTarget::GetLibraryCleanNames to be used by cmLocalUnixMakefileGenerator2. Now when a library is linked both the shared and static versions are removed from the build tree. In this way we avoid having both kinds of libraries present when the user switches BUILD_SHARED_LIBS on/off. This prevents problems with turning off shared libraries and then expecting the linker to use the static libraries only to find it is using the out-of-date shared versions. 2005-04-22 16:11:00 -04:00
Brad King 1b71f4477b ENH: Added cmTarget::GetBaseName and cmTarget::GetFullName methods and removed cmLocalGenerator::GetFullTargetName and cmLocalUnixMakefileGenerator2::GetBaseTargetName. This functionality is more sensibly implemented in cmTarget. It is also needed for an upcoming feature in which both the shared and static versions of a library will be removed before one is linked. 2005-04-22 15:23:21 -04:00
Brad King 5fb8342177 BUG: Avoid converting the subdirectory name to a relative path twice. 2005-04-07 15:09:13 -04:00
Brad King 1c73f2f743 BUG: Fix rule name for subdirectory traversal to use relative paths. This was broken by the recent subdirectory changes. 2005-04-07 13:48:20 -04:00
Brad King dd4031114a BUG: When generating the name of the custom rule file the character : should be replaced with an underscore because it might be a non-file-name part of a path. 2005-03-31 18:03:47 -05:00
Brad King c940351914 BUG: Fix dependencies of custom commands that are relative paths to files or other custom command outputs. 2005-03-29 10:34:58 -05:00
Ken Martin 345cf04012 ENH: big change that includes immediate subdir support, removing the notion of inherited commands, makefiles no longer read in the parent makefiles but instead inherit thier parent makefiles current settings 2005-03-18 10:41:41 -05:00
Brad King 2a5f8796e7 BUG: Need to collapse full paths before depending on them to remove ./ and ../ to make sure target names match. 2005-03-17 18:37:36 -05:00
Ken Martin 791aa6052b ENH: add support for out of source source 2005-03-14 11:29:15 -05:00
Brad King 5a847aa7bf BUG: Removing jump-and-build ordering change until we can prevent extra jumps from always occuring. 2005-03-08 18:38:43 -05:00
Brad King 4c765d2797 ENH: Removing ... ellipsis from end of echo lines. It is just clutter. 2005-03-08 16:01:04 -05:00
Brad King 778c4940de ENH: Adding extra dependencies to jump-and-build rules that force a single ordering to prevent parallel jumps. This avoids problems with two jumps reaching the same target in parallel which happened occasionally with the old generator. 2005-03-08 15:55:13 -05:00
Brad King b8e7851b18 ENH: Removed "Checking build system in ..." message. It is always paired with an Entering or Jumping message and is not necessary. 2005-03-08 15:35:43 -05:00
Brad King ddb0408007 ENH: Added option CMAKE_SKIP_RULE_DEPENDENCY to skip making build rules depend on their own rule files. It can be added to the cache by the user or added by the project in a list file. 2005-03-08 13:43:17 -05:00
Brad King 200c98fc32 BUG: Only add leading ./ to custom command executable if the command is really specified as one in the current directory. 2005-03-08 11:37:41 -05:00
Brad King d4a2000657 BUG: When a custom command's executable is in the current directory the relative path to it needs a "./". 2005-03-08 11:25:07 -05:00
Brad King e015d822ab BUG: Pay attention to ForceUnixPaths setting in cmSystemTools for ConvertToQuotedOutputPath and for dependency scanning. 2005-03-02 09:34:16 -05:00
Brad King 749b80c7ed BUG: SGI make can support suffixes only up to 32 characters. Renaming .hpux_make_must_have_suffixes_list to .hpux_make_needs_suffix_list. 2005-03-02 08:51:48 -05:00
Brad King e979735a19 ENH: Framework for java dependency scanner. Right now it does nothing but always reports success. This is enough to get the Java test to pass with the new generator because the old implementation did not do dependencies anyway. 2005-03-01 12:21:34 -05:00
Brad King d18722a212 ENH: Replaced OutputEcho/pre-echo/post-echo with AppendEcho. This allows for more flexible echo specifications and better preserves echo text. 2005-02-25 11:23:17 -05:00
Brad King cf8fb5c6f8 ENH: Adding inclusion of pre-build and pre-link commands when building executables and libraries. 2005-02-25 09:19:04 -05:00
Brad King f11f012cd7 BUG: ConvertToQuotedOutputPath must replace slashes in root component on windows. 2005-02-25 09:14:34 -05:00
Brad King 03e2878db8 ENH: Added ConvertToQuotedOutputPath method and used it to properly generate external object references with spaces in the path. 2005-02-25 09:06:18 -05:00
Brad King ea5f13fc82 BUG: The path to the source file in a compile line should be made relative only when CMAKE_USE_RELATIVE_PATHS is on. 2005-02-24 16:19:42 -05:00
Brad King cb48e0c161 ENH: Merged implementations of ConvertToRelative*Path methods. The main ConvertToRelativePath method is now in cmGlobalGenerator. It converts paths only if they are at least inside the deepest common directory between the top-level source and build trees. Each cmLocalGenerator instance calls this global method with its own output directory as the "local" argument from which paths are relative. Added separate ConvertToOptionallyRelative path that pays attention to the CMAKE_USE_RELATIVE_PATHS option. 2005-02-24 16:04:54 -05:00
Brad King b40745c925 BUG: Using a better technique to produce the rule file name for a custom command when the output is not in the current directory or lower. 2005-02-24 12:19:20 -05:00
Brad King e9da9cc3d7 BUG: Do not crash when the link language for a target is not known. 2005-02-24 09:21:15 -05:00
Brad King 39af9ee1e4 ENH: Updated implementation of custom commands. Multiple command lines are now supported effectively allowing entire scripts to be written. Also removed extra variable expansions and cleaned up passing of commands through to the generators. The command and individual arguments are now kept separate all the way until the generator writes them out. This cleans up alot of escaping issues. 2005-02-22 10:32:44 -05:00
Brad King 3d9d893426 ENH: Avoid generating duplicate rules for an object file. A warning about duplicate source files in a target is now generated. 2005-02-17 10:03:27 -05:00
Brad King cd6dd55330 ENH: Added generation of test target to run ctest. 2005-02-17 08:50:53 -05:00
Brad King 6173dea153 ENH: Split cmLocalUnixMakefileGenerator2 away from cmLocalUnixMakefileGenerator to be a stand-alone generator. 2005-02-10 16:18:27 -05:00
Brad King 4bf8aa6293 ENH: Added SystemTools::SplitPath method to split any file path into its basic components. 2005-02-10 10:32:53 -05:00
Brad King 4931afd89d ENH: Adding cleaning of custom command outputs during "make clean". 2005-02-09 11:40:01 -05:00
Brad King 5798510cc7 ENH: Moved reference from local driver targets (like build.local) into individual target rule files. Main rule is now empty, except that clean.local may remove files registered for cleaning. 2005-02-09 09:36:28 -05:00
Brad King 1170f1af79 COMP: Removed useless expression warning. 2005-02-07 16:16:11 -05:00
Brad King 337ad802c6 ENH: Implemented support for include/complain regular expressions for dependency scanning. This now includes the possibility that scanning will return failure and the build will stop. 2005-02-07 16:11:01 -05:00
Brad King c44e6d30e5 ENH: Added generation of CMakeDirectoryInformation.cmake file in each directory next to the Makefile. The include file search path is now stored in this file instead of duplicating it for every object file. This will also allow more information to be passed in the future. 2005-02-07 15:10:20 -05:00
Brad King e708045e6e ENH: Implemented external object feature. 2005-02-04 15:14:12 -05:00
Bill Hoffman 35ec09480a ENH: move AddFlags stuff up to LocalGenerator from LocalUnix generator 2005-02-02 13:19:57 -05:00
Brad King 52b533ce2b COMP: Removed shadowed variable warning. 2005-01-29 07:57:21 -05:00
Brad King 892a7c4fd9 ENH: Implemented full per-object test for whether provides-requires mode is needed. This will still use a recursive make for any Fortran object even if it doesn't have requires. It is possible to avoid it but we can do that later. 2005-01-28 14:17:48 -05:00
Brad King a81a8263a5 ENH: Added hook into Fortran dependency scanner. 2005-01-26 16:18:22 -05:00
Brad King 47ee00b7a5 ENH: Removed unquoted version of OBJECTS make variable. Quoted seems to work everywhere. BUG: Fixed AppendAnyDepend to properly identify executable targets. BUG: Used CreateMakeVariable to fix variable name for OBJECTS list when target has a . in its name. 2005-01-19 07:23:06 -05:00
Brad King 195cdf172e ENH: Split dependency scanning and checking into separate cmDepends superclass with language-specific subclasses such as cmDependsC. 2005-01-18 17:09:05 -05:00
Brad King b37b661087 STYLE: Added TODO comment for another missing feature (external object files). 2005-01-18 11:15:35 -05:00