9680 Commits

Author SHA1 Message Date
Brad King
34f78ee552 ENH: Simplify cmTarget link interface storage
This makes the LinkInterface struct a member of cmTarget, pimplizes the
config-to-interface map, and stores interface instances by value.
2009-07-07 09:45:29 -04:00
Brad King
a608467180 ENH: Simpler cmTarget::GetLinkerLanguage signature
This method previously required the global generator to be passed, but
that was left from before cmTarget had its Makefile member.  Now the
global generator can be retrieved automatically, so we can drop the
method argument.
2009-07-07 07:44:12 -04:00
Brad King
6ec20cc3f9 STYLE: Nightly Date Stamp 2009-07-07 00:01:06 -04:00
Brad King
06b0a692f4 ENH: Centralize default link interface computation
When LINK_INTERFACE_LIBRARIES is not set we use the link implementation
to implicitly define the link interface.  These changes centralize the
decision so that all linkable targets internally have a link interface.
2009-07-06 16:25:20 -04:00
Brad King
26df00f83a ENH: Move CMP0004 check into cmTarget
This moves code implementing policy CMP0004 into cmTarget::CheckCMP0004.
The implementation is slightly simpler and can be re-used outside of
cmComputeLinkDepends.
2009-07-06 16:24:45 -04:00
Brad King
82a8c6b0c7 ENH: Exception safe link interface computation
This fixes cmTarget::GetLinkInterface to compute and return the link
interface in an exception-safe manner.  We manage the link interface
returned by cmTarget::ComputeLinkInterface using auto_ptr.
2009-07-06 16:24:32 -04:00
Brad King
2b85fcdd7d STYLE: Nightly Date Stamp 2009-07-06 00:01:04 -04:00
Brad King
43c8dbb8d1 STYLE: Nightly Date Stamp 2009-07-05 00:01:03 -04:00
Brad King
d870df5502 STYLE: Nightly Date Stamp 2009-07-04 00:01:03 -04:00
Brad King
bde145a212 ENH: Pass config to cmTarget::GetDirectory()
This teaches the makefile generators to always pass the configuration
name to the cmTarget::GetDirectory method.  Later this will allow
per-configuration target output directories, and it cleans up use of the
current API.
2009-07-03 10:34:10 -04:00
Brad King
275c21d351 ENH: Refactor target output dir computation
This creates cmTarget::GetOutputInfo to compute, cache, and lookup
target output directory information on a per-configuration basis.  It
avoids re-computing the information every time it is needed.
2009-07-03 10:33:59 -04:00
Brad King
43669f0ef2 BUG: Avoid cmTarget::GetDirectory for utilities
Since utility targets have no main output files like executables or
libraries, they do not define an output directory.  This removes a call
to cmTarget::GetDirectory from cmLocalVisualStudio{6,7}Generator for
such targets.
2009-07-03 10:33:49 -04:00
Brad King
44021718a6 STYLE: Replace large if() with named boolean
In cmLocalVisualStudio{6,7}Generator this replaces a large if() test
with a re-usable result stored in a boolean variable named accordingly.
2009-07-03 10:33:34 -04:00
Brad King
11d1063452 ENH: Create cmMakefileTargetGenerator::ConfigName
This member stores the build configuration for which Makefiles are being
generated.  It saves repeated lookup of the equivalent member from
cmLocalUnixMakefileGenerator3, making code shorter and more readable.
2009-07-03 08:41:10 -04:00
Brad King
789eaf157c ENH: Cleanup per-config target install generation
This cleans up cmInstallTargetGenerator's code that computes the build
tree location of a target under each configuration.
2009-07-03 08:40:28 -04:00
Brad King
7c05c7bd89 STYLE: Nightly Date Stamp 2009-07-03 00:01:04 -04:00
Brad King
5b51ad580b ENH: Reports "Passed" for WILL_FAIL tests
Previously tests marked with WILL_FAIL have been reported by CTest as

  ...............***Failed  - supposed to fail

