Brad King
35936433e1
ENH: Merging changes from branch CMake-SourceFile2-b between tags
...
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.
2007-06-18 11:59:23 -04:00
Brad King
27a0677d3e
COMP: Fix build for windows-only generators after change to GetSourceFiles signature.
2007-05-28 11:00:26 -04:00
Alexander Neundorf
79756b0e67
BUG: don't use non-imported target when cross compiling as commands in custom commands
...
STYLE: remove now invalid comments, use this->
Alex
2007-05-24 08:43:31 -04:00
Brad King
ba7780a3c4
ENH: Fixed INSTALL_FILES and INSTALL_PROGRAMS commands to not create targets. No targets of type cmTarget::INSTALL_FILES or cmTarget::INSTALL_PROGRAMS are created, so we do not need to check for them everywhere anymore.
2007-05-23 15:40:12 -04:00
Alexander Neundorf
362f81981e
STYLE: fix line length
...
Alex
2007-05-10 11:38:23 -04:00
Alexander Neundorf
8245f437b6
BUG: fix problem for non-C/CXX languages with Visual Studio, the
...
dependencies for the custom commands added for java were not handled
correctly. Needs more work.
Alex
2007-05-09 14:41:38 -04:00
Brad King
adcd87c976
BUG: Fixed cmLocalVisualStudio7Generator to deal with quotes in macro definitions properly. This addresses bug#4983.
2007-05-09 10:18:31 -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
Alexander Neundorf
f1e02b2993
COMP: removed unused variable temp
...
Alex
2007-05-04 14:08:50 -04:00
Ken Martin
8b0c61c322
ENH: added internal target property for the name of the project file
2007-04-10 09:54:01 -04:00
Brad King
af95f61d76
ENH: Created method cmTarget::GetExportMacro to centralize computation of 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.
2007-03-27 23:13:25 -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
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
b8bd0f80db
BUG: When the current output directory is a link directory we need to reference it with the relative path "." instead of an empty relative path.
2007-03-14 15:35:10 -04:00
Brad King
770ffb1699
BUG: All executable and library project types should specify a program database file name for all configurations. Even when debug information is not used the .pdb file specified is used to construct the name of a .idb file that exists for all configurations when building with the VS IDE.
2007-03-14 09:34:31 -04:00
Brad King
fb38af53c0
BUG: Split precompiled header flags into a separate per-global-generator flag map. This is needed because the flag mappings differ across VS IDE versions. This fixes bug#3512 for VS8 where as the previous fix only worked for VS7.
2007-03-12 12:35:11 -04:00
Brad King
528f60f4a6
ENH: Added implib option to cmTarget::GetDirectory to support a separate directory containing the import library. This is an incremental step for bug#4210.
2007-03-09 09:30:16 -05:00
Brad King
01dc699d82
ENH: Combined cmTarget::GetDirectory and cmTarget::GetOutputDir since they are nearly the same. This is another step for bug#2240.
2007-03-08 15:33:19 -05: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
0e8515fa4c
BUG: Get rid of ancient variables CMAKE_CXX_WARNING_LEVEL, CMAKE_CXX_USE_RTTI, CMAKE_CXX_STACK_SIZE which are only partially implemented and now taken care of by flag mapping anyway.
2007-03-07 15:57:52 -05:00
Ken Martin
8e702e6977
COMP: fix some w4 warnings
2007-03-02 10:50:45 -05:00
Bill Hoffman
828eebcd31
STYLE: fix line length
2007-02-21 14:07:04 -05:00
Bill Hoffman
1d8e7e9411
BUG: fix for bug 4423 set language fixes
2007-02-20 09:35:21 -05:00
Bill Hoffman
f7cd9f76ce
STYLE: fix line length issues
2007-02-17 08:46:25 -05:00
Bill Hoffman
fad49c8724
ENH: fix for vs ide
2007-02-16 16:45:47 -05:00
Bill Hoffman
ca0230a33e
ENH: check in initial conv library stuff
2007-02-16 16:12:17 -05:00
Brad King
7c72e03c25
BUG: Do not hack the exception handling default for linker flags or for per-source-file flags.
2007-02-15 12:23:42 -05:00
Bill Hoffman
fd799a5d0e
STYLE: fix line length
2007-02-01 17:06:05 -05:00
Brad King
4bc0fd0941
ENH: Added cmTarget::GetPDBName method to simplify computation of .pdb file name for a target.
2007-02-01 16:54:49 -05:00
Brad King
7e896821f5
BUG: Do not use bitwise OR on bool.
2007-02-01 15:44:39 -05:00
Brad King
939ae77b7b
ENH: Added a special flags integer field to the flag map entries. Added flags for user values and other special cases. Added precompiled header flag translation entries. This addresses bug#3512.
2007-02-01 15:02:35 -05:00
Brad King
0b4bd97210
COMP: Removed unused variable.
2007-02-01 13:04:15 -05:00
Brad King
62d4c1b14a
ENH: Added mapping of /NODEFAULTLIB flag when no values are provided.
2007-02-01 12:00:17 -05:00
Brad King
d8aa12178d
ENH: Reimplemented parsing and mapping of flags into vcproj file attribute options. This cleans up and centralizes a few things. It is in preparation for dealing with precompiled header flags for bug #3512 since they require some special handling.
2007-02-01 11:49:27 -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
345df44dc5
BUG: make sure external vs projects use the GUID in the project if it has one.
2007-01-31 13:34:18 -05:00
Bill Hoffman
cc2364f559
STYLE: fix link lenght issue
2007-01-15 12:12:56 -05:00
Bill Hoffman
cca67d7f8e
BUG: fix for bug 4239, NODEFAULTLIB flag support in ide
2007-01-11 21:02:47 -05:00
Brad King
b9f3de8491
BUG: When writing newlines between script portions in prebuild, prelink, and postbuild command lines they must be escaped for XML so that the IDE receives them. This fixes the fix for bug #3977 .
2006-10-26 10:49:29 -04:00
Brad King
89f098bc59
BUG: Adjust prebuild/prelink/postbuild script construction to account for ConstructScript no longer producing trailing newlines. This addresses bug#3977.
2006-10-25 12:49:27 -04:00
Brad King
b155f3aa1c
ENH: Adding image version number (major.minor) property to windows binaries. Default is 0.0, but the VERSION target property may change the value. Windows now has first-class support for dll and exe versioning. This addresses bug#1219.
2006-10-16 18:17:14 -04:00
Bill Hoffman
655ba54e2d
BUG: fix for bug#3908 if header_file_only is set on cxx files in visual studio do not compile them
2006-10-13 16:13:14 -04:00
Bill Hoffman
430f6f35eb
BUG: fix for fat file systems and vs8 #2617
2006-10-04 14:02:12 -04:00
Bill Hoffman
4c44781404
BUG: fix for bug#3362 xml escapes on -D stuff for visual studio
2006-10-04 13:27:58 -04:00
Bill Hoffman
8750b1960e
BUG: fix for bug# 3664
2006-10-04 11:33:07 -04:00
Bill Hoffman
2e7aef7422
BUG: fix for bug#3738
2006-10-03 14:03:12 -04:00
Brad King
9a1d4e92eb
BUG: Fix/cleanup custom commands and custom targets. Make empty comment 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.
2006-09-28 16:40:35 -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
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