Commit Graph

90 Commits

Author SHA1 Message Date
Brad King c51c245efa BUG: A utility target should not run the custom commands from its source files directly. The target-level rule must add dependencies on the file-level custom commands to drive them. This bug was introduced by the "fix" to bug 4377. This also restores the documented behavior that PRE_BUILD rules are treated as PRE_LINK rules on non-VS generators. Also fixed custom command dependencies on the rule file build.make so that custom commands re-run when the commands themselves change. 2007-05-01 13:51:25 -04:00
Brad King fc7c433463 ENH: Added support for import libraries created by executable and module targets. The module import libraries should never be used but some windows compilers always create them for .dll files since there is no distinction from shared libraries on that platform. The executable import libraries may be used to create modules that when loaded bind to symbols from the executables. This is an enhancement related to bug#4210 though not requested by it explicitly. 2007-03-19 10:00:36 -04:00
Brad King 7b68a64d12 ENH: Do not compute a path name for the import library if there is no import library. This simplifies tracking down problems with trying to create import libraries for MODULEs. 2007-03-09 13:56:45 -05:00
Brad King 31637efbfb ENH: Added cmMakefileTargetGenerator::GenerateExtraOutput to wrap up creation of rules to drive creation of extra outputs generated as side effects of another rule. Reimplemented generation of custom command multiple output rules to use it. Reimplemented soname symlink output dependencies to use it. Now if a symlink is deleted the library will be recreated with the symlink. 2007-03-09 11:29:15 -05:00
Brad King fb88335cdb BUG: Need to account for import library directory when constructing the clean rule for the import library. This is an incremental fix for bug . 2007-03-09 11:26:10 -05:00
Brad King 528f60f4a6 ENH: Added implib option to cmTarget::GetDirectory to support a separate directory containing the import library. This is an incremental step for bug#4210. 2007-03-09 09:30:16 -05:00
Brad King 01dc699d82 ENH: Combined cmTarget::GetDirectory and cmTarget::GetOutputDir since they are nearly the same. This is another step for bug#2240. 2007-03-08 15:33:19 -05:00
Brad King 33ee83714d ENH: Replaced LibraryOutputPath and ExecutableOutputPath variables in Makefile and VS generators to instead ask each target for its output path. This significantly reduces total code size and centralizes previously duplicate code. It is also a step towards bug#2240. 2007-03-08 14:57:28 -05:00
Brad King 4089c76890 BUG: Some calls to Convert() were converting for MAKEFILE but then passing the output to the build shell. The calls have now been converted to call Convert() with SHELL. 2007-03-08 10:31:03 -05:00
Brad King ed7de15676 BUG: Do not clean the .pdb file for a target just before it is linked! This finishes addressing bug#4341. 2007-02-01 16:52:52 -05:00
Brad King 712345ffc4 BUG: The .pdb file generated for a library or executable should match the real file name used for the target. This addresses bug#3277. 2007-02-01 09:57:24 -05:00
Brad King f7611f167c ENH: Made cmMakefileTargetGenerator::GlobalGenerator have full type cmGlobalUnixMakefileGenerator3 to give access to all methods. Fixed broken custom targets with no commands for Borland makefiles when CMAKE_SKIP_RULE_DEPENDENCY is set. 2006-12-14 14:30:41 -05:00
Brad King b155f3aa1c ENH: Adding image version number (major.minor) property to windows binaries. Default is 0.0, but the VERSION target property may change the value. Windows now has first-class support for dll and exe versioning. This addresses bug#1219. 2006-10-16 18:17:14 -04:00
Brad King fb7c7675f5 BUG: When using link scripts use native shell escapes instead of makefile shell escapes because the script is not interpreted by a make tool. 2006-10-13 13:59:59 -04:00
Brad King b20fd1af11 BUG: Do not collapse the INSTALL_NAME_DIR setting because users may intend to have .. in the path. This makes the makefile generator consistent with the already working Xcode implementation of this feature. Also added a test for @executable_path/.. style settings for this property. 2006-10-11 12:41:20 -04:00
Brad King 9a1d4e92eb BUG: Fix/cleanup custom commands and custom targets. Make empty comment strings work. Fix ZERO_CHECK target always out of date for debugging. Fix Makefile driving of custom commands in a custom target. Fix dependencies on custom targets not in ALL in VS generators. 2006-09-28 16:40:35 -04:00
Brad King c7daee6860 BUG: Need to clean manifest files that may have been generated for .exe and .dll files. 2006-08-15 15:28:29 -04:00
Brad King c3a22c011d STYLE: Fixed line length. 2006-08-08 13:02:07 -04:00
Brad King 441d208bb3 ENH: Added target property CLEAN_DIRECT_OUTPUT to not clean all forms of a library name so that static and shared libraries of the same name can coexist in a single build directory. 2006-08-03 09:42:48 -04:00
Brad King 0a89a904b3 BUG: Do not write link script lines that use the ':' command which is supposed to be a no-op anyway. 2006-06-18 11:50:40 -04:00
Brad King 7d550e8dc0 BUG: Need to use different link script name when relinking. 2006-06-17 19:32:30 -04:00
Brad King 0bbcb49f65 ENH: Added generation of link rules into script files executed by a cmake -E command in order to support longer link lines. This is needed only on platforms without response file support and that may have weak shells. 2006-06-15 16:17:11 -04:00
Ken Martin 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 2006-06-14 12:28:32 -04:00
Brad King 4189370497 BUG: Custom command outputs listed explicitly as source files in a target should be generated whether or not an object file in the target needs them. This useful and makes Makefile builds more consistent with VS IDE builds. 2006-06-01 11:45:51 -04:00
Ken Martin 47c7108111 STYLE: fix line length 2006-05-12 12:29:09 -04:00
Bill Hoffman e6ef33f598 ENH: name pdb files for visual studio make based builds 2006-04-19 16:36:14 -04:00
Bill Hoffman 5ecfd3d4d3 ENH: fix java and add OBJECT_DIR support 2006-04-17 14:01:22 -04:00
Bill Hoffman 3c8e899102 ENH: add support for per config target LINK_FLAGS 2006-04-03 12:57:51 -04:00
Brad King eb31755eb2 ENH: Implemented VT100 terminal escape sequences. If CMAKE_COLOR_MAKEFILE is set then messages produced by makefiles will be in color if the native tool supports it. This addresses bug#3060. 2006-03-30 15:39:03 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Bill Hoffman 88bd3b5281 ENH: add support for removing language flags from shared library and shared module link commands 2006-03-14 14:03:16 -05:00
Bill Hoffman 4c5ba06fa1 ENH: use a cmake script to do the clean step, this allows for large numbers of files to be removed without making the command line too long 2006-03-09 14:30:35 -05:00
Bill Hoffman 3f532f5489 ENH: add support for language flags at rule expansion time 2006-03-06 15:14:23 -05:00
Brad King 586a9427d3 ENH: Created target property INSTALL_NAME_DIR initalized by CMAKE_INSTALL_NAME_DIR specifying the directory portion of the OSX install_name field in shared libraries. This is the OSX equivalent of RPATH. 2006-02-24 13:13:14 -05:00
Brad King 576f0b65c7 BUG: Fix generation of Xcode 2.0 and earlier projects to use CMAKE_BUILD_TYPE. 2006-02-24 11:13:31 -05:00
Bill Hoffman 39e636a4a4 ENH: change expand stuff to pass a struct for all the args 2006-02-20 13:42:18 -05:00
Brad King 81677b3130 ENH: Generate import libraries for DLLs on Cygwin and MinGW. 2006-02-18 15:37:23 -05:00
Brad King 537e2b4ed5 ENH: Implemented RPATH specification support. It is documented by the command SET_TARGET_PROPERTIES. 2006-02-16 15:19:00 -05:00
Brad King 60cd72d01c ENH: Cleaned up generation of symbolic rules. Removed generation of rebuild_cache and similar rules from internal makefiles. 2006-02-15 16:35:16 -05:00
Ken Martin 7740ccd1a4 ENH: some cleanup of the makefile generator 2006-02-14 10:36:04 -05:00