summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefileLibraryTargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* ENH: Merging changes from branch CMake-SourceFile2-b between tagsBrad King2007-06-181-16/+5
| | | | | | | | | | | | | | | | | | | | | | | | CMake-SourceFile2-bp and CMake-SourceFile2-b-mp1 to trunk. This commit is surrounded by tags CMake-SourceFile2-b-mp1-pre and CMake-SourceFile2-b-mp1-post on the trunk. The changes re-implement cmSourceFile and the use of it to allow instances to be created much earlier. The use of cmSourceFileLocation allows locating a source file referenced by a user to be much simpler and more robust. The two SetName methods are no longer needed so some duplicate code has been removed. The strange "SourceName" stuff is gone. Code that created cmSourceFile instances on the stack and then sent them to cmMakefile::AddSource has been simplified and converted to getting cmSourceFile instances from cmMakefile. The CPluginAPI has preserved the old API through a compatibility interface. Source lists are gone. Targets now get real instances of cmSourceFile right away instead of storing a list of strings until the final pass. TraceVSDependencies has been re-written to avoid the use of SourceName. It is now called TraceDependencies since it is not just for VS. It is now implemented with a helper object which makes the code simpler.
* ENH: prevent crashBill Hoffman2007-06-041-0/+6
|
* ENH: initial support for creation of frameworks on MacBill Hoffman2007-05-081-1/+246
|
* BUG: A utility target should not run the custom commands from its source ↵Brad King2007-05-011-1/+1
| | | | 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.
* ENH: Added support for import libraries created by executable and module ↵Brad King2007-03-191-9/+2
| | | | 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.
* ENH: Do not compute a path name for the import library if there is no import ↵Brad King2007-03-091-3/+9
| | | | library. This simplifies tracking down problems with trying to create import libraries for MODULEs.
* ENH: Added cmMakefileTargetGenerator::GenerateExtraOutput to wrap up ↵Brad King2007-03-091-17/+10
| | | | 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.
* BUG: Need to account for import library directory when constructing the ↵Brad King2007-03-091-1/+1
| | | | clean rule for the import library. This is an incremental fix for bug #4210.
* ENH: Added implib option to cmTarget::GetDirectory to support a separate ↵Brad King2007-03-091-1/+5
| | | | directory containing the import library. This is an incremental step for bug#4210.
* ENH: Combined cmTarget::GetDirectory and cmTarget::GetOutputDir since they ↵Brad King2007-03-081-1/+1
| | | | are nearly the same. This is another step for bug#2240.
* ENH: Replaced LibraryOutputPath and ExecutableOutputPath variables in ↵Brad King2007-03-081-6/+6
| | | | 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.
* BUG: Some calls to Convert() were converting for MAKEFILE but then passing ↵Brad King2007-03-081-21/+7
| | | | the output to the build shell. The calls have now been converted to call Convert() with SHELL.
* BUG: Do not clean the .pdb file for a target just before it is linked! This ↵Brad King2007-02-011-1/+5
| | | | finishes addressing bug#4341.
* BUG: The .pdb file generated for a library or executable should match the ↵Brad King2007-02-011-3/+10
| | | | real file name used for the target. This addresses bug#3277.
* ENH: Made cmMakefileTargetGenerator::GlobalGenerator have full type ↵Brad King2006-12-141-1/+1
| | | | cmGlobalUnixMakefileGenerator3 to give access to all methods. Fixed broken custom targets with no commands for Borland makefiles when CMAKE_SKIP_RULE_DEPENDENCY is set.
* ENH: Adding image version number (major.minor) property to windows binaries. ↵Brad King2006-10-161-0/+18
| | | | 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.
* BUG: When using link scripts use native shell escapes instead of makefile ↵Brad King2006-10-131-1/+15
| | | | shell escapes because the script is not interpreted by a make tool.
* BUG: Do not collapse the INSTALL_NAME_DIR setting because users may intend ↵Brad King2006-10-111-18/+3
| | | | 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.
* BUG: Fix/cleanup custom commands and custom targets. Make empty comment ↵Brad King2006-09-281-0/+6
| | | | 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.
* BUG: Need to clean manifest files that may have been generated for .exe and ↵Brad King2006-08-151-0/+13
| | | | .dll files.
* STYLE: Fixed line length.Brad King2006-08-081-1/+2
|
* ENH: Added target property CLEAN_DIRECT_OUTPUT to not clean all forms of a ↵Brad King2006-08-031-49/+83
| | | | library name so that static and shared libraries of the same name can coexist in a single build directory.
* BUG: Do not write link script lines that use the ':' command which is ↵Brad King2006-06-181-1/+6
| | | | supposed to be a no-op anyway.
* BUG: Need to use different link script name when relinking.Brad King2006-06-171-1/+8
|
* ENH: Added generation of link rules into script files executed by a cmake -E ↵Brad King2006-06-151-9/+73
| | | | command in order to support longer link lines. This is needed only on platforms without response file support and that may have weak shells.
* ENH: centralized locaiton of CMakeFiles settingKen Martin2006-06-141-2/+4
|
* BUG: Custom command outputs listed explicitly as source files in a target ↵Brad King2006-06-011-17/+10
| | | | 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.
* STYLE: fix line lengthKen Martin2006-05-121-24/+40
|
* ENH: name pdb files for visual studio make based buildsBill Hoffman2006-04-191-0/+5
|
* ENH: fix java and add OBJECT_DIR supportBill Hoffman2006-04-171-0/+4
|
* ENH: add support for per config target LINK_FLAGSBill Hoffman2006-04-031-0/+9
|
* ENH: Implemented VT100 terminal escape sequences. If CMAKE_COLOR_MAKEFILE ↵Brad King2006-03-301-1/+2
| | | | is set then messages produced by makefiles will be in color if the native tool supports it. This addresses bug#3060.
* STYLE: some m_ to this-> cleanupKen Martin2006-03-151-9/+9
|
* ENH: add support for removing language flags from shared library and shared ↵Bill Hoffman2006-03-141-4/+18
| | | | module link commands
* ENH: use a cmake script to do the clean step, this allows for large numbers ↵Bill Hoffman2006-03-091-8/+11
| | | | of files to be removed without making the command line too long
* ENH: add support for language flags at rule expansion timeBill Hoffman2006-03-061-1/+5
|
* ENH: Created target property INSTALL_NAME_DIR initalized by ↵Brad King2006-02-241-1/+40
| | | | CMAKE_INSTALL_NAME_DIR specifying the directory portion of the OSX install_name field in shared libraries. This is the OSX equivalent of RPATH.
* BUG: Fix generation of Xcode 2.0 and earlier projects to use CMAKE_BUILD_TYPE.Brad King2006-02-241-2/+4
|
* ENH: change expand stuff to pass a struct for all the argsBill Hoffman2006-02-201-9/+11
|
* ENH: Generate import libraries for DLLs on Cygwin and MinGW.Brad King2006-02-181-7/+29
|
* ENH: Implemented RPATH specification support. It is documented by the ↵Brad King2006-02-161-15/+42
| | | | command SET_TARGET_PROPERTIES.
* ENH: Cleaned up generation of symbolic rules. Removed generation of ↵Brad King2006-02-151-6/+9
| | | | rebuild_cache and similar rules from internal makefiles.
* ENH: some cleanup of the makefile generatorKen Martin2006-02-141-0/+394