Commit Graph

9654 Commits

Author SHA1 Message Date
Brad King ea00bb990b COMP: Fix cmCTestHG for old HP compiler
The compiler does not have a fully compliant std::string.
2009-07-10 13:08:54 -04:00
Bill Hoffman a4dff91c35 ENH: change so rules show up in GUI, must be windows path 2009-07-10 12:26:39 -04:00
Brad King d4d467dbd5 ENH: Teach CTest to handle Mercurial repositories
This creates cmCTestHG to drive CTest Update handling on hg-based work
trees.  Currently we always update to the head of the remote tracking
branch (hg pull), so the nightly start time is ignored for Nightly
builds.  A later change will address this.

See issue #7879.  Patch from Emmanuel Christophe.  I modified the patch
slightly for code style, to finish up some parsing details, and to fix
the test.
2009-07-10 11:08:05 -04:00
Brad King c0e8c0f5aa ENH: New OutputParser::Process() signature
This overload accepts a null-terminated string instead of requiring a
length.  It is useful to pass some fake process output before and after
the real process output.
2009-07-10 11:07:27 -04:00
Bill Hoffman 5c4208f50e ENH: only 5 failing tests for VS 10 2009-07-10 09:12:39 -04:00
Brad King 3199db4794 STYLE: Nightly Date Stamp 2009-07-10 00:01:06 -04:00
Brad King 5692fa2ecb COMP: More KWSys SharedForward pointer const-ness
This adds another cast to avoid pointer conversion warnings.
Unfortunately C does not recognize implicit conversions that add
cv-qualifiers as well as C++ does.
2009-07-09 14:15:35 -04:00
Brad King d2e94dfc63 STYLE: Nightly Date Stamp 2009-07-09 00:01:04 -04:00
David Cole 02c9633433 COMP: Eliminate "conversion may change sign of result" warnings by using size_t where appropriate. (Missed one warning with last commit: add a cast to md5_word_t.) 2009-07-08 16:18:19 -04:00
David Cole 80d32d96f3 COMP: Eliminate "conversion may change sign of result" warnings by using size_t where appropriate. 2009-07-08 16:15:21 -04:00
Brad King 6028f3a4c7 COMP: Fix KWSys SharedForward sign conversion
This uses size_t where necessary to avoid size_t/int conversion
warnings.
2009-07-08 15:09:16 -04:00
Brad King 4c0bbe3828 COMP: Fix KWSys SharedForward pointer const-ness
This adds const-ness and casts where necessary to avoid pointer
conversion warnings.
2009-07-08 15:09:10 -04:00
Brad King 99e432508e BUG: Use link language for target name computation
The commit "Do not compute link language for LOCATION" was wrong.  The
variables

  CMAKE_STATIC_LIBRARY_PREFIX_Java
  CMAKE_STATIC_LIBRARY_SUFFIX_Java

are used for building Java .jar files.  This commit re-enables the
feature and documents the variables:

  CMAKE_EXECUTABLE_SUFFIX_<LANG>
  CMAKE_IMPORT_LIBRARY_PREFIX_<LANG>
  CMAKE_IMPORT_LIBRARY_SUFFIX_<LANG>
  CMAKE_SHARED_LIBRARY_PREFIX_<LANG>
  CMAKE_SHARED_LIBRARY_SUFFIX_<LANG>
  CMAKE_SHARED_MODULE_PREFIX_<LANG>
  CMAKE_SHARED_MODULE_SUFFIX_<LANG>
  CMAKE_STATIC_LIBRARY_PREFIX_<LANG>
  CMAKE_STATIC_LIBRARY_SUFFIX_<LANG>