when they correctly failed.  Now we just report ".....Passed" because
there is no reason to draw attention to something that works as
expected.
2009-07-02 16:13:55 -04:00
Brad King
2247153110 BUG: Do not generate "global" Xcode config
Xcode 2.0 and below supported only one configuration, but 2.1 and above
support multiple configurations.  In projects for the latter version we
have been generating a "global" set of buildSettings for each target in
addition to the per-configuration settings.  These global settings are
not used by Xcode 2.1 and above, so we should not generate them.
2009-07-02 14:14:03 -04:00
Brad King
6bd9d5ab8a ENH: Simplify Xcode CreateBuildSettings method
The cmGlobalXCodeGenerator::CreateBuildSettings had the three arguments
productName, productType, and fileType that returned information used by only
one of the call sites.  This change refactors that information into separate
methods named accordingly.
2009-07-02 14:13:46 -04:00
Brad King
f952ead857 ENH: Use logical target names in Xcode projects
Previously we named Xcode targets using the output file name from one of the
configurations.  This is not very friendly, especially because it changes with
CMAKE_BUILD_TYPE.  Instead we should use the original logical target names for
the Xcode target names.  This is also consistent with the way the other IDE
generators work.
2009-07-02 14:13:12 -04:00
Brad King
767b82a6c8 STYLE: Nightly Date Stamp 2009-07-02 00:01:09 -04:00
Brad King
57e4ca3709 STYLE: Nightly Date Stamp 2009-07-01 00:01:06 -04:00
Brad King
df4e6c85fa STYLE: Fix line-too-long style violation. 2009-06-30 09:10:57 -04:00
Brad King
0e5df2a7bc BUG: Fix documentation of CMAKE_CFG_INTDIR
The documentation of this variable was out-dated and misleading.
See issue #9219.
2009-06-30 09:05:26 -04:00
Brad King
fa3b66fcd2 STYLE: Nightly Date Stamp 2009-06-30 00:01:02 -04:00
Alexander Neundorf
c4f2e42881 COMP: don't use vector::at(), this doesn't seem to exist everyhwere
(http://www.cdash.org/CDash/viewBuildError.php?buildid=366375)

Alex
2009-06-29 14:27:45 -04:00
Brad King
f33a27abd6 ENH: Generate native Xcode 3.0 and 3.1 projects
CMake previously generated Xcode project files labeled as 2.4-compatible
by recent versions of Xcode (3.0 and 3.1).  It is better to generate
native Xcode 3.0 and 3.1 projects.  In particular, this can improve
build times by using the "Build independent targets in parallel"
feature.

Patch from Doug Gregor.  See issue #9216.
2009-06-29 13:02:05 -04:00
Brad King
d78ef9a6cd STYLE: Nightly Date Stamp 2009-06-29 00:01:02 -04:00
Bill Hoffman
1d59cc7da6 ENH: add rest of lib check 2009-06-28 09:46:25 -04:00
Bill Hoffman
07eb80d910 ENH: fix line length 2009-06-28 08:59:56 -04:00
Alexander Neundorf
b1e1dc6465 STYLE: document #cmakedefine01 (see #9189 , there's also a test for it in
Tests/Complex/ )

Alex
2009-06-28 08:06:52 -04:00
Alexander Neundorf
1651c6f37c STYLE: don't print the section name "SingleItem" if the documentation for
just a single item is printed

Alex
2009-06-28 08:05:22 -04:00
Alexander Neundorf
45652bc20b ENH: create a "Virtual Folder" in CodeBlocks, which contains all the cmake
files of the project, i.e. there is now a "CMake Files" folder additionally
to the "Sources", "Headers" and "Others" folders which already existed.
Patch by Daniel Teske.

Alex
2009-06-28 04:58:27 -04:00
Alexander Neundorf
42270c86b0 ENH: also support nmake and msvc for use with CodeBlocks under Windows,
patch by Daniel Teske

Alex
2009-06-28 04:30:11 -04:00
Brad King
ee7bcee8e8 STYLE: Nightly Date Stamp 2009-06-28 00:01:01 -04:00
Alexander Neundorf
e03c366466 STYLE: document CMAKE_SKIP_INSTALL_ALL_DEPENDENCY variable
Alex
2009-06-27 11:17:37 -04:00
Brad King
6f2aab1b8e STYLE: Nightly Date Stamp 2009-06-27 00:01:03 -04:00
Bill Hoffman
798024bebf ENH: fix line length issues 2009-06-26 11:50:09 -04:00
Bill Hoffman
ec10b44d1e ENH: do not create a desktop link for CMakeSetup 2009-06-26 10:18:11 -04:00
Bill Hoffman
8747e109a6 ENH: remove debug print 2009-06-26 00:07:23 -04:00
Brad King
a385364f78 STYLE: Nightly Date Stamp 2009-06-26 00:01:06 -04:00
Bill Hoffman
b6d022f853 ENH: add obj file support and remove a warning 2009-06-25 22:53:02 -04:00
Bill Hoffman
7491f52992 ENH: first pass at VS 10, can bootstrap CMake, but many tests still fail 2009-06-25 16:41:57 -04:00
Bill Hoffman
953439f738 ENH: add reminder comment 2009-06-25 16:39:10 -04:00
Bill Hoffman
736d8c1a0c ENH: set an upload speed limit for ctest 2009-06-25 16:38: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
b9a98ef65b STYLE: Remove unused variable 2009-06-25 09:43:19 -04:00
Brad King
e61b49b71f STYLE: Nightly Date Stamp 2009-06-25 00:01:04 -04:00
Clinton Stimpson
33f7717536 ENH: Save/restore splitter sizes. Fixes #9070. 2009-06-24 16:50:52 -04:00
Brad King
b64aadc5b0 ENH: Remove unused cmSystemTools::RemoveEscapes
The RemoveEscapes method is no longer used anywhere.  All uses of it
have been replaced by a real lexer.  We can remove the method.
2009-06-24 15:09:50 -04:00