Brad King
11d1063452
ENH: Create cmMakefileTargetGenerator::ConfigName
...
This member stores the build configuration for which Makefiles are being
generated. It saves repeated lookup of the equivalent member from
cmLocalUnixMakefileGenerator3, making code shorter and more readable.
2009-07-03 08:41:10 -04:00
Brad King
bcb9a479db
ENH: Remove cmTarget::GetExecutableCleanNames
...
This method was redundant with GetExecutableNames.
2009-05-01 10:39:28 -04:00
Brad King
493f88ce55
ENH: Allow projects to disable per-rule echo lines
...
This creates global property RULE_MESSAGES which can be set to disbale
per-rule progress and action reporting. On Windows, these reports may
cause a noticable delay due to the cost of starting extra processes.
This feature will allow scripted builds to avoid the cost since they do
not need detailed information anyway. This replaces the RULE_PROGRESS
property created earlier as it is more complete. See issue #8726 .
2009-03-16 16:55:58 -04:00
Brad King
b604b98c56
ENH: Define RULE_LAUNCH_* properties
...
This defines global, directory, and target properties
RULE_LAUNCH_COMPILE, RULE_LAUNCH_LINK, and RULE_LAUNCH_CUSTOM. Their
values specify 'launcher' command lines which are prefixed to compile,
link, and custom build rules by Makefile generators.
2009-02-10 08:51:15 -05:00
Brad King
c895d9f2e0
ENH: Give target in which custom commands build
...
This gives the cmTarget instance for which custom command rules are
being generated to cmLocalUnixMakefileGenerator3::AppendCustomCommands.
It will be useful in the future.
2009-02-10 08:50:33 -05:00
Brad King
67671ac400
BUG: Do not re-generate after a AppBundle build
...
A previous change accidentally added the MacOS content directory and
Info.plist files created for MACOSX_BUNDLE executables to the list of
CMake input files. This causes CMake to re-generate the project too
often. These items should be added to the list of CMake output files.
2009-02-06 09:03:27 -05:00
Brad King
07454a39f1
ENH: Factor out listing of objects on command line
...
Previously generation of object file lists for linker and cleaning
command lines was duplicated for library and executable target
generators. This combines the implementations.
2008-10-15 10:21:14 -04:00
Brad King
cd1528279c
STYLE: Remove computed but unused variable.
...
An old list of object files for cleaning seems to have been left behind.
This removes it.
2008-10-15 10:21:03 -04:00
Brad King
ad44a41a18
ENH: Fix optional use of relative paths.
...
These changes refactor cmLocalGenerator methods Convert and
ConvertToOutputForExisting to support references inside the build tree
using relative paths. After this commit, all tests pass with Makefile
generators when relative paths are enabled by default. See issue #7779 .
2008-10-09 15:30:07 -04:00
David Cole
d797592726
BUG: Fix issue #3648 - make sure CMake reruns if a Bundle application's directory is removed or if it's Info.plist file disappears since those elements are put in place at CMake configure time.
2008-09-02 12:43:45 -04:00
Brad King
1829bed8b5
BUG: Do not create target output directory in cmTarget. Let the generators do it.
2008-04-07 13:39:13 -04:00
Brad King
dfe2ea6406
ENH: Handle large object file lists on some platforms
...
- Use a response file when enabled by
CMAKE_<LANG>_USE_RESPONSE_FILE_FOR_OBJECTS
- Enable for C and CXX with cl (MSVC)
- Enable for Fortran with ifort (Intel Fortran)
2008-02-27 17:10:45 -05:00
Brad King
454da64c99
BUG: Link scripts should be generated with copy-if-different and included as a dependency of the link rule.
2008-02-20 14:56:29 -05:00
Brad King
9ed4266306
ENH: Cleanup impl of PUBLIC_HEADER, PRIVATE_HEADER, and RESOURCE properties
2008-02-18 16:38:34 -05:00
Brad King
ed76198b84
ENH: Cleanup building of OS X bundle content
...
- Fixes repeated rebuild of bundles by Makefile generators
- Add special rules to copy sources to their
MACOSX_PACKAGE_LOCATION bundle directory
- Remove MacOSX_Content language hack
- Remove EXTRA_CONTENT property
- Remove MACOSX_CONTENT
- Remove corresponding special cases in object names
2008-02-15 11:22:23 -05:00
Brad King
67f8c0fd10
ENH: Allow multiple OS X applications bundles to be created in a single build directory. Converted Info.plist files to be generated directly instead of configured with make variables. The MACOSX_BUNDLE_* variables are now properties (and vars for compatibility).
2008-02-14 15:31:08 -05:00
Brad King
52b3f85642
ENH: Enable use of link script whenever incremental archive construction rules are available. Enable use of archive construction rules on MSYS.
2008-01-29 21:16:49 -05:00
Brad King
5594ad4885
ENH: Updated exporting and importing of targets to support libraries and configurations.
...
- Created cmExportFileGenerator hierarchy to implement export file generation
- Installed exports use per-config import files loaded by a central one.
- Include soname of shared libraries in import information
- Renamed PREFIX to NAMESPACE in INSTALL(EXPORT) and EXPORT() commands
- Move addition of CMAKE_INSTALL_PREFIX to destinations to install generators
- Import files compute the installation prefix relative to their location when loaded
- Add mapping of importer configurations to importee configurations
- Rename IMPORT targets to IMPORTED targets to distinguish from windows import libraries
- Scope IMPORTED targets within directories to isolate them
- Place all properties created by import files in the IMPORTED namespace
- Document INSTALL(EXPORT) and EXPORT() commands.
- Document IMPORTED signature of add_executable and add_library
- Enable finding of imported targets in cmComputeLinkDepends
2008-01-28 08:38:36 -05:00
Brad King
59aa144516
ENH: Simplified and moved link script implementation up from cmMakefileLibraryTargetGenerator to cmMakefileTargetGenerator and use for cmMakefileExecutableTargetGenerator too. This addresses bug #6192 .
2007-12-28 14:59:06 -05:00
Brad King
d83b4cd255
ENH: Add a depends check step to custom targets. Add support for the IMPLICIT_DEPENDS feature of custom commands when building in custom targets. Convert multiple-output pair checks to be per-target instead of global.
2007-12-21 12:22:12 -05:00
Bill Hoffman
0fc4d10e38
ENH: do not remove executables and dll's before linking them so that incremental links work, incremental links are still broken for vs 2005 and greater because of the manifest stuff
2007-10-18 09:38:34 -04:00
Brad King
cd6abe486d
ENH: Simplify makefile target generator listing of object files to clean.
2007-08-02 09:37:10 -04:00
Brad King
0fa1bd2f71
COMP: Fix build on mac after change to GetSourceFiles signature.
2007-05-28 11:03:11 -04:00
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
721ff36924
ENH: Added platform variable CMAKE_EXE_EXPORTS_<lang>_FLAG to add a linker flag when building executables that have the ENABLE_EXPORTS property set.
2007-04-17 23:39:47 -04:00
Brad King
5a32aa5919
ENH: Added target property ENABLE_EXPORTS for executable targets. It enables the executables for linking by loadable modules that import symbols from the executable. This finishes the executable import library support mentioned in bug #4210 .
2007-03-22 09:45: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
5ed8ea8a0e
BUG: Fixed OSX bundles to be built in the directory specified by cmTarget::GetDirectory(). This is an incremental step for bug#2240.
2007-03-09 14:50:11 -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
4d44392652
BUG: Clean rule for exe pdb file should use full path.
2007-02-01 16:07:32 -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
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
Andy Cedilnik
5a71f83f7a
BUG: Several fixes to handle bundle content on Mac OSX
2006-07-06 16:04:49 -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
Brad King
1b956e9b74
BUG: Finished fix to bug#3229 and bug#3272.
2006-05-23 09:58:51 -04:00
Brad King
0379bb4909
BUG: Added missing cd command before running executable version symlink rule. This addresses bug#3229.
2006-05-16 13:41:27 -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
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
Andy Cedilnik
40272a16bd
ENH: Add support for adding content to bundles
2006-03-28 08:54:01 -05:00
Ken Martin
3d96e52261
STYLE: some m_ to this-> cleanup
2006-03-15 11:02:08 -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
Brad King
93c95f1cc5
BUG: Fixed installation of MacOSX Bundle executables and the corresponding install_name remapping support. Extended the BundleTest test to check that this all works. Part of these fixes required changing the signature of AppendDirectoryForConfig in all generators. It now accepts prefix and suffix strings to deal with whether leading or trailing slashes should be included with the configuration subdirectory.
2006-03-03 12:58:48 -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
43df79d9fc
BUG: Do not perform pre-build, pre-link, or post-install commands when relinking.
2006-02-16 15:39:19 -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