Instead of making separate, repetitive entries for the _<LANG> variable
documentation, we just mention the per-language name in the text of the
platform-wide variable documentation.  Internally we keep undocumented
definitions of these properties to satisfy CMAKE_STRICT mode.
2009-07-08 14:33:08 -04:00
Brad King 173448d988 ENH: Pass config to cmTarget::GetLinkerLanguage
This passes the build configuration to most GetLinkerLanguage calls.  In
the future the linker language will account for targets linked in each
configuration.
2009-07-08 13:04:04 -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 6ef56f7778 ENH: Use fixed header file type mapping for Xcode
This simplifies computation of the lastKnownFileType attribute for
header files in Xcode projects.  We now use a fixed mapping from
header file extension to attribute value.  The value is just a hint to
the Xcode editor, so computing the target linker language is overkill.
2009-07-08 13:03:34 -04:00
Brad King 2b5d97419f ENH: Do not compute link language for LOCATION
The LOCATION property requires the full file name of a target to be
computed.  Previously we computed the linker language for a target to
look up variables such as CMAKE_SHARED_LIBRARY_SUFFIX_<LANG>.  This led
to locating all the source files immediately instead of delaying the
search to generation time.  In the future even more computation will be
needed to get the linker language, so it is better to avoid it.

The _<LANG> versions of these variables are undocumented, not set in any
platform file we provide, and do not produce hits in google.  This
change just removes the unused feature outright.
2009-07-08 13:03:22 -04:00
Brad King 7c67524dfa ENH: Introduce cmTarget::LinkImplementation API
The new method centralizes loops that process raw OriginalLinkLibraries
to extract the link implementation (libraries linked into the target)
for each configuration.  Results are computed on demand and then cached.
This simplifies link interface computation because the default case
trivially copies the link implementation.
2009-07-08 12:04:48 -04:00
Brad King aef8fe509b COMP: Pimplize cmTarget ImportInfo and OutputInfo
These member structures are accessed only in the cmTarget implementation
so they do not need to be defined in the header.  This cleanup also aids
Visual Studio 6 in compiling them.
2009-07-08 08:31:30 -04:00
Brad King bb9c0af7cc STYLE: Nightly Date Stamp 2009-07-08 00:01:05 -04:00
Alexander Neundorf c0ad998619 ENH: get the build type specific location
Alex
2009-07-07 14:02:22 -04:00
Brad King 2247aca9cf BUG: Do not recompute link interfaces
The config-to-interface map in cmTarget should use case-insensitive
configuration names.  The change avoids repeating work if the given
configuration has a different case than one already computed.
2009-07-07 11:30:36 -04:00
Brad King afbd595e85 BUG: Fix CMP0003 wrong-config link dir support
This fixes a dumb logic error introduced by the centralization of link
interface computation.  It prevented link directories from alternate
configurations from getting listed by the OLD behavior of CMP0003 for
targets linked as transitive dependencies.
2009-07-07 10:57:02 -04:00
Brad King 94a4a614ca STYLE: Fix comment on cmTarget::LinkInterface
The comment had a typo and was longer than necessary.
2009-07-07 10:56:51 -04:00
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
Brad King 4266d54adb ENH: Mention cycles in target_link_libraries docs
This documents CMake's support for cycles in the dependency graph of
STATIC libraries.
2009-06-24 13:24:50 -04:00
Brad King f74b876a58 ENH: Clarify COMPILE_DEFINITIONS separator in docs
The COMPILE_DEFINITIONS properties are semicolon-separated lists.
Make this clear in the documentation.  See issue #9199.
2009-06-24 09:36:29 -04:00
Brad King 340b175852 STYLE: Nightly Date Stamp 2009-06-24 00:01:04 -04:00
Brad King 66953c78a9 BUG: Fix CVS update parsing for TortoiseCVS
The TortoiseCVS version of cvs.exe includes the '.exe' in cvs update
messages for files removed from the repository.  This change accounts
for it in the regular expressions that match such lines.  Now removed
files are properly reported by ctest_update() when using TortoiseCVS.
2009-06-23 09:06:13 -04:00
Brad King 13f519f747 STYLE: Nightly Date Stamp 2009-06-23 00:01:04 -04:00
Brad King d3679610c6 COMP: Quiet aggressive Borland warnings in KWSys
This disables Borland warning 8027 while compiling KWSys source files.
It provides no useful information.
2009-06-22 14:19:22 -04:00
Brad King d445275ed0 COMP: Remove useless variable assignment
This removes an assignment whose result is never used, thus quieting a
warning from Borland.
2009-06-22 14:19:17 -04:00
Brad King d05a2baf6c STYLE: Nightly Date Stamp 2009-06-22 00:01:03 -04:00
Brad King aa75ccefbe STYLE: Nightly Date Stamp 2009-06-21 00:01:03 -04:00
Brad King 18da042859 STYLE: Nightly Date Stamp 2009-06-20 00:01:02 -04:00
Brad King 1beb41a898 STYLE: Nightly Date Stamp 2009-06-19 00:01:37 -04:00
Brad King 3437b1342f STYLE: Nightly Date Stamp 2009-06-18 00:01:04 -04:00
Brad King 36366beb62 ENH: Improve CMP0012 doc and message formatting
This fixes the CMP0012 description to have a one-line summary in the
'brief' section and the rest of the explanation in the 'full' section.
It makes the warning message shorter and improves formatting of the
policy documentation, especially in the HTML pages.  The convention is
already used by all other policies.
2009-06-17 14:18:14 -04:00
Brad King 3c856405e4 ENH: Improve format of if() command messages
Errors and warnings from the if() command always display the argument
list given to the command followed by an explanation of the problem.
This moves the argument list into a pre-formatted block and follows it
with a paragraph-form explanation.  The result looks cleaner.
2009-06-17 14:18:08 -04:00
Brad King c790b1fabb ENH: Create CMP0013 to disallow duplicate dirs
In CMake 2.6.3 and below we silently accepted duplicate build
directories whose build files would then conflict.  At first this was
considured purely a bug that confused beginners but would not be used in
a real project.  In CMake 2.6.4 we explicitly made it an error.

