summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefileTargetGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* ENH: Added build rule variables CMAKE_<LANG>_ARCHIVE_CREATE, ↵Brad King2008-01-301-30/+77
| | | | CMAKE_<LANG>_ARCHIVE_APPEND, and CMAKE_<LANG>_ARCHIVE_FINISH to support creation of static archive libraries out of a large number of objects. See bug #6284.
* ENH: Updated exporting and importing of targets to support libraries and ↵Brad King2008-01-281-2/+2
| | | | | | | | | | | | | | | | | | 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
* ENH: Converted cmMakefile DefineFlags added by ADD_DEFINITIONS command into ↵Brad King2008-01-181-0/+4
| | | | a COMPILE_DEFINITIONS directory property.
* ENH: Enable CMAKE_<lang>_DEFINE_FLAG for COMPILE_DEFINITIONS property ↵Brad King2008-01-171-4/+4
| | | | implementation.
* ENH: Renamed <CONFIG>_COMPILE_DEFINITIONS to COMPILE_DEFINITIONS_<CONFIG> ↵Brad King2008-01-161-4/+4
| | | | for better documentation clarity.
* ENH: Create COMPILE_DEFINITIONS property for targets and source files. ↵Brad King2008-01-141-2/+51
| | | | Create <config>_COMPILE_DEFINITIONS property as per-configuration version. Add Preprocess test to test the feature. Document limitations on Xcode and VS6 generators.
* BUG: Restore old interface of "make foo.o" and "make foo.i" even though ↵Brad King2008-01-071-5/+9
| | | | object file names now include source extensions. For Java we also need to always remove the source extension (.java -> .class). This fixes the re-opening of bug #6169.
* ENH: Implemented Fortran module output directory and search path flags.Brad King2007-12-301-0/+95
|
* ENH: Simplified and moved link script implementation up from ↵Brad King2007-12-281-0/+32
| | | | cmMakefileLibraryTargetGenerator to cmMakefileTargetGenerator and use for cmMakefileExecutableTargetGenerator too. This addresses bug #6192.
* ENH: Store in DependInfo.cmake files a list of the corresponding files for ↵Brad King2007-12-281-0/+31
| | | | the targets to which a target links. This is useful for locating Fortran modules provided by linked targets. See issue #5809.
* ENH: Add a depends check step to custom targets. Add support for the ↵Brad King2007-12-211-1/+27
| | | | IMPLICIT_DEPENDS feature of custom commands when building in custom targets. Convert multiple-output pair checks to be per-target instead of global.
* BUG: The dependency scanning target should be symbolic.Brad King2007-12-211-1/+1
|
* ENH: Enabled color printing of "Scanning dependencies of target ..." message.Brad King2007-12-191-2/+3
|
* ENH: Moved dependency integrity check from CheckBuildSystem over to a ↵Brad King2007-12-191-25/+1
| | | | per-target UpdateDependencies step. This greatly reduces the startup time for make processes and allows individual targets to be built without a global dependency check.
* ENH: fix for bug 6102, allow users to change the compilerBill Hoffman2007-12-131-0/+12
|
* STYLE: Fixed line-too-long.Brad King2007-11-231-1/+2
|
* ENH: Change compiler working directory to the local build tree location when ↵Brad King2007-11-211-17/+41
| | | | compiling object files. This simplifies the compiler command line and the usage of the <objBase>.s and <objBase>.i targets. It also helps fortran compilers put their modules in the correct place.
* ENH: Finish up the Framework creation code restructuring. Frameworks build ↵David Cole2007-10-101-1/+1
| | | | and install now. More work needed on the packaging step. See Tests/Framework for example use.
* ENH: Added IMPLICIT_DEPENDS option to ADD_CUSTOM_COMMAND. It currently ↵Brad King2007-09-171-0/+15
| | | | works only for Makefile generators. It allows a custom command to have implicit dependencies in the form of C or CXX sources.
* ENH: Added OBJECT_OUTPUTS source file property. Updated PrecompiledHeader ↵Brad King2007-09-131-0/+19
| | | | test to use it (making the test simpler).
* ENH: Replaced dependency integrity map with an explicit map from object file ↵Brad King2007-08-071-1/+11
| | | | to source file for each language in each target. This simplifies creation of implicit dependency scanning rules and allows more than one object file in a target to start dependency scanning with the same source file.
* ENH: Added cmTarget::GetLanguages method to centralize computation of the ↵Brad King2007-08-021-7/+5
| | | | list of languages compiled in a target.
* ENH: Simplify makefile target generator listing of object files to clean.Brad King2007-08-021-0/+1
|
* ENH: Merging changes from branch CMake-SourceFile2-b between tagsBrad King2007-06-181-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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: add the IMPORT keyword to ADD_EXECUTABLE(), which generates anAlexander Neundorf2007-05-221-1/+1
| | | | | | | | | | "imported" executable target. This can then be used e.g. with ADD_CUSTOM_COMMAND() to generate stuff. It adds a second container for "imported" targets, and FindTarget() now takes an additional argument bool useImportedTargets to specify whether you also want to search in the imported targets or only in the "normal" targets. Alex
* BUG: Watcom WMake needs empty rule commands even for symbolic targets. This ↵Brad King2007-05-161-1/+1
| | | | fixes the cmake_force target.
* BUG: A utility target should not run the custom commands from its source ↵Brad King2007-05-011-3/+7
| | | | 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: make sure default /System framework is not added with -FBill Hoffman2007-03-301-0/+1
|
* ENH: Created method cmTarget::GetExportMacro to centralize computation of ↵Brad King2007-03-281-13/+4
| | | | the export symbol name. This removes duplicate code from all the generators. Also enabled the export definition for executable targets with the ENABLE_EXPORTS property set.
* ENH: Added cmMakefileTargetGenerator::GenerateExtraOutput to wrap up ↵Brad King2007-03-091-19/+29
| | | | 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.
* 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-9/+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-1/+1
| | | | the output to the build shell. The calls have now been converted to call Convert() with SHELL.
* ENH: fix for WatcomKen Martin2007-02-201-4/+0
|
* ENH: fixed more bugs with spaces in the pathKen Martin2007-02-191-1/+5
|
* BUG: fix for spaces in path for nmakeKen Martin2007-02-191-1/+1
|
* ENH: check in initial conv library stuffBill Hoffman2007-02-161-1/+0
|
* BUG: Use the exe/lib output path for .pdb file location. This addresses ↵Brad King2007-02-011-7/+21
| | | | bug#3277 and bug#4287.
* BUG: fix for bug number 3964Ken Martin2007-02-011-0/+9
|
* ENH: Made cmMakefileTargetGenerator::GlobalGenerator have full type ↵Brad King2006-12-141-5/+5
| | | | 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: make sure things do not depend on optimized libraries if they are ↵Bill Hoffman2006-11-271-1/+15
| | | | debug, and the other way around as well
* BUG: Fixed out-of-source subdirectories to work when they are also ↵Brad King2006-10-101-3/+2
| | | | out-of-binary. Updated the OutOfSource test to test this feature.
* ENH: Added SYMBOLIC source file property to mark custom command outputs that ↵Brad King2006-10-021-2/+23
| | | | are never actually created on disk. This is used by the Watcom WMake generator to generate the .SYMBOLIC mark on the files in the make system.
* BUG: Fix/cleanup custom commands and custom targets. Make empty comment ↵Brad King2006-09-281-5/+24
| | | | 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.
* ENH: put the if in the right placeBill Hoffman2006-09-121-5/+5
|
* ENH: fix for BUG: #739 again, makefiles did not depend on external full path ↵Bill Hoffman2006-09-121-1/+6
| | | | libraries
* BUG: Fixed ordering of code generated in Makefile and build.make files to ↵Brad King2006-09-081-1/+0
| | | | make sure .SUFFIXES rule comes as early as possible. Also cleaned up documentation in generated files.
* ENH: Make sure all custom command outputs are up to date before scanning ↵Brad King2006-08-311-17/+17
| | | | dependencies. This avoids the need to pass a list of generated files to the dependency scanning code and to rescan after the files have been generated. Currently there is no notion of implicit dependencies of the custom commands themselves so this design is safe. We only need to make sure implicit dependencies are up to date before the make process for the /build part of a target is executed because only this process loads them. This is a step towards fixing bug#3658.
* BUG: Added object language to list of object files in a local generator's ↵Brad King2006-08-151-3/+7
| | | | directory. Fixed generation of preprocessing and assembly rules to be done only for C and C++ objects.
* ENH: fix for no newline on some makes fix for ctest and some symlinksAndy Cedilnik2006-08-141-0/+1
|