Brad King
6fc4cd8680
Fix or cast integer conversions in cmake
...
These were revealed by GCC's -Wconversion option. Fix types where it is
easy to do so. Cast in cases we know the integer will not be truncated.
2010-06-25 09:05:15 -04:00
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
Alexander Neundorf
03d032b637
Rescan dependencies also if CMakeDirectoryInformation.cmake has changed.
...
If CMakeDirectoryInformation.cmake is newer than depend.internal the include
directories may have changed, so dependencies need to be scanned again.
Ok by Brad.
Alex
2009-09-22 14:40:23 -04:00
Brad King
a3a046643a
ENH: Pass config to cmTarget RPATH install methods
...
This passes the build configuration to cmTarget methods IsChrpathUsed
and NeedRelinkBeforeInstall. Later these methods will use the value.
2009-07-08 13:03:47 -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
Brad King
41b0f92c6a
ENH: Enable basic OpenVMS platform support
...
This adds the Modules/Platform/OpenVMS.cmake platform file for OpenVMS.
We just use Unix-like rules to work with the GNV compiler front-end.
A problem with process execution currently prevents CMake link scripts
from working, so we avoid using them.
2009-06-10 13:04:04 -04:00
Brad King
b5394e9600
BUG: Avoid std::unique algorithm on VMS
...
The Compaq compiler's std::unique algorithm followed by deletion of the
extra elements seems to crash. For now we'll accept the duplicate
dependencies on this platform.
2009-06-10 13:02:18 -04:00
Alexander Neundorf
2ab4e7df81
BUG: don't report changed compiler variables if the path to the compiler
...
differs only e.g. a double slash somewhere instead only one slash as
directory separator (#8890 )
Alex
2009-05-10 05:29:10 -04:00
Brad King
2282748907
BUG: Fix OS X AppBundle/FW byproducts dependencies
...
App Bundle and Framework directories, symlinks, and Info.plist files we
create during generation are byproducts, not outputs. We should re-run
CMake only when they are missing, not when they are old.
See issue #8465 .
2009-02-06 11:18:56 -05:00
Bill Hoffman
bb7b27e417
ENH: add initial ctest -j feature
2008-07-03 09:31:33 -04:00
Ken Martin
fc8b27650c
ENH: fix for bug 6364, extra help targets when there are subdirectories of the top level
2008-06-06 10:22:51 -04: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
Alexander Neundorf
4ce05b6e07
BUG: make ENABLE_LANGUAGE(ASM-ATT OPTIONAL) work again: if it didn't work
...
but was optional, don't delete the cache
Alex
2008-05-12 18:33:08 -04:00
Bill Hoffman
a24ff4e453
ENH: add PHONY targets
2008-03-24 10:26:38 -04:00
Ken Martin
2ad4f4bb9d
BUG: fix some bad changes in progress calc
2008-03-12 14:37:46 -04:00
Bill Hoffman
6903d2df8b
ENH: remove const
2008-01-30 22:56:34 -05:00
Bill Hoffman
8a83f09637
ENH: fix for bug 3218 dependant projects are written out automatically if they are in the project. Also fix bug 5829, remove hard coded CMAKE_CONFIGURATION_TYPES from vs 7 generator
2008-01-30 12:04:38 -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
3cf3bb664a
ENH: Make static library targets depend on targets to which they "link" for the purpose of build ordering. This makes the build order consistent for static and shared library builds. It is also useful when custom command inputs of one library are generated as custom commands outputs of another. It may be useful in the future for Fortran module dependencies. Implemented for Makefiles, Xcode, and VS 8 and above. Added sample code to do it for VS 7.1 and below, but left it disabled with comments explaining why. Likely it will never be needed on VS 7.1 or below anyway.
2007-12-21 15:04:06 -05:00
Brad King
d2be142e3b
BUG: Now that custom targets have dependencies their DependInfo files should be listed in Makefile.cmake.
2007-12-21 13:10:33 -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
fd33bf93a5
ENH: fix for bug 6102, allow users to change the compiler
2007-12-13 15:54:29 -05:00
Ken Martin
6cdf032505
ENH: change to make the documentation class more generic, about halfway there, also provides secitons for Variables now
2007-10-22 12:49:09 -04:00
Brad King
bffcff4530
ENH: Added warning when an install rule is created from an EXCLUDE_FROM_ALL target. Added a foo/preinstall version of targets that need relinking so that exclude-from-all targets can be manually relinked for installation.
2007-08-03 16:31:08 -04: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
695424f6b7
BUG: Quick-fix for accidental commit.
2007-08-02 14:28:00 -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
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
4878c00905
ENH: add the IMPORT keyword to ADD_EXECUTABLE(), which generates an
...
"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
2007-05-22 10:24:59 -04:00
Alexander Neundorf
7f11536704
ENH: now target names can be used in add_custom_command() and
...
add_custom_target() as COMMAND, and cmake will recognize them and replace
them with the actual output path of these executables. Also the dependency
will be added automatically. Test included.
ENH: moved TraceVSDependencies() to the end of GlobalGenerator::Configure(),
so it is done now in one central place
Alex
2007-05-09 08:25:45 -04:00
Ken Martin
a500b3da05
ENH: better progress for any directory that is a project
2007-04-13 10:22:33 -04:00
Ken Martin
2a1e2456ae
ENH: some code consolidation and cleanup
2007-04-12 15:46:14 -04:00
Ken Martin
b4de606bdd
BUG: fix progress for ENCLUDE_FORM_ALL cases using new project to target map. Only fixes it for the top level all target
2007-04-12 14:21:58 -04:00
Brad King
5415b65067
STYLE: Added comment about why dependencies need to be chained to clarify code.
2007-04-10 08:49:42 -04:00
Ken Martin
b99129d2d8
ENH: some code cleanup
2007-03-12 10:26:59 -04:00
Brad King
00051cf721
ENH: Removed useless method ConvertToMakeTarget and all calls to it. It had a buggy implementation that caused it to do nothing.
2007-03-08 11:10:21 -05:00
Brad King
2f2b5b2503
ENH: SetupPathConversions is now called automatically on demand.
2007-03-08 08:38:40 -05:00
Brad King
f0c79a0030
BUG: Avoid duplicate conversion to output path.
2006-10-10 13:47:50 -04:00
Brad King
76f6ea8011
BUG: Fixed ordering of code generated in Makefile and build.make files to make sure .SUFFIXES rule comes as early as possible. Also cleaned up documentation in generated files.
2006-09-08 10:42:14 -04:00
Ken Martin
bdb530191d
BUG: bad progress for named top level targets
2006-08-29 12:55:11 -04:00
Brad King
f826c6c58b
ENH: Centralized generation of targets listed in the help to be done by the code that actually writes the targets.
2006-08-23 09:45:24 -04:00
Brad King
c6f1a11480
BUG: Added object language to list of object files in a local generator's directory. Fixed generation of preprocessing and assembly rules to be done only for C and C++ objects.
2006-08-15 12:00:27 -04:00
Ken Martin
9c35a99e45
BUG: fix comment
2006-07-26 14:46:29 -04:00
Ken Martin
dd8247e324
STYLE: fix long lines
2006-07-18 09:32:45 -04:00
Ken Martin
2bf97089ba
COMP: fix warning
2006-07-17 11:07:44 -04:00
Ken Martin
c69d12d02f
COMP: fix old compiler issue
2006-07-12 14:41:55 -04:00
Ken Martin
ed54b93533
ENH: added progress for subdir all targets and fixed compiler waring
2006-07-12 13:11:27 -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
fe99b156e5
ENH: fix line length and warning
2006-06-20 09:50:45 -04:00
Ken Martin
a6bf59baef
ENH: fix for dependent targets
2006-06-19 11:34:50 -04:00
Bill Hoffman
c8f35fc4ef
ENH: do not use the link script on windows
2006-06-18 20:05:56 -04:00
Ken Martin
57746b6ffe
ENH: warning fix
2006-06-16 16:29:08 -04:00
Ken Martin
e92731ca6e
ENH: cleanup how progress is reported for individual targets to fix an integer math issue
2006-06-16 15:29:25 -04:00
Brad King
9d02ac676b
BUG: Pre-install rules for a target should not have target-level dependencies. Each target can be re-linked independently as long as the original targets are up to date.
2006-06-15 16:37:58 -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
Ken Martin
14cc1efe2c
ENH: some cleanup to progress
2006-06-12 11:40:31 -04:00
Ken Martin
7d5bc02c9d
ENH: line lengths
2006-06-05 14:32:12 -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
Brad King
ad9dd6d11c
ENH: Moved generation of the /fast version of GLOBAL_TARGET targets to the proper place in the local generator instead of in the global generator. Also made the install/fast target not depend on the all target.
2006-06-01 14:43:28 -04:00
Brad King
791706a52f
BUG: Added /fast targets in subdirectory makefiles. Removed bogus INSTALL_*/fast targets. Also fixed preinstall/fast target.
2006-06-01 14:09:21 -04:00
Brad King
d3073828f0
BUG: Fix progress when total number of source files is less than 100.
2006-05-30 16:23: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
Brad King
15535c3f60
BUG: Fix for spaces in path to build directory with new progress stuff.
2006-05-23 09:58:10 -04:00
Ken Martin
50d058a3a1
ENH: always compile progress
2006-05-23 09:11:46 -04:00
Ken Martin
6580114309
BUG: fix issue with too many fast targets being listed
2006-05-18 14:35:44 -04:00
Ken Martin
c0e27431e7
PERF: performance improvement
2006-05-15 13:47:13 -04:00
Andy Cedilnik
fd8e45d4a1
ENH: Add simple progress reporting during make
2006-05-15 13:02:28 -04:00
Ken Martin
b8483cf109
STYLE: fix line length
2006-05-11 10:40:28 -04:00
Ken Martin
00d063a346
BUG: use SHELL var
2006-05-03 15:17:55 -04:00
Ken Martin
96b52c1787
BUG: need to make sure paths are OK
2006-05-02 12:44:09 -04:00
Ken Martin
7d82ffaf00
BUG: need to make sure paths are OK
2006-05-02 12:40:38 -04:00
Ken Martin
032cf3c998
BUG: fix for unix
2006-05-02 10:48:14 -04:00
Ken Martin
3023eb7ccb
ENH: Makefile performance improvements
2006-05-02 09:56:42 -04:00
Brad King
4494c29078
ENH: Enabling color makefile support using cmsysTerminal_cfprintf. Support for color is automatically detected when messages are printed. Also made color scheme more readable on both black and white backgrounds. This option can be enabled by setting CMAKE_COLOR_MAKEFILE to true in the project.
2006-04-26 21:31:39 -04:00
Bill Hoffman
c3078abfe5
ENH: fix global help
2006-04-25 16:31:21 -04:00
Bill Hoffman
31875743e9
ENH: fix help for global targets
2006-04-20 10:51:16 -04:00
Bill Hoffman
769d0e4d29
ENH: put global targets in the help
2006-04-18 15:32:10 -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
Bill Hoffman
8c06f8e294
ENH: add support for re-running cmake if the cmakefiles change
2006-04-10 13:53:00 -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
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
c4156b4531
COMP: Even more global target fixes
2006-02-24 17:35: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
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
141ad7645e
ENH: some reorg of the unix makefile generator
2006-02-15 10:34:11 -05:00
Bill Hoffman
9891260a6d
ENH: add support for watcom wmake and wcl386
2006-01-17 10:21:45 -05:00
Bill Hoffman
1c289b52f4
BUG: fix build problem on gcc
2006-01-02 13:34:03 -05:00
Bill Hoffman
61e056e2dc
BUG: fix for bug 2533, make foo/foo.o now works and .o files are in the help
2006-01-02 12:36:54 -05:00
Bill Hoffman
f6588b7919
ENH: fix borland make clean targets before build, add new generators for msys and mingw
2005-12-22 16:42:36 -05:00