Commit Graph

307 Commits

Author SHA1 Message Date
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
Bill Hoffman 76dd86b410 BUG: fix -D escaped quotes for watcom 2007-05-10 14:43:55 -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
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 144c605525 BUG: Need to include relative path top information in directory information so that relative path conversion during dependency generation works with the same rules as project generation. 2007-03-16 16:48:27 -04:00
Brad King 1f639ee76c ENH: Added computation of object file names that are almost always short enough to not exceed the filesystem path length limitation. This is useful when a source file from outside the tree is referenced with a long full path. The object file name previously would contain the entire path which when combined with the build output directory could exceed the filesystem limit. Now CMake recognizes this case and replaces enough of the beginning of the full path to the source file with an md5sum of the replaced portion to make the name fit on disk. This addresses bug#4520. 2007-03-16 10:34:25 -04:00
Brad King 9da6f96d98 BUG: Reverting previous changes related to using an empty string for a relative path to the current directory. Too many places want the . version. Instead we can just convert the . to an empty string in the one place that motiviated the original change. 2007-03-14 16:29:10 -04: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 ea19994b13 ENH: Ask the target for its own directory in case of bundle instead of directly using ExecutableOutputPath. 2007-03-08 14:15:45 -05:00
Brad King d65db7c6bb BUG: Compute HomeRelativeOutputPath following the rules of RelativePathTopBinary by going through the Convert() method. This supports out-of-binary build trees without using relative paths that go outside trees managed by CMake. 2007-03-08 13:19:39 -05:00
Brad King fd3688fa72 ENH: Fixed recursive make call target escaping for Borland to support SubDirSpaces test. 2007-03-08 13:05:02 -05:00
Brad King 7157743d69 ENH: Updated GetRecursiveMakeCall to use EscapeForShell instead of MAKEFILE conversion. This code is special because it is the only place that a make target name is passed on a command line. 2007-03-08 11:49:30 -05: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 00b4eeeded STYLE: Removed unused calls to Convert. 2007-03-08 10:19:25 -05:00
Bill Hoffman ecbec236b1 ENH: one more pass at paths with spaces and parens 2007-02-28 14:29:26 -05:00
Brad King 6c82483cdb BUG: Fix for cmake_force target in Borland Makefiles. 2007-02-28 09:33:25 -05:00
Bill Hoffman 5ae48cf852 ENH: add a fix for spaces in the path again... 2007-02-27 13:34:12 -05:00
Bill Hoffman 0ce8c158cc ENH: fix for spaces in the path and mingw 2007-02-27 12:10:42 -05:00
Bill Hoffman 5647e6e254 ENH: fix parens in the path with spaces in the path 2007-02-21 21:24:17 -05:00
Ken Martin e7ab8a0e1d ENH: fixed more bugs with spaces in the path 2007-02-19 14:25:45 -05:00
Ken Martin 314f5f60a0 BUG: fix for spaces in path for nmake 2007-02-19 12:26:32 -05:00
Bill Hoffman ca0230a33e ENH: check in initial conv library stuff 2007-02-16 16:12:17 -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
Bill Hoffman ccb77b65c6 ENH: unify version stuff, get rid of it out of cmake and cmMakefile and only use cmVersion 2006-11-29 15:59:16 -05:00
Brad King 69356d8a7a BUG: Juse use cmake -E echo instead of the native echo on MinGW makefiles. The echo; hack did not work when running from ctest. 2006-10-13 10:22:45 -04:00
Brad King f0c79a0030 BUG: Avoid duplicate conversion to output path. 2006-10-10 13:47:50 -04:00
Brad King 7e92f0b4e4 BUG: Hack to make echo command work properly in mingw32-make. 2006-10-05 14:51:20 -04:00
Brad King 406f3554c7 BUG: Fixed display of custom command comments with quotes, dollars, and other special characters in them. 2006-10-04 18:52:29 -04:00
Brad King 28921d907f BUG: Fixed inclusion of progress.make from subdirectory makefiles. 2006-09-29 09:11:22 -04:00
Brad King bd6aaef001 BUG: Moved progress.make file into CMakeFiles subdirectory to keep things clean. 2006-09-28 17:21:50 -04:00
Brad King 0b135767d6 BUG: Do not filter system directories for include file dependencies. 2006-09-28 09:49:40 -04:00
Brad King dd332a00cc ENH: Re-implemented command line argument shell quoting to support several platforms with one code base. 2006-09-27 13:43:46 -04:00
Brad King a8426f55e5 COMP: Fix shadowed local variable created by previous cmake_force change. 2006-09-21 17:21:13 -04:00
Brad King 2459ceb076 BUG: Centralized generation of command line arguments in escaped form. This addresses bug#3786 for several platforms. 2006-09-21 15:14:06 -04:00
Brad King 358b947072 BUG: cmake_force needs to be written into build.make as well as Makefile. 2006-09-20 12:13: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
Brad King fd8236c862 BUG: Patch from Alex to fix name of includecache files to not look like source files. 2006-09-02 10:51:54 -04:00
Brad King 409f70bc91 ENH: Make sure all custom command outputs are up to date before scanning 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. 2006-08-31 14:09:56 -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
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
Andy Cedilnik f6b2a42266 BUG: add newline for some versions of make 2006-08-14 14:16:26 -04:00
Brad King dd37d0652f ENH: Changed preprocessed source extension to .i and assembly extension to .s for more portability. 2006-08-09 11:43:35 -04:00
Brad King 8c94be3f18 ENH: Added options CMAKE_SKIP_PREPROCESSED_SOURCE_RULES and CMAKE_SKIP_ASSEMBLY_SOURCE_RULES to allow projects to disable generation of .E and .S rules. 2006-08-09 09:56:52 -04:00
Brad King 5cfa1b02ab ENH: Added generation of rules to manually request preprocessed or generated assembly sources. 2006-08-07 23:25:21 -04:00
Brad King 88702ff442 ENH: Moved GetSourceFileLanguage up to cmLocalGenerator. 2006-08-03 09:26:07 -04:00
Brad King 221b34392b ENH: Restoring previous change with a fix. 2006-08-02 11:06:32 -04:00
Bill Hoffman 16e73643f3 ENH: undo change that broke borland 5.6 cont 2006-08-01 19:52:12 -04:00
Brad King fe5a6e9413 ENH: Moved generation of directory-level object convenience rules to a separate method. This will aid generation of more such rules later. 2006-08-01 16:16:21 -04:00
Brad King ab61137eb1 COMP: Fix and/or disable warnings for Borland 5.6 build. 2006-08-01 11:38:42 -04:00
Ken Martin ed54b93533 ENH: added progress for subdir all targets and fixed compiler waring 2006-07-12 13:11:27 -04:00
Brad King 9bf5af6e32 ENH: Moved unique object file name computation from cmLocalUnixMakefileGenerator3 up to cmLocalGenerator for use by all generators. Created cmLocalVisualStudioGenerator as superclass for all VS generators. Implemented on-demand unique object file name computation for VS 7 generator to avoid slow compiles when all sources are in subdirectories. 2006-07-11 11:41:38 -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
Andy Cedilnik 9e9653713c BUG: Make the path change more localized to bundles only 2006-07-06 13:52:02 -04:00
Andy Cedilnik 46febb9a2b BUG: Revert the change 1.152 2006-07-06 11:35:45 -04:00
Andy Cedilnik 24e6ffae36 BUG: If the source file specified is not in a source tree, do not use full path to the file 2006-07-05 16:27:44 -04:00
Ken Martin dcbb4e4461 COMP: warning fix 2006-06-27 14:26:35 -04:00
Ken Martin bec28bb03b ENH: fix for subdir all target after control c 2006-06-27 10:24:09 -04:00
Brad King 35c3a91bc1 BUG: When using a working directory for the custom command do not convert paths to be relative to the build directory. 2006-06-26 15:27:51 -04:00
Ken Martin 6071052835 ENH: fix linelength 2006-06-15 11:51:51 -04:00
Ken Martin 8e9a6beccc ENH: centralized locaiton of CMakeFiles setting 2006-06-14 12:28:32 -04:00
Ken Martin 1f1196410a ENH: fix line length 2006-06-12 15:44:10 -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
Brad King ff41664c6b ENH: Slight improvement in genreation time by recording the setting of CMAKE_COLOR_MAKEFILE in an ivar of each local generator at the beginning of generation. This avoids many repeated table lookups. 2006-05-25 14:16:19 -04:00
Ken Martin 7eba286403 BUG: fix to progress for small projects 2006-05-25 10:55:24 -04:00
Brad King ec2104cd31 BUG: Updated Makefile dependency scanning to provide a full local generator to the dependency scanner to do proper path conversions. This allows the rules written into the depend.make files to use the same relative path conversion as those written into the build.make files. Several previous changes added more and more information for use by the dependency scanner and it was converging to having the full local generator anyway. 2006-05-25 09:47:30 -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
Andy Cedilnik fd8e45d4a1 ENH: Add simple progress reporting during make 2006-05-15 13:02:28 -04:00
Ken Martin 000bce884d STYLE: fix line length 2006-05-15 10:19:57 -04:00
Brad King 826d238ebd BUG: Fix to avoid repeated calls to CollapseFullPath during dependency scanning. This addresses bug#3191. 2006-05-03 10:07:08 -04:00
Ken Martin 4394cc80de BUG: add a fast version for preinstall 2006-05-02 13:31:56 -04:00
Ken Martin 3023eb7ccb ENH: Makefile performance improvements 2006-05-02 09:56:42 -04:00
Brad King a3cd7fd1b5 COMP: Disable color support for bootstrap. 2006-04-26 21:53:21 -04:00
Brad King a4f9d6a80b BUG: Default SHELL on windows should not be a hard-coded path. 2006-04-26 21:51:23 -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
Brad King cceb8e87f1 BUG: Changed color scheme to be more readable on both white and black backgrounds. 2006-04-20 09:59:22 -04:00
Ken Martin 535acdc7a0 ENH: some performance optimizations 2006-04-11 12:51:20 -04:00
Bill Hoffman 2238e22699 ENH: make sure verbose output is used for kde 2006-04-08 14:15:06 -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 d9dd47422b BUG: Handle spaces in the path 2006-03-28 13:48:02 -05:00
Andy Cedilnik 40272a16bd ENH: Add support for adding content to bundles 2006-03-28 08:54:01 -05:00
Ken Martin fdb605dd09 BUG: fix warning 2006-03-15 16:32:40 -05:00
Ken Martin 3d96e52261 STYLE: some m_ to this-> cleanup 2006-03-15 11:02:08 -05:00
Brad King 8e702ac5a8 BUG: Fixed object file name construction to use Convert method for relative path conversion. Also fixed test of result to check explicitly for a full path. 2006-03-14 11:35:37 -05:00
Brad King c332ff41f1 BUG: Avoid full paths and spaces when constructing object file names. 2006-03-14 10:14:52 -05:00
Brad King 2b316f169c ENH: Introducing new policy to construct more unique object file names. This should allow multiple sources with the same file name but different FULL paths to be added to a single target. 2006-03-13 15:19:03 -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
Andy Cedilnik 10d1b20790 BUG: Fix problem on Wacom system with global symbolic targets 2006-03-09 09:53:30 -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
Bill Hoffman 2874b35f5c ENH: try to fix things up for the dashboard 2006-02-23 18:25:07 -05:00
Andy Cedilnik 66ea097554 ENH: Properly handle target dependencies 2006-02-23 17:30:12 -05:00
Andy Cedilnik 32c403f665 ENH: Remove debug 2006-02-23 10:48:35 -05:00
Andy Cedilnik 12dc64c7f5 ENH: Add a notion of a global target 2006-02-23 10:07:24 -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 347c5f4b46 ENH: add working directory support 2006-02-08 10:58:36 -05:00
Bill Hoffman 185cb0b5bf ENH: allow for - in the name of targets for nmake 2006-02-06 16:32:09 -05:00
Ken Martin 96d754046a ENH: more cleanup and removal of old code 2006-01-30 14:25:07 -05:00
Ken Martin 5d35fd4b7e ENH: cleanup and remove some old code 2006-01-30 13:57:01 -05:00
Bill Hoffman 07ef88c985 ENH: add COMPILE_FLAGS to targets 2006-01-25 08:38:06 -05:00
Bill Hoffman 9891260a6d ENH: add support for watcom wmake and wcl386 2006-01-17 10:21:45 -05:00
Brad King 8340c0d186 ENH: Further centralized custom command dependency computation. Custom command dependencies in the source tree may now also be specified relative to the source directory. 2006-01-13 20:51:45 -05:00
Brad King 327489ae59 COMP: Removed unused paramter from cmLocalGenerator::OutputLinkLibraries. 2006-01-13 18:33:51 -05:00
Brad King 22c62c9e65 BUG: Sweeping changes to cleanup computation of target names. This should
fix many bugs related to target names being computed inconsistently.

