Commit Graph

285 Commits

Author SHA1 Message Date
Ken Martin
7c473d4828 BUG: fix bugs 5539 (progress going beyond 100% when new files are added) and 5889 (tests are not found in some cases when using add_subdirectory to .. etc) 2008-01-18 10:25:25 -05:00
Brad King
6ad79d13dd BUG: Construction of COMPILE_DEFINITIONS_<CONFIG> property name must use upper-case config name. 2008-01-18 08:35:37 -05:00
Brad King
8d1d5500c8 ENH: Enable use of COMPILE_DEFINITIONS property for Fortran sources. 2008-01-17 19:58:01 -05:00
Brad King
8262ccfd4e ENH: Create COMPILE_DEFINITIONS property for targets and source files. Create <config>_COMPILE_DEFINITIONS property as per-configuration version. Add Preprocess test to test the feature. Document limitations on Xcode and VS6 generators. 2008-01-14 09:20:58 -05:00
Brad King
b761da39c1 ENH: Patch from Maik to add preprocessor directive handling to Fortran dependency scanning. Also added -fpp flag to Intel Fortran compiler on Windows by default. 2008-01-09 10:30:11 -05:00
Brad King
52eb0ccac7 BUG: Restore old interface of "make foo.o" and "make foo.i" even though 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. 2008-01-07 16:12:37 -05:00
Brad King
c7de81f9a6 ENH: Make the Fortran compiler id available to cmDependsFortran at scanning and module timestamp copy time. 2008-01-02 11:04:52 -05:00
Brad King
81f6e86f12 ENH: Add per-language clean rule generation to cmake_clean.cmake files to include cmake_clean_<lang>.cmake files generated by dependency scanning. Add Fortran module file and timestamp cleaning rules. 2007-12-28 11:50:14 -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
4d360f7ac5 ENH: Convert cmDepends object interface to scan an entire target at once. 2007-12-22 22:41:42 -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
Brad King
011d7db6bd BUG: Fix make depend target in subdirectory Makefile interface. 2007-12-19 17:54:24 -05:00
Brad King
73704ede42 ENH: Enabled color printing of "Scanning dependencies of target ..." message. 2007-12-19 17:15:41 -05:00
Brad King
de96fd1df9 ENH: Moved dependency integrity check from CheckBuildSystem over to a 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. 2007-12-19 16:36:30 -05:00
Brad King
891256546b ENH: Pass target directory to cmDependsFortran scanning instances. 2007-12-19 14:28:46 -05:00
Brad King
872553de7e ENH: Implemented generation of display for pre-build, pre-link, and post-build custom command comments during the build. This addresses issue #5353. 2007-12-18 09:50:08 -05:00
Brad King
44f38c9b86 ENH: Fortran include path is the same as C and CXX include paths. 2007-12-17 17:54:43 -05:00
Brad King
cc0386f7ea BUG: Fixed computation of 'object' name for MACOSX_PACKAGE_LOCATION source files. 2007-11-26 10:01:49 -05:00
Brad King
9f1eea193e BUG: Dependency scanners should have local generators set always. 2007-10-12 09:32:48 -04:00
David Cole
fa61182de8 ENH: Improvements to the Xcode generator. Build frameworks using native Copy Headers and Copy Bundle Resources phases. Fix bugs: eliminate folders with no names, ensure source files show up in multiple targets, remove empty utility targets from Sources subtrees, ensure that fileRefs only show up once in each grouping folder. 2007-08-14 11:45:15 -04:00
Brad King
d926792066 ENH: Replaced dependency integrity map with an explicit map from object file 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. 2007-08-07 13:57:13 -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
ea874415d9 ENH: Moved GetTargetDirectory method up to cmLocalGenerator. This provides a common interface to something that was implemented in most local generators anyway. 2007-08-01 15:25:40 -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
Brad King
702d785c9a BUG: Add ./ to custom command executables in the top of the build tree even when the path is generated by target name replacement. 2007-05-23 12:05:05 -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
df8f550029 ENH: add install/strip target for makefile generators if strip was found
Alex
2007-05-18 13:43:39 -04:00
Brad King
c25d2bfdd2 ENH: Added testing for custom command line arguments containing all special characters on the US keyboard. Fixed curly brace arguments on borland and % arguments in mingw32-make. 2007-05-17 10:53:18 -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
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