Commit Graph

111 Commits

Author SHA1 Message Date
Brad King aa8c003609 Qualify std::map compare functor as const
Some older STL implementations invoke the comparison functor as a const
object, so the function call operator must be 'const' qualified.  This
fixes the commit "Fix support for OLD behavior of policy CMP0002" to
compile on older STLs.
2009-09-29 08:34:39 -04:00
Brad King 0089f9cf8f Fix support for OLD behavior of policy CMP0002
The commit "Cleanup make progress rule generation code" introduced a map
from target name to the progress.make file location.  Policy CMP0002's
OLD behavior allows duplicate target names in different directories, so
only one ends up with a progress.make file.  This commit fixes the map
to order by target name first and build directory second, restoring
support for duplicate target names.
2009-09-28 17:34:23 -04:00
Brad King 96afb12087 Convert CMake to OSI-approved BSD License
This converts the CMake license to a pure 3-clause OSI-approved BSD
License.  We drop the previous license clause requiring modified
versions to be plainly marked.  We also update the CMake copyright to
cover the full development time range.
2009-09-28 11:43:28 -04:00
Brad King cd83f1979d ENH: Cleanup make progress rule generation code
This cleans up the Makefile generator's progress rule code.  Instead of
keeping every cmMakefileTargetGenerator instance alive to generate
progress, we keep only the information necessary in a single table.
This approach keeps most of the code in cmGlobalUnixMakefileGenerator3,
thus simplifying its public interface.
2009-06-25 09:58:51 -04:00
Alexander Neundorf f27a2ca363 COMP: remove unused variable TargetSourceFileCount, it seems it is unused since version 1.88 of cmGlobalUnixMakefileGenerator3.cxx
patch by Daniel DOT Teske AT Nokia DOT com

Alex
2009-02-09 16:45:18 -05:00
Ken Martin 0b4375daf2 BUG: improve progress reporting when there are multiple targets with the same name, bug# 7042 2008-05-29 11:50:33 -04:00
Brad King 1c0595c73f ENH: Add global property ALLOW_DUPLICATE_CUSTOM_TARGETS to help existing projects that depend on having duplicate custom targets. It is allowed only for Makefile generators. See bug#6348. 2008-02-14 16:42:29 -05:00
Bill Hoffman 6903d2df8b ENH: remove const 2008-01-30 22:56:34 -05:00
Brad King 430296dc96 ENH: Moved global inter-target dependency analysis and cycle-prevention code up from cmGlobalUnixMakefileGenerator3 to cmGlobalGenerator. Simplified cmGlobalUnixMakefileGenerator3 to use it. Later other generators may be modified to use it also. 2007-12-23 15:03:42 -05:00
Brad King 2836fc43e7 BUG: Support cyclic dependencies among STATIC libraries by removing one from the generated Makefile rules. 2007-12-22 13:08:26 -05:00
Brad King e23348c5a6 COMP: Remove unused parameter of method. 2007-12-21 18:32:22 -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
Alexander Neundorf 4ed64cf73a ENH: add GetCleanTargetName() which returns "clean" for makefiles, so it can
be used by the eclipse generator

Alex
2007-11-25 07:34:53 -05:00
Brad King d7118006de BUG: Target exclusion-from-all tests should always use the root local generator associated with the all target being tested. 2007-08-03 15:44:25 -04:00
Brad King bf0c200f0a ENH: Added cmTarget::GetLanguages method to centralize computation of the list of languages compiled in a target. Transformed NeedRequiresStep to use it. 2007-08-03 09:39:32 -04:00
Brad King 8dc897b60c BUG: Removing accidental commit. 2007-08-02 14:28:45 -04:00
Brad King 8b0575c4ce ENH: Added cmTarget::GetLanguages method to centralize computation of the list of languages compiled in a target. 2007-08-02 14:23:46 -04:00
Alexander Neundorf 43de8c8628 ENH: add OPTIONAL keyword to ENABLE_LANGUAGE, so it will be possible to do
something like this:

ENABLE_LANGUAGE(ASM-ATT)
IF(CMAKE_ASM-ATT_COMPILER_WORKS)
  ... do assembler stufff
ELSE(CMAKE_ASM-ATT_COMPILER_WORKS)
  ... fallback to generic C/C++
ENDIF(CMAKE_ASM-ATT_COMPILER_WORKS)

Alex
2007-06-28 09:09:26 -04:00
Alexander Neundorf 1358009382 STYLE: fix comment
Alex
2007-06-05 16:37:27 -04:00
Alexander Neundorf 179943bf14 STYLE: move ForceVerboseMakefiles to cmGlobalUnixMakefileGenerator3, so the
kdevelop generator doesn't need its own CreateLocalGenerator() anymore