However, some real projects took advantage of this as a "feature" and
got lucky that the subtle build errors it can cause did not occur.
Therefore we need a policy to deal with the case more gracefully.
See issue #9173.
2009-06-17 13:40:09 -04:00
Brad King f61f8e5383 STYLE: Nightly Date Stamp 2009-06-17 00:01:03 -04:00
Brad King 962bbbec95 BUG: Create an exe's implib output dir for VS 6
VS 6 forgets to create the output directory for an executable's import
library in case the exe dllexport-s symbols.  We work around this VS bug
by creating a pre-link event on the executable target to make the
directory.
2009-06-16 11:57:23 -04:00
Brad King 5129c23cba ENH: Refactor VS 6 build event generation
In cmLocalVisualStudio6Generator we generate pre-build, pre-link, and
post-build events into project files.  This refactors the generation
code for the three event types into a private EventWriter class to avoid
duplicate code.
2009-06-16 11:57:18 -04:00
Brad King 66189b0b79 ENH: Create exe implib dir in VS pre-link rule
This moves creation of an executable's import library directory in VS
projects from the pre-build step to the pre-link step.  It makes sense
to create the directory at the last moment.
2009-06-16 11:44:19 -04:00
Brad King 764ac9803d ENH: Generalize exe implib dir creation for VS
In VS 7,8,9 executable targets we generate a build event to create the
output directory for the import library in case the executable marks
symbols with dllexport (VS forgets to create this directory).  This
generalizes computation of the custom command line to support future use
with other VS versions.
2009-06-16 11:44:07 -04:00
Brad King 0f490cf025 STYLE: Nightly Date Stamp 2009-06-16 00:01:04 -04:00
Brad King 8fcde75e88 ENH: Simplify docs args for define_property
This teaches the define_property command signature to accept multiple
arguments after the BRIEF_DOCS and FULL_DOCS keywords.  We append the
arguments together, making specification of long documentation easier.
2009-06-15 16:12:27 -04:00
Bill Hoffman 0e85c8b6a1 STYLE: fix warning 2009-06-15 14:22:13 -04:00
Bill Hoffman 15ad6db170 BUG: fix crash when running ctest coverage for VTK 2009-06-15 13:51:07 -04:00
Ken Martin 3dadbdf3fd COMP: fix line length 2009-06-15 12:33:21 -04:00
Brad King f4b3bdc6be BUG: Create an exe's implib output dir for VS
If an executable marks symbols with __declspec(dllexport) then VS
creates an import library for it.  However, it forgets to create the
directory that will contain the import library if it is different from
the location of the executable.  We work around this VS bug by creating
a pre-build event on the executable target to make the directory.
2009-06-15 10:55:21 -04:00