- Centralized computation of a target's file name to a method in
  cmTarget.  Now that global knowledge is always available the
  *_CMAKE_PATH cache variables are no longer needed.

- Centralized computation of link library command lines and link
  directory search order.

- Moved computation of link directories needed to link CMake targets
  to be after evaluation of linking dependencies.

This also removed alot of duplicate code in which each version had its
own bugs.

This commit is surrounded by the tags

  CMake-TargetNameCentralization1-pre

and

  CMake-TargetNameCentralization1-post

so make the large set of changes easy to identify.
2006-01-13 18:18:32 -05:00
Bill Hoffman 7b1440ab9f ENH: fix bundles for Mac and Xcode 2006-01-05 09:13:06 -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 9b0a485c75 ENH: fix so verbose is put in the correct place 2005-12-30 21:54:03 -05:00
Bill Hoffman 552842d11f ENH: make sure -F is not duplicated 2005-12-27 15:33:47 -05:00
Bill Hoffman 79479233d4 ENH: remove warning 2005-12-27 13:03:01 -05:00
Bill Hoffman 452925649a ENH: add better support for framework linking 2005-12-26 13:14:19 -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
Brad King 5b95c0a881 BUG: Libraries and executables that are built with version numbers and symlinks should be built by a rule using the real file name. The symlink file names should be rules that just depend on the main rule. This way if a version number changes a target will re-link with the new name and the symlinks will be updated. 2005-12-21 08:46:41 -05:00
Brad King 9f38df7046 COMP: Fix conversion warning. 2005-12-14 10:58:09 -05:00
Brad King 163e3ff56c ENH: Removed cmMakefile arguments from cmTarget methods because cmTarget has the ivar m_Makefile now. Re-implemented cmLocalUnixMakefileGenerator3::AppendAnyDepend to use the new global knowledge and avoid the need to look at the cache for information about other targets. This should fix problems with custom commands and executables with the OUTPUT_NAME set. Also the <target>_LIBRARY_TYPE cache variable is no longer needed at all and has been removed. 2005-12-14 10:47:33 -05:00
Ken Martin c3c349109b ENH: removed TARGET_DIR_PREFIX support and someother fix 2005-12-13 15:14:08 -05:00
Bill Hoffman 92b6c8e742 PERF: apply patch for bug 2575 speeds up depend scanning 2005-12-09 13:58:55 -05:00
Brad King 70b4e1051e BUG: Fixed support for external object files built by custom commands. Also added a test to keep it working. 2005-11-17 13:49:10 -05:00
Bill Hoffman 08be73fff1 BUG: make the clean target work 2005-10-28 11:02:29 -04:00
Ken Martin 52edb9c483 ENH: fix for bad placement of SILENT target 2005-10-21 15:24:12 -04:00
Ken Martin 8a1f581bd3 BUG: symlink issue 2005-10-21 12:04:26 -04:00
Ken Martin 017af44ca3 BUG: fix bad checkin that had debugging code in it 2005-10-21 11:10:30 -04:00
Ken Martin 4c32cfb3a3 BUG: fix over checking of build system 2005-10-20 16:37:37 -04:00
Ken Martin b7b902e048 BUG: fix for def files and new local target link lines 2005-10-20 15:03:17 -04:00
Ken Martin a2d4e15ed3 ENH: missing check_build_system for all target 2005-10-20 14:25:08 -04:00
Ken Martin 929553a02e ENH: big cleanup and fix for jump commands 2005-10-20 13:40:28 -04:00
Ken Martin 370cfb037c COMP: fix compiler error 2005-10-19 13:23:01 -04:00
Ken Martin 6b444ee345 BUG: cd into local directory to reduce link line length 2005-10-19 10:03:20 -04:00
Andy Cedilnik f18e7c7ff7 ENH: Improve performance of check build system by creating another file that is simpler to parse and therefore much faster overall 2005-10-12 13:52:29 -04:00
Andy Cedilnik 8d8c3be72b BUG: If the scanner is not defined this would crash. For example when using new language 2005-08-19 10:13:04 -04:00
Brad King d392acb4e6 ENH: Added versioned executable support. This partially addresses bug#2143. Also made OUTPUT_NAME work when installing executables. 2005-08-17 16:11:18 -04:00
Brad King 122ef73e3a BUG: Do not make a file depend on a virtual target. That causes everything to always rebuild. 2005-08-17 16:05:48 -04:00
Brad King 2a5fec6eda COMP: Cannot use first/last insertion constructor of std::set because it is not available on all platforms. 2005-08-17 13:23:00 -04:00
Brad King f4920b8369 ENH: Adding support for automatically adding the OBJECT_DEPENDS for generated header files. 2005-08-17 11:43:58 -04:00
Ken Martin 0b0c97d3b2 BUG: fix for sun make with spaces 2005-08-09 10:35:23 -04:00
Ken Martin 52f9353c45 ENH: have the build.make file include flags.make and use the language flags 2005-08-08 15:23:45 -04:00
Brad King d6a3268b3e BUG: Do not escape CMAKE_COMMAND twice. 2005-08-08 11:28:28 -04:00
Ken Martin f7d26c4ab9 ENH: fix and issue with spaces in paths 2005-08-08 11:02:40 -04:00
Ken Martin dce07caf0b ENH: fix warning 2005-08-05 17:07:07 -04:00
Ken Martin c8a44b42ad ENH: some fixes for cwd problems with rebuild_cache option 2005-08-05 14:19:18 -04:00
Bill Hoffman 3b0632ae75 FIX: fix bad depend info and COMPILE_FLAGS problem and remove extra cerr calls 2005-08-02 11:06:16 -04:00
Ken Martin 40cd76ab03 ENH: first step to only rebuuilding on flag changes 2005-08-01 10:19:35 -04:00
Andy Cedilnik ee6df5f63b BUG: Fix dependencies. Looks like all dependencies were missing subdirectory 2005-07-29 11:25:47 -04:00
Ken Martin c6b011e35e ENH: put cmake files intoa CMakeFiles subdir to clean up bin tree 2005-07-29 09:19:25 -04:00
Ken Martin ad46c80f7a ENH: fix warning 2005-07-28 15:24:31 -04:00
Ken Martin 825a762a30 ENH: always write out all custom commands 2005-07-28 09:14:42 -04:00
Ken Martin 4a98fcd059 ENH: fix some warnings and cleanup some 2005-07-27 12:41:08 -04:00