Alex
2007-06-05 16:35:24 -04:00
Alexander Neundorf df8f550029 ENH: add install/strip target for makefile generators if strip was found
Alex
2007-05-18 13:43:39 -04:00
Brad King 142210997f BUG: Watcom WMake needs empty rule commands even for symbolic targets. This fixes the cmake_force target. 2007-05-16 13:24:17 -04:00
Ken Martin 2a1e2456ae ENH: some code consolidation and cleanup 2007-04-12 15:46:14 -04: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
Ken Martin bdb530191d BUG: bad progress for named top level targets 2006-08-29 12:55:11 -04:00
Brad King eef327b944 ENH: Adding install/local global target for Makefile generators. This runs installation only in the current directory and not subdirectories. 2006-08-29 10:03:47 -04:00
Ken Martin f1dfa7e78f BUG: changed to progress to make it more flexible and to no relink targets as often 2006-07-11 09:55:27 -04:00
Ken Martin a6bf59baef ENH: fix for dependent targets 2006-06-19 11:34:50 -04:00
Brad King 87d4d0e039 BUG: cmGlobalGenerator::Build should not always use the /fast target name because dependency checking is often required. It now takes an argument specifying whether to use the /fast target name, and the argument is currently only true for try-compiles. 2006-06-01 15:51:24 -04:00
Ken Martin 7eba286403 BUG: fix to progress for small projects 2006-05-25 10:55:24 -04:00
Ken Martin 2cae0ce389 ENH: fix compiler warnings and posibly java test 2006-05-24 10:09:24 -04:00
Ken Martin 50d058a3a1 ENH: always compile progress 2006-05-23 09:11:46 -04:00
Ken Martin b8483cf109 STYLE: fix line length 2006-05-11 10:40:28 -04:00
Ken Martin 3023eb7ccb ENH: Makefile performance improvements 2006-05-02 09:56:42 -04:00
Andy Cedilnik 1e608c912c ENH: Add packaging of source code (make package_source) 2006-04-17 15:26:54 -04:00
Brad King b323c3f51c BUG: Work-around Watcom WMake limitation for multiple-output custom command support. 2006-04-13 10:15:48 -04:00
Brad King d5719f22c1 ENH: Added support for multiple outputs generated by a single custom command. For Visual Studio generators the native tool provides support. For Xcode and Makefile generators a simple trick is used. The first output is considered primary and has the build rule attached. Other outputs simply depend on the first output with no build rule. During cmake_check_build_system CMake detects when a secondary output is missing and removes the primary output to make sure all outputs are regenerated. This approach always builds the custom command at the right time and only once even during parallel builds. 2006-04-11 11:06:19 -04:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Bill Hoffman 89e5fc63fe STYLE: fix line lengths 2006-03-10 13:54:57 -05:00
Brad King 8d9a997beb ENH: Cleaned up generation of directory-level rules and their support structure. The directorystart rule has been removed in favor of checking the build system in the subdirectory makefile first. The "directory" rule has been renamed "all" since it corresponds to the "all" pass anyway (as against "clean"). Also fixed directory-level rule for preinstall. 2006-03-01 18:54:17 -05:00
Andy Cedilnik 07260a6f27 ENH: Cleanup global targets even more and potentially fix Xcode 2006-03-01 08:28:39 -05:00
Andy Cedilnik 0ba40b59c7 COMP: Handle preinstall properly on IDEs 2006-02-24 09:43:23 -05:00
Andy Cedilnik 549b77034e COMP: Fixes for visual studio 2006-02-23 13:37:35 -05:00
Brad King f09778c4a5 BUG: Work-around borland make bug that drops a rule completely if it has no dependencies or commands. 2006-02-16 18:50:16 -05:00
Ken Martin 929553a02e ENH: big cleanup and fix for jump commands 2005-10-20 13:40:28 -04:00
Ken Martin 345fb993aa ENH: some fixes for better backwards compatibility 2005-10-10 11:49:17 -04:00
Ken Martin f85f919dbc ENH: reduce the number of files produced still needs a bit more cleanup 2005-07-27 09:49:37 -04:00
Bill Hoffman fe9714e2f0 ENH: fix static build of vtk with cmake by having custom targets chain depend information 2005-07-15 11:38:19 -04:00
Ken Martin 369308ca76 ENH: make LOCATION an computed property of the target and get rid of a bunch of const junk 2005-06-22 09:06:46 -04:00
Andy Cedilnik cd97dc5f79 BUG: Remove duplicate targets when in different generators 2005-06-01 09:25:10 -04:00
Ken Martin 6999000852 ENH: now uses Makefile2 to cleanup zsh issues and provided some more documentation 2005-05-31 11:46:49 -04:00
Ken Martin f79376c1d1 STYLE: add some better comments and remove some unused code 2005-05-31 10:16:28 -04:00
Ken Martin 193747256b ENH: switch to using new Unix Makefile generator for Unix as well 2005-05-25 11:18:41 -04:00
Ken Martin baeeb40823 ENH: some more cleanup and changes to how custom commands are stored 2005-05-24 14:42:23 -04:00
Ken Martin ef6c5ae23e ENH: optimization to not use requires step unless a language requires it 2005-05-24 11:17:30 -04:00
Ken Martin 60bcce7fa2 ENH: added help target and made custom commands execute in start output directory 2005-05-20 11:01:21 -04:00
Ken Martin 78b5cca6e3 ENH: another step to the next generator still not optimized yet 2005-05-18 13:46:00 -04:00
Ken Martin 61358ac75c ENH: some more reorg 2005-05-17 11:15:09 -04:00
Ken Martin 4b1c392c9c ENH: snapshot 2005-05-11 08:45:16 -04:00
Ken Martin 0cb20474d8 ENH: updates 2005-05-06 14:49:38 -04:00
Ken Martin c2cd47b32c ENH: backup of work in progress 2005-05-05 12:45:53 -04:00