Commit Graph

37 Commits

Author SHA1 Message Date
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
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
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
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
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
64f4880cb5 ENH: Adding partial implementation of provides-requires mode. 2005-01-17 15:09:32 -05:00
Brad King
4b48a89b96 ENH: Added install target implementation. Also added missing include of assert.h. 2005-01-04 18:24:52 -05:00
Brad King
79c67a6dfa ENH: Added relative path support (mostly done). Many paths are written relative even if CMAKE_USE_RELATIVE_PATHS is not on just to keep makefiles short. 2005-01-04 17:41:19 -05:00
Brad King
1480676dab ENH: Added post-build rules to executables and libraries. Generalized AppendLibDepend method to AppendAnyDepend. This takes most of the functionality of AppendCustomDepend too, and generalized jump-and-build to executables. 2004-12-09 15:11:22 -05:00
Brad King
477f328aed ENH: Implemented utility targets. This involved pulling part of the custom command rule implementation out into shared methods. 2004-12-09 13:52:32 -05:00
Brad King
4352c2faae ENH: Unified WriteDependRules, WriteBuildRules, WriteCleanRules, and the future WriteInstallRules into a single WritePassRules method. Also added WriteTargetDependsRule and WriteTargetCleanRule methods to unify writing of depend and clean rules for each target. 2004-11-19 09:32:18 -05:00
Brad King
d39b877ea4 ENH: Added partial clean target support. 2004-11-05 15:09:46 -05:00
Brad King
d41ed99297 ENH: Implemented VERBOSE output setting. 2004-11-05 07:39:48 -05:00
Brad King
7fdcb4e1e4 ENH: Generalized driver targets and subdirectory traversal rules. The implementations of all, depend, build, clean, install, etc. now follow a common framework. 2004-11-03 11:02:44 -05:00
Brad King
30e685b41f ENH: Removed unneeded requires rules now that canonical names are available. 2004-11-03 08:59:13 -05:00
Brad King
8a4c0673be ENH: Added convenience rules to build targets without specifying full paths. 2004-11-03 08:46:17 -05:00
Brad King
6de0ff4b00 ENH: Added dependencies between libraries. 2004-11-02 17:38:09 -05:00
Brad King
04f958b6d9 ENH: Implemented generation of custom command rule files. 2004-11-02 17:14:04 -05:00
Brad King
fd8ae3d34c BUG: Fixed subdirectory implementation for Borland Make. 2004-11-02 08:32:03 -05:00
Brad King
914f28b06a ENH: Implemented subdirectory rules for all target. 2004-11-02 07:36:08 -05:00
Brad King
3bb39d4390 ENH: Added framework for subdirectory traversal. 2004-10-29 18:15:59 -04:00
Brad King
81bbae1fb2 ENH: Added build system integrity check to cmLocalUnixMakefileGenerator2. This now uses a special --check-build-system flag to cmake which replaces --check-rerun. Integrity of dependencies is also checked during generation. 2004-10-29 16:50:46 -04:00
Brad King
6b3ca003d7 ENH: Changed AppendRecursiveMake to GetRecursiveMakeCall and implemented jump-and-build on Windows and UNIX. 2004-10-29 13:04:28 -04:00
Brad King
37ae7d6acf ENH: Cleaned up format of generated makefiles. Consolidated rule generation into single WriteMakeRule method. Added special targets like rebuild_cache and edit_cache. 2004-10-29 10:52:52 -04:00
Brad King
72e125ca1f ENH: Do not try to handle unimplemented target types yet. Fixes for projects with subdirectories. 2004-10-27 12:05:33 -04:00
Brad King
8e0985f9f1 ENH: Added executable dependencies on libraries including jump-and-build support. 2004-10-27 10:45:18 -04:00
Brad King
0d622ae9e8 ENH: Added generation of rules for shared libraries and modules. 2004-10-27 08:47:49 -04:00
Brad King
414a2fd645 ENH: Added rules to build executables. Also began to consolidate flag list construction into separate methods. 2004-10-27 08:20:58 -04:00
Brad King
d7aca58343 ENH: Added generation of rule to build object file. 2004-10-26 14:49:11 -04:00
Brad King
1a4037c15a ENH: Added object file dependency scanning. 2004-10-26 12:53:51 -04:00
Brad King
bf46e4f4b7 ENH: Started new makefile generator implementation. It will temporarily be called cmLocalUnixMakefileGenerator2 until it is ready to replace the original completely. 2004-10-04 16:15:25 -04:00