Commit Graph

10180 Commits

Author SHA1 Message Date
KWSys Robot 611c120ad6 STYLE: Nightly Date Stamp 2009-07-16 00:01:04 -04:00
KWSys Robot ae9bff8e20 STYLE: Nightly Date Stamp 2009-07-15 00:01:02 -04:00
Clinton Stimpson 8289d0ed6e BUG: Don't let Qt suppress error dialogs. Add call to SetErrorMode(0);
See #9258.
2009-07-14 19:34:50 -04:00
Bill Hoffman 019252be80 ENH: fix vsexternal test on vs 71 2009-07-14 16:06:58 -04:00
Bill Hoffman 3d1c12b802 ENH: remove INCLUDE_EXTERNAL_MSPROJECT name hack, and use target properties instead, fix VXExternalInclude test for VS10 2009-07-14 14:16:46 -04:00
Brad King b23b1800a5 ENH: Teach separate_arguments() to parse commands
This adds UNIX_COMMAND and WINDOWS_COMMAND modes to the command.
These modes parse unix- and windows-style command lines.
2009-07-14 10:15:47 -04:00
Brad King 7a907f87f8 STYLE: Factor cmComputeLinkInformation constructor
This factors some code out of the constructor into a new method
cmComputeLinkInformation::LoadImplicitLinkInfo for readability.
2009-07-14 10:14:52 -04:00
Brad King d60608c858 STYLE: Factor CollectOriginalDirectories code
This factors code out of cmOrderDirectories::CollectOriginalDirectories
into cmOrderDirectories::AddOriginalDirectories.  Later a new call will
be added, and this is more readable anyway.
2009-07-14 10:14:41 -04:00
KWSys Robot 4d2dd55b9c STYLE: Nightly Date Stamp 2009-07-14 00:01:10 -04:00
Brad King b3e8fd3e9b BUG: Parse escapes in single-quoted unix arguments
This fixes KWSys's unix-style command-line parsing to interpret
backslash escapes inside single-quoted strings.
2009-07-13 17:35:08 -04:00
Brad King 57e14a4f97 COMP: Include <malloc.h> for 'free' on QNX 2009-07-13 17:08:38 -04:00
Bill Hoffman 11d42b3e8f ENH: almost all tests passing in vs 10, commit fixes preprocess and starts vs external project 2009-07-13 16:58:24 -04:00
Brad King 724275b266 COMP: Include <stdlib.h> for 'free' 2009-07-13 16:46:53 -04:00
Brad King 3dd6f36d45 ENH: Add cmSystemTools::ParseUnixCommandLine
This method is a C++ wrapper around the KWSys System library function to
parse unix-style command lines.
2009-07-13 16:22:48 -04:00
Brad King 18e639d48a ENH: Provide unix-sytle command line parsing
Add System_Parse_CommandForUnix to the KWSys System interface as a
utility to parse a unix-style command line.  Move the existing
implementation out of ProcessUNIX.  Add a flags argument reserved for
future use in providing additional behavior.
2009-07-13 16:22:14 -04:00
KWSys Robot 44eeda9a04 STYLE: Nightly Date Stamp 2009-07-13 00:01:04 -04:00
Alexander Neundorf 7048373296 STYLE: don't load CMakeDetermineSystem and CMakeSystemSpecific directly from
cmCTestScriptHandler, but have it load the new script CTestScriptMode.cmake
-> that makes it more flexible, also add a simple test that the system name
has been determined correctly

Alex
2009-07-12 04:51:51 -04:00
KWSys Robot 2a750cacd6 STYLE: Nightly Date Stamp 2009-07-12 00:01:03 -04:00
Alexander Neundorf 46f99c6565 STYLE: move the code for writing the initial cache into its own separate
function, makes the long ProcessHandler() a little bit shorter

Alex
2009-07-11 16:30:18 -04:00
Alexander Neundorf a605bd5225 STYLE: rename InitCache to InitialCache, since it contains the contents for
the initial cache and is not e.g. a flag which shows whether the cache
should be initialized

Alex
2009-07-11 16:27:28 -04:00
Brad King f888a0efaf ENH: Export and import link interface languages
Now that languages are part of the link interface of a target we need to
export/import the information.  A new IMPORTED_LINK_INTERFACE_LANGUAGES
property and per-config IMPORTED_LINK_INTERFACE_LANGUAGES_<CONFIG>
property specify the information for imported targets.  The export() and
install(EXPORT) commands automatically set the properties.
2009-07-11 10:12:05 -04:00
Bill Hoffman 28b1912aa3 ENH: add group support and fix borland error 2009-07-11 00:05:20 -04:00
KWSys Robot 2e22b70aa2 STYLE: Nightly Date Stamp 2009-07-11 00:01:04 -04:00
Brad King a232dbe8d2 BUG: Fix Xcode linker language
Xcode does not seem to support direct requests for using the linker for
a particular language.  It always infers the linker using the languages
in the source files.  When no user source files compile with target's
linker language we add one to help Xcode pick the linker.

A typical use case is when a C executable links to a C++ archive.  The
executable has no C++ source files but we need to use the C++ linker.
2009-07-10 16:51:44 -04:00
Brad King bb2228ea1a ENH: Update LINKER_LANGUAGE and HAS_CXX docs
This updates the documentation of these properties to account for the
new automatic linker language computation.
2009-07-10 13:53:48 -04:00
Brad King 19792bf30e ENH: Consider link dependencies for link language
This teaches cmTarget to account for the languages compiled into link
dependencies when determining the linker language for its target.

We list the languages compiled into a static archive in its link
interface.  Any target linking to it knows that the runtime libraries
for the static archive's languages must be available at link time.  For
now this affects only the linker language selection, but later it will
allow CMake to automatically list the language runtime libraries.
2009-07-10 13:53:28 -04:00
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
Brad King d30923d631 STYLE: Nightly Date Stamp 2009-06-15 00:01:05 -04:00
Brad King 8cade78bea STYLE: Nightly Date Stamp 2009-06-14 00:01:01 -04:00
Brad King 70f6f173bd STYLE: Nightly Date Stamp 2009-06-13 00:01:04 -04:00
Brad King 219626a2be COMP: Do not compile VMS-specific code on non-VMS
This helps avoid fixing VMS-specific code for non-VMS compilers where it
isn't needed anyway.
2009-06-12 15:44:50 -04:00
Brad King 4a9dd4aad4 ENH: Refactor VS 7,8,9 build event generation
In cmLocalVisualStudio7Generator 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-12 15:28:48 -04:00
Francois Bertel 17daa9398a COMP:Fixed warning with gcc 4.3.3: passing argument 1 of kwsysProcessSetVMSFeature discards qualifiers from pointer target type. 2009-06-12 13:33:35 -04:00
Ken Martin 133a778e2d ENH: clean up some help text 2009-06-12 13:25:50 -04:00
Ken Martin f50cf4f60d ENH: warning fix 2009-06-12 11:10:26 -04:00
Brad King e02d66e89e COMP: Block warnings in Borland system headers
In Release builds the Borland compiler warns about code in its own
system headers.  This blocks the warnings by disabling them where the
headers are included.
2009-06-12 11:05:02 -04:00
Brad King f5a86a83d3 ENH: Use KWSys String strcasecmp to parse Fortran
This replaces the Fortran dependency parser source's custom strcasecmp
implementation with one from KWSys String.  It removes duplicate code
and avoids a Borland warning about inlining functions with 'while'.
2009-06-12 10:46:25 -04:00
Brad King 74c385e702 COMP: Avoid double-initialization in KWSys String
The KWSys String implementation of strcasecmp initialized 'result'
immediately before assigning to it.  Borland produces a warning in this
case, so this commit removes the extra initialization.
2009-06-12 10:46:16 -04:00
Brad King 590a0c809e COMP: Remove useless assignment in Fortran lexer
The generated Fortran dependency scanning lexer includes an assignment
to a local variable that is unused.  Borland warns, so we remove the
assignment.
2009-06-12 10:46:03 -04:00
Ken Martin a73071ca17 ENH: modified the if command to address bug 9123 some 2009-06-12 10:07:05 -04:00
Brad King 7e03edf1df STYLE: Nightly Date Stamp 2009-06-12 00:01:02 -04:00
Bill Hoffman 8446a48054 ENH: use .exe on vms 2009-06-11 15:25:48 -04:00
Brad King 0d31c3aafb BUG: Do not create empty build-tree RPATH
The fix for issue #9130 appends ':' to the end of the build-tree RPATH
unconditionally.  This changes the fix to add ':' only when the RPATH is
not empty so that we do not create a build-tree RPATH with just ':'.  An
empty RPATH produces no string at all, so there is no chance of merging
with a symbol name anyway.
2009-06-11 14:57:47 -04:00
Brad King 8f5af6172a ENH: Disable the xmlrpc drop method by default
We've chosen to drop our default dependence on xmlrpc.  Thus we disable
the corresponding CTest submission method and remove the sources for
building xmlrpc locally.  Users can re-enable the method by setting the
CTEST_USE_XMLRPC option to use a system-installed xmlrpc library.
2009-06-11 11:24:56 -04:00
Brad King f0ab852000 COMP: Fix build with system-installed expat 2.0.1
In cmXMLParser::ReportXmlParseError we were accidentally passing a value
of type 'XML_Parser*' to expat methods instead of 'XML_Parser'.  It was
not caught because XML_Parser was just 'void*' in the cmexpat version.
Newer system-installed expat versions catch the error because XML_Parser
is now a pointer to a real type.  This correct the type.
2009-06-11 09:03:56 -04:00
Brad King 60bfa0ad3f STYLE: Nightly Date Stamp 2009-06-11 00:01:03 -04:00
Brad King d6dd3e91a4 BUG: Do not mangle symbols when editing RPATHs
In ELF binaries the .dynstr string table is used both for the RPATH
string and for program symbols.  If a symbol name happens to match the
end of the build-tree RPATH string the linker is allowed to merge the
symbols.

We must not allow this when the RPATH string will be replaced during
installation because it will mangle the symbol.  Therefore we always pad
the end of the build-tree RPATH with ':' if it will be replaced.  Tools
tend not to use ':' at the end of symbol names, so it is unlikely to
conflict.  See issue #9130.
2009-06-10 14:11:40 -04:00
Brad King 42c4a1d71f ENH: Document variable CMAKE_NO_BUILTIN_CHRPATH
This adds documentation for the variable which was previously missing.
See issue #9130.
2009-06-10 14:11:20 -04:00
Brad King 41b0f92c6a ENH: Enable basic OpenVMS platform support
This adds the Modules/Platform/OpenVMS.cmake platform file for OpenVMS.
We just use Unix-like rules to work with the GNV compiler front-end.

A problem with process execution currently prevents CMake link scripts
from working, so we avoid using them.
2009-06-10 13:04:04 -04:00
Brad King c8795101a4 ENH: Skip 'SHELL = /bin/sh' in Makefiles on VMS
This shell does not exist on VMS, so we leave it out.
2009-06-10 13:03:37 -04:00
Brad King 516add4d58 ENH: On VMS use _dir and _tmp, not .dir and .tmp
The VMS posix path emulation does not handle multiple '.' characters in
file names in all cases.  This avoids adding extra '.'s to file and
directory names for target directories and generated files.
2009-06-10 13:03:11 -04:00
Brad King fc537f05ba ENH: Teach KWSys SystemTools about VMS paths
This teaches ConvertToUnixSlashes to convert VMS paths into posix-style
paths.  We also set the DECC$FILENAME_UNIX_ONLY feature so the process
always sees posix-style paths on disk.
2009-06-10 13:02:48 -04:00
Brad King b5394e9600 BUG: Avoid std::unique algorithm on VMS
The Compaq compiler's std::unique algorithm followed by deletion of the
extra elements seems to crash.  For now we'll accept the duplicate
dependencies on this platform.
2009-06-10 13:02:18 -04:00
Brad King 312ca9670f ENH: Teach KWSys Process basic VMS support
This achieves basic process execution on OpenVMS.  We use work-arounds
for different fork()/exec() behavior and a lack of select().

VMS emulates fork/exec using setjmp/longjmp to evaluate the child and
parent return cases from fork.  Therefore both must be invoked from the
same function.

Since select() works only for sockets we use the BeOS-style polling
implementation.  However, non-blocking reads on empty pipes cannot be
distinguished easily from the last read on a closed pipe.  Therefore we
identify end of data by an empty read after the child terminates.
2009-06-10 11:48:34 -04:00
Brad King 1eec4fe6ad BUG: Fix non-select process impl without timeout
This avoids use of an uninitialized value in the KWSys ProcessUNIX
polling implementation when no timeout is given.
2009-06-10 11:46:21 -04:00
Brad King 776e21d1c7 COMP: Avoid String.c inclusion by Compaq templates
The Compaq compiler (on VMS) includes 'String.c' in source files that
use the stl string while looking for template definitions.  This was the
true cause of double-inclusion of the 'kwsysPrivate.h' header.  We work
around the problem by conditionally compiling the entire source file on
a condition only true when really building the source.
2009-06-10 11:46:06 -04:00
Brad King 7a839be972 STYLE: Nightly Date Stamp 2009-06-10 00:01:34 -04:00
Bill Hoffman fc9e6c6e5c STYLE: suppress warnings for borland 2009-06-09 15:58:52 -04:00
Bill Hoffman 89b431e8ac STYLE: suppress warnings for borland 2009-06-09 15:44:46 -04:00
Bill Hoffman b81f09e341 STYLE: suppress warnings for borland 2009-06-09 15:18:51 -04:00
Brad King 0dc49a840e STYLE: Nightly Date Stamp 2009-06-09 00:01:08 -04:00
Brad King fc025061ca STYLE: Nightly Date Stamp 2009-06-08 00:01:02 -04:00
Brad King 4c6945630c STYLE: Nightly Date Stamp 2009-06-07 00:01:03 -04:00
Brad King 43cd8555cc STYLE: Nightly Date Stamp 2009-06-06 00:01:02 -04:00
Dave Partyka cbc1938ee3 COMP: Hopefully fix hashmap on VS6, Thanks Brad K! 2009-06-05 14:59:47 -04:00
Bill Hoffman 0de79d4b2d ENH: fix warning on borland 2009-06-05 13:17:01 -04:00
Bill Hoffman fdff8eb300 ENH: move PutEnv to SystemTools 2009-06-05 12:01:30 -04:00
Brad King d5f8020391 STYLE: Nightly Date Stamp 2009-06-05 00:01:04 -04:00
Brad King 36288f41b5 STYLE: Nightly Date Stamp 2009-06-04 00:01:03 -04:00
Brad King d2b108150f BUG: Recognize .so shared libraries on HP-UX
HP-UX uses both .sl and .so as extensions for shared libraries.  This
teaches CMake to recognize .so shared libraries so they are treated
properly during link dependency analysis.
2009-06-03 15:08:30 -04:00
Brad King 1d3320f126 STYLE: Nightly Date Stamp 2009-06-03 00:01:04 -04:00
Brad King a8893fd64a STYLE: Nightly Date Stamp 2009-06-02 00:01:10 -04:00
Brad King 0067c3eb80 STYLE: Nightly Date Stamp 2009-06-01 00:01:02 -04:00
Brad King a193331016 STYLE: Nightly Date Stamp 2009-05-31 00:01:07 -04:00
Brad King 3f6aa94161 STYLE: Nightly Date Stamp 2009-05-30 00:01:02 -04:00
Brad King 2222148ce1 STYLE: Nightly Date Stamp 2009-05-29 00:01:03 -04:00
Brad King 6fcaaf46c4 STYLE: Nightly Date Stamp 2009-05-28 00:01:02 -04:00
Bill Hoffman bd1e91a460 BUG: fix for bug #8153 add purify suppression file and fix output to not be one big line 2009-05-27 11:14:08 -04:00
Bill Hoffman ca68d116e0 ENH: fix for building with VS 2010 make/nmake 2009-05-27 11:10:43 -04:00
Brad King b745f4457e STYLE: Nightly Date Stamp 2009-05-27 00:01:06 -04:00
Brad King 143bbaa2a9 STYLE: Nightly Date Stamp 2009-05-26 00:01:07 -04:00
Brad King 23f918d303 STYLE: Nightly Date Stamp 2009-05-25 00:01:07 -04:00
Brad King f56890f0dc STYLE: Nightly Date Stamp 2009-05-24 00:01:32 -04:00
Brad King 378aeaad58 STYLE: Nightly Date Stamp 2009-05-23 00:01:06 -04:00
Brad King 8f9b3c49ed STYLE: Nightly Date Stamp 2009-05-22 00:01:03 -04:00
Brad King 814858de7b STYLE: Nightly Date Stamp 2009-05-21 00:01:18 -04:00
Bill Hoffman 5634ca02f4 ENH: make this work for older versions of OSX 2009-05-20 09:50:20 -04:00
Brad King da21a4c4fb STYLE: Nightly Date Stamp 2009-05-20 00:01:08 -04:00
Bill Hoffman bb7230cc96 ENH: revert back because it does not build on older macs for now 2009-05-19 21:50:19 -04:00
Bill Hoffman 46a20bbd4c ENH: remove warning 2009-05-19 16:56:47 -04:00
Bill Hoffman 4220e7c62c ENH: make this build on other machines besides the mac 2009-05-19 16:46:24 -04:00
Bill Hoffman ee3d395fde ENH: fix system info for mac 2009-05-19 16:35:57 -04:00
Bill Hoffman d3d33a3549 ENH: fix system info for mac 2009-05-19 16:35:13 -04:00
Bill Hoffman 9c2dcf4836 BUG: fix for #0009051 CMake does not pass CMAKE_OSX_SYSROOT and CMAKE_OSX_DEPLOYMENT_TARGET when running TRY_COMPILE 2009-05-19 11:25:28 -04:00
Brad King 831ca4f57c STYLE: Nightly Date Stamp 2009-05-19 00:01:14 -04:00
Alexander Neundorf 97516244f5 STYLE: fix docs: it must replace "find_path" instead of "FIND_PATH" with
"find_file", otherwise the docs talk about find_path() instead of find_file
(patch from  Michael Wild, #9047)

Alex
2009-05-18 15:27:33 -04:00
Brad King 55c4cbbae9 BUG: Parse more bzr xml output encodings
The BZR xml output plugin can use some encodings that are not recognized
by expat, which leads to "Error parsing bzr log xml: unknown encoding".
This works around the problem by giving expat a mapping, and adds a
test.  Patch from Tom Vercauteren.  See issue #6857.
2009-05-18 10:34:35 -04:00
Brad King a40bca5398 STYLE: Nightly Date Stamp 2009-05-18 00:01:08 -04:00
Brad King 1eaa47dc16 STYLE: Nightly Date Stamp 2009-05-17 00:01:02 -04:00
Brad King 97d2606fc1 STYLE: Nightly Date Stamp 2009-05-16 00:01:02 -04:00
Brad King 2bb13f2ca5 ENH: Remove CTest public.kitware.com drop default
Previously CTest would drop dashboard submissions at public.kitware.com
on the PublicDashboard project if there was no configuration.  The
server no longer supports forwarding to cdash.org, so there is no point
in this default.  Furthermore, there should be no default at all because
it could leak information about proprietary projects that are not
configured correctly.
2009-05-15 15:39:43 -04:00
Brad King 6d357676d9 STYLE: Nightly Date Stamp 2009-05-15 00:01:03 -04:00
Brad King a524e07152 ENH: Teach CTest to handle Bazaar repositories
This creates cmCTestBZR to drive CTest Update handling on bzr-based work
trees.  Currently we always update to the head of the remote tracking
branch (bzr pull), so the nightly start time is ignored for Nightly
builds.  A later change will address this.  Patch from Tom Vercauteren.
See issue #6857.
2009-05-14 16:13:52 -04:00
Brad King ee43a12178 ENH: Make CMAKE_<LANG>_SIZEOF_DATA_PTR public
The variable was previously documented for internal-use only.  This
officially documents it for general use by projects.
2009-05-14 09:27:32 -04:00
Brad King 248bdadd94 STYLE: Simplify and document VMS workarounds
The kwsysPrivate header double-inclusion check hits a false positive on
VMS for an undetermined reason.  This simplifies the workaround and
documents it.
2009-05-14 09:27:02 -04:00
Brad King 317b3a0ef8 STYLE: Remove trailing whitespace 2009-05-14 09:26:47 -04:00
Brad King 66a92954ee STYLE: Nightly Date Stamp 2009-05-14 00:01:04 -04:00
Bill Hoffman 0a7ec1a4b6 BUG: fix for #9014, FATAL_ERROR not ending loops 2009-05-13 11:08:29 -04:00
Brad King cecfce23a5 BUG: Fix removal of read-only directories
Read-only directories must be given write permission before we can
remove files and subdirectories from them.
2009-05-13 10:30:33 -04:00
Brad King 39c7fc97f0 STYLE: Nightly Date Stamp 2009-05-13 00:01:07 -04:00
Brad King b3269b089c STYLE: Nightly Date Stamp 2009-05-12 00:01:09 -04:00
Brad King a045bd4c0d COMP: Avoid operator precedence warning
GCC warns that parens should be used for nested and/or operators.
2009-05-11 13:58:19 -04:00
Brad King 80c66c05e7 STYLE: Nightly Date Stamp 2009-05-11 00:01:05 -04:00
Alexander Neundorf ad194e659f STYLE: cacheStart is used only locally in the if-branch
Alex
2009-05-10 16:07:34 -04:00
Alexander Neundorf 2ab4e7df81 BUG: don't report changed compiler variables if the path to the compiler
differs only e.g. a double slash somewhere instead only one slash as
directory separator (#8890)

Alex
2009-05-10 05:29:10 -04:00
Brad King f114e68f7a STYLE: Nightly Date Stamp 2009-05-10 00:01:17 -04:00
Alexander Neundorf fdd93f0cbe STYLE: document CMAKE_INCLUDE_CURRENT_DIR
Alex
2009-05-09 17:25:21 -04:00
Brad King 9a3c5338fb STYLE: Nightly Date Stamp 2009-05-09 00:01:06 -04:00
Brad King 55e91d3e46 STYLE: Nightly Date Stamp 2009-05-08 00:01:02 -04:00
Bill Hoffman d2bfac93f3 ENH: add docs for command line ctest 2009-05-07 18:22:54 -04:00
Bill Hoffman 00c253847a BUG: 8898 fix date in ctest nightly time 2009-05-07 18:20:42 -04:00
Brad King 028c52841a STYLE: Nightly Date Stamp 2009-05-07 00:01:13 -04:00
Brad King c2cb8a213c STYLE: Nightly Date Stamp 2009-05-06 00:01:05 -04:00
Brad King e9f2c6f7d7 STYLE: Nightly Date Stamp 2009-05-05 00:01:03 -04:00
Brad King 1ce218afd3 STYLE: Nightly Date Stamp 2009-05-04 00:01:03 -04:00
Brad King 783a6cadc8 STYLE: Nightly Date Stamp 2009-05-03 00:01:03 -04:00
Brad King d8b1717492 STYLE: Nightly Date Stamp 2009-05-02 00:01:04 -04:00
Brad King 392b38cef7 ENH: Remove cmTarget internal type arguments
Internally cmTarget was passing the target type in several name
computation signatures to support computation of both shared and static
library names for one target.  We no longer need to compute both names,
so this change simplifies the internals by using the GetType method and
dropping the type from method signatures.
2009-05-01 10:39:44 -04:00
Brad King bcb9a479db ENH: Remove cmTarget::GetExecutableCleanNames
This method was redundant with GetExecutableNames.
2009-05-01 10:39:28 -04:00
Brad King 430cc2b4b7 ENH: Always imply CLEAN_DIRECT_OUTPUT target prop
This property was left from before CMake always linked using full path
library names for targets it builds.  In order to safely link with
"-lfoo" we needed to avoid having both shared and static libraries in
the build tree for targets that switch on BUILD_SHARED_LIBS.  This meant
cleaning both shared and static names before creating the library, which
led to the creation of CLEAN_DIRECT_OUTPUT to disable the behavior.

Now that we always link with a full path we do not need to clean old
library names left from an alternate setting of BUILD_SHARED_LIBS.  This
change removes the CLEAN_DIRECT_OUTPUT property and instead uses its
behavior always.  It removes some complexity from cmTarget internally.
2009-05-01 10:38:35 -04:00
Brad King 2740db5ede ENH: Allow more specification of target file names
This creates target properties ARCHIVE_OUTPUT_NAME, LIBRARY_OUTPUT_NAME,
and RUNTIME_OUTPUT_NAME, and per-configuration equivalent properties
ARCHIVE_OUTPUT_NAME_<CONFIG>, LIBRARY_OUTPUT_NAME_<CONFIG>, and
RUNTIME_OUTPUT_NAME_<CONFIG>.  They allow specification of target output
file names on a per-type, per-configuration basis.  For example, a .dll
and its .lib import library may have different base names.

For consistency and to avoid ambiguity, the old <CONFIG>_OUTPUT_NAME
property is now also available as OUTPUT_NAME_<CONFIG>.

See issue #8920.
2009-05-01 09:45:43 -04:00
Brad King 617eb981d4 ENH: Refactor target output file type computation
This creates method cmTarget::GetOutputTargetType to compute the output
file type 'ARCHIVE', 'LIBRARY', or 'RUNTIME' from the platform and
target type.  It factors out logic from the target output directory
computation code for later re-use.
2009-05-01 09:45:19 -04:00
Brad King 5f7ea11f97 STYLE: Nightly Date Stamp 2009-05-01 00:01:02 -04:00
Brad King 7159bacdd9 STYLE: Nightly Date Stamp 2009-04-30 00:01:10 -04:00
Brad King 01c669e643 COMP: Avoid unused arg warnings in cmFileCommand
The default cmFileCopier::ReportCopy implementation is empty, so we
should leave out the argument names.
2009-04-29 14:50:28 -04:00
Brad King 7b527a6585 BUG: Remove '-d<now' from 'cvs log' commands
When CTest runs 'cvs log' to get revision information for updated files,
we were passing '-d<now'.  The option seems useless since revisions
cannot be created in the future, and can lose revisions if the client
machine clock is behind the server.
2009-04-29 14:20:40 -04:00
Brad King d91c5b1a07 COMP: Fix nested class member access
Nested classes have no special access to other members of their
enclosing class.  In cmFileCopier the nested class MatchRule must use
MatchProperties, so we grant friendship to it.
2009-04-29 13:57:19 -04:00
Brad King 222abaad5b COMP: Fix non-virtual destructor warning
This gives cmFileCopier a virtual destructor since it has virtual
methods.  While we never actually delete through a base pointer (or
dynamically at all), the compiler doesn't know and warns anyway.
2009-04-29 13:33:05 -04:00
Brad King c58ca24286 ENH: Create file(COPY) command signature
The file(INSTALL) command has long been undocumented and used only to
implement install() scripts.  We now document it and provide a similar
file(COPY) signature which is useful in general-purpose scripts.  It
provides the capabilities of install(DIRECTORY) and install(FILES) but
operates immediately instead of contributing to install scripts.
2009-04-29 13:13:29 -04:00
Brad King b6cb117346 ENH: Teach file(INSTALL) relative paths
This teaches the undocumented file(INSTALL) command to deal with
relative paths.  Relative input file paths are evaluated with respect to
the current source directory.  Relative output file paths are evaluated
with respect to the current binary directory.

While this command is currently used only in cmake_install.cmake scripts
(in -P script mode), this cleans up its interface in preparation for a
documented signature.
2009-04-29 13:13:08 -04:00
Brad King 6aaa7d45bf ENH: Refactor file(INSTALL) implementation
The undocumented file(INSTALL) is implemented by a cmFileInstaller class
inside cmFileCommand.  This refactors the class to split out code not
specific to installation into a cmFileCopier base class.
2009-04-29 13:12:58 -04:00
Brad King 97263b6cdd ENH: Send all file installations through one path
This creates a single cmFileInstaller method to dispatch installation of
symlinks, directories, and files.  The change removes duplicate tests of
input file type and makes the decision more consistent.
2009-04-29 08:47:13 -04:00
Brad King bc6eec18dc ENH: Better error on file perm or time failure
This improves the error message produced during installation when CMake
cannot set file modification time or permissions.
2009-04-29 08:47:04 -04:00
Brad King f180a834bf BUG: Error when install dir cannot be created
This teaches the undocumented file(INSTALL) command to report an error
when it cannot create the destination directory.
2009-04-29 08:46:56 -04:00
Brad King dc0621ba5a ENH: Simplify CMAKE_INSTALL_ALWAYS implementation
This simplifies cmFileInstaller internally by storing the 'always' mark
as an instance variable instead of passing it through all method
signatures.
2009-04-29 08:46:36 -04:00
Brad King 8d685184f3 ENH: Simplify construction of cmFileInstaller
This cleans up the cmFileInstaller constructor signature.
2009-04-29 08:46:21 -04:00
Brad King 77f85db5d7 STYLE: Nightly Date Stamp 2009-04-29 00:01:04 -04:00
Brad King 03d8b8ad57 BUG: Fix required permissions check again
While copying a directory the destination must have owner rwx
permissions.  This corrects our check, this time with correct operator
precedence using parenthesis.
2009-04-28 08:19:44 -04:00
Brad King 9384790d04 STYLE: Nightly Date Stamp 2009-04-28 00:01:03 -04:00
Brad King da993b64ce ENH: Remove unused PROPERTIES from file(INSTALL)
The undocumented file(INSTALL) command used to support a PROPERTIES
option, but no install code still uses it.  This removes the option.
2009-04-27 13:20:57 -04:00
Brad King 0178268901 BUG: Fix required permissions check for dir copy
While copying a directory the destination must have owner rwx
permissions.  This corrects our check.
2009-04-27 13:20:47 -04:00
Brad King e128583cb4 STYLE: Nightly Date Stamp 2009-04-27 00:01:02 -04:00
Brad King 861cd084f3 STYLE: Nightly Date Stamp 2009-04-26 00:01:03 -04:00
Brad King 79fb689e2e STYLE: Nightly Date Stamp 2009-04-25 00:01:05 -04:00
Bill Hoffman ae95f656f3 ENH: vms fix 2009-04-24 11:44:42 -04:00
Brad King 708d1cf1ee ENH: Support more preprocessor values in VS6
Previously we rejected all preprocessor definition values containing
spaces for the VS6 IDE generator.  In fact VS6 does support spaces but
not in combination with '"', '$', or ';', and only if we use the sytnax
'-DNAME="value with spaces"' instead of '-D"NAME=value with spaces"'.
Now we support all definition values that do not have one of these
invalid pairs.  See issue #8779.
2009-04-24 11:18:06 -04:00
Brad King 70b2f59c3f STYLE: Nightly Date Stamp 2009-04-24 00:01:04 -04:00
Bill Hoffman 7fc99c94d4 ENH: check in almost building VMS stuff with VMSBuild directory since the bootstrap script will not work on VMS 2009-04-23 11:09:47 -04:00
Brad King f353df7ffc STYLE: Nightly Date Stamp 2009-04-23 00:01:05 -04:00
Brad King e8e3080ebe COMP: Fix class reference for HP aCC 2009-04-22 10:22:25 -04:00
Brad King 9c17cbeb44 ENH: Teach CTest to handle git repositories
This creates cmCTestGIT to drive CTest Update handling on git-based work
trees.  Currently we always update to the head of the remote tracking
branch (git pull), so the nightly start time is ignored for Nightly
builds.  A later change will address this.  See issue #6994.
2009-04-22 09:19:06 -04:00
Brad King d25289ad92 ENH: Factor global-VC parts out of cmCTestSVN
This factors parts of the svn update implementation that are useful for
any globally-versioning vcs tool into cmCTestGlobalVC.  It will allow
the code to be shared among the support classes for most vcs tools.
2009-04-22 09:18:19 -04:00
Brad King efe07c4e0a COMP: Fix calls to superclass methods for Borland
The superclass of cmSystemTools is cmsys::SystemTools, which should be
referencable by just SystemTools from inside the class.  Borland C++
does not seem to support this, so we use cmSystemTools instead.
2009-04-22 09:11:06 -04:00
Brad King b1005a0e5e STYLE: Nightly Date Stamp 2009-04-22 00:01:11 -04:00
Alexander Neundorf ce6849f057 ENH: also recognize rxvt-256color as a color terminal (#8913, patch from Deewiant)
Alex
2009-04-21 18:23:02 -04:00
Brad King 13e454f8d3 BUG: Avoid infinite loop at directory tree root
The system tools GetParentDirectory method no longer removes the root
path component.  This fixes cmSystemTools::FileExistsInParentDirectories
to not infinitely loop at when GetParentDirectory stops at the root.
2009-04-21 11:37:09 -04:00
Brad King 714d2fc04b ENH: Remove obscure method from KWSys SystemTools
This removes SystemTools::FileExistsInParentDirectories from KWSys since
it is a special-purpose method that is not generally useful.
2009-04-21 11:36:59 -04:00
Brad King 7bb8678fc6 STYLE: Nightly Date Stamp 2009-04-21 00:01:06 -04:00
Brad King 20f4fdee33 BUG: Fix SystemTools::IsSubDirectory on bad input
When SystemTools::GetParentDirectory was fixed to never remove the root
path component from a full path we violated an assumption made by
IsSubDirectory that eventually GetParentDirectory returns an empty
string.  This led to an infinite loop if the potential parent directory
is empty, so we explicitly avoid that case.
2009-04-20 08:42:05 -04:00
Brad King 102697e5d0 STYLE: Nightly Date Stamp 2009-04-20 00:01:09 -04:00
Alexander Neundorf bc9703b695 STYLE: fix typos in the docs
Alex
2009-04-19 12:48:30 -04:00
Brad King 289ce0b80a STYLE: Nightly Date Stamp 2009-04-19 00:01:03 -04:00
Brad King 7929462a39 STYLE: Nightly Date Stamp 2009-04-18 00:01:14 -04:00
Bill Hoffman be7824c369 ENH: make sure CTEST_CURL_OPTIONS work from script mode 2009-04-17 14:44:01 -04:00
Brad King 3e0db72aaa STYLE: Nightly Date Stamp 2009-04-17 00:01:04 -04:00
Clinton Stimpson a17bf54af7 BUG: Path lengths in combo box for binary directory was forcing a minimum size
on the main window.  Fixed that.
2009-04-16 12:25:15 -04:00
Brad King 0d5b456c29 STYLE: Nightly Date Stamp 2009-04-16 00:01:10 -04:00
Brad King 3824f54c17 BUG: Replace brittle GetParentDirectory impl
The previous change to this method broke cases where the input path does
not exist.  The SystemTools::GetParentDirectory method is redundant with
the more robust SystemTools::GetFilenamePath.  This replaces its
implementation to just call GetFilenamePath.
2009-04-15 13:03:33 -04:00
Brad King 1ed7f381f1 COMP: Fix BOOL to bool conversion warning
The cmSystemTools::RenameFile method returns type bool, but its
implementation on Windows returns the result of an API function that
returns BOOL.  This change avoids the compiler warning.
2009-04-15 11:00:03 -04:00
Yumin Yuan f3035ff78d BUG: SystemTools::GetParentDirectory() will crash if "/" is passed in as argement. Valid check is added to make sure the input argment exists, and if "/" is passed in, empty string will be returned. 2009-04-15 10:45:29 -04:00
Brad King aba3d56c92 ENH: Create command line api "cmake -E rename"
This extends the "-E" command line mode with a "rename old new"
signature.  The new command atomically renames a file or directory
within a single disk volume.
2009-04-15 09:58:33 -04:00
Brad King 0d92350bb6 ENH: Create file(RENAME) command mode
This creates command "file(RENAME <oldname> <newname>)" to rename a file
or directory within a single disk volume.
2009-04-15 09:58:13 -04:00
Brad King d3363beb2f ENH: Move RenameFile to cmSystemTools
This moves the cmGeneratedFileStream::RenameFile method implementation
into cmSystemTools.  It works only within a single filesystem volume,
but is atomic when the operating system permits.
2009-04-15 09:57:57 -04:00
Brad King 6218a1a786 STYLE: Nightly Date Stamp 2009-04-15 00:01:09 -04:00
Brad King 19d11e2a1f ENH: Skip KWSys name maros in case of identity
All KWSys C symbol names begin with the KWSYS_NAMESPACE defined at
configuration time.  For ease of editing we write canonical names with
the prefix 'kwsys' and use macros to map them to the configured prefix
at preprocessing time.  In the case of standalone KWSys, the prefix is
'kwsys', so the macros were previously defined to their own names.

We now skip defining the macros in the identity case so that the final
symbol names are never themselves macros.  This will allow the symbols
to be further transformed behind the scenes to help linkers in special
cases on some platforms.
2009-04-14 09:35:56 -04:00
Brad King 286a136adb STYLE: Nightly Date Stamp 2009-04-14 00:01:04 -04:00
Brad King 172d07fca9 STYLE: Nightly Date Stamp 2009-04-13 00:01:15 -04:00
Brad King 9a884dd3f4 STYLE: Nightly Date Stamp 2009-04-12 00:01:04 -04:00
Bill Hoffman 682e15184a ENH: remove warning and improve message 2009-04-11 09:29:27 -04:00
Brad King c723625f6a STYLE: Nightly Date Stamp 2009-04-11 00:01:04 -04:00
Bill Hoffman d75513c9fa ENH: remove cerr call 2009-04-10 13:00:27 -04:00
Bill Hoffman 4ec691a9d1 ENH: add ability to control ssl cert checking 2009-04-10 12:15:03 -04:00
Brad King 3c0e239346 STYLE: Nightly Date Stamp 2009-04-10 00:01:09 -04:00
Brad King dfd95e100d STYLE: Nightly Date Stamp 2009-04-09 00:01:02 -04:00
Brad King d05e98f8d7 ENH: Allow IMPORTED_IMPLIB w/o IMPORTED_LOCATION
Linking to a Windows shared library (.dll) requires only its import
library (.lib).  This teaches CMake to recognize SHARED IMPORTED library
targets that set only IMPORTED_IMPLIB and not IMPORTED_LOCATION.
2009-04-08 16:29:04 -04:00
Brad King 5886d10334 BUG: Fix imported target config guess
When an IMPORTED target provides no generic configuration and no match
for a desired configuration then we choose any available configuration.
This change corrects the choice when the first listed available
configuration does not really have a location.
2009-04-08 16:28:55 -04:00
Brad King d72743928e STYLE: Nightly Date Stamp 2009-04-08 00:01:05 -04:00
David Cole f6828c391d BUG: Fix invalid array access discovered during investigation of issue #7832. 2009-04-07 15:13:07 -04:00
Brad King 36e9a6ed81 STYLE: Nightly Date Stamp 2009-04-07 00:01:06 -04:00
Brad King ae284cc5c8 BUG: Fix parsing of linux 2.6 /proc/meminfo format
Previously KWSys SystemInformation parsed this file assuming a strict
order and set of fields, but the order is not reliable.  This
generalizes the implementation to support any order and extra fields.
2009-04-06 14:55:54 -04:00
Brad King 85bffd3eeb BUG: Lookup transitive link deps in depender scope
The transitive link dependencies of a linked target must be followed in
its own scope, not in the scope of the original target that depends on
it.  This is necessary since imported targets do not have global scope.
See issue #8843.
2009-04-06 11:10:37 -04:00
Mathieu Malaterre c9949f97a7 BUG: comment out faulty seekp which make kwsys::*stringstream fails on platform with no std::*stringstream implementation 2009-04-06 03:39:42 -04:00
Brad King 7855f988d4 STYLE: Nightly Date Stamp 2009-04-06 00:01:08 -04:00
Mathieu Malaterre 1ab71112c2 ENH: hopefully seekp is the call making kwsys::stringstream behaves oddly on sunos 2009-04-05 06:55:52 -04:00
Brad King 434bd99dc7 STYLE: Nightly Date Stamp 2009-04-05 00:01:12 -04:00
Brad King 4a8d3019cd STYLE: Nightly Date Stamp 2009-04-04 00:01:08 -04:00
David Cole 42c033ccd6 BUG: Fix issue #8759 - add support for setting dmg volume name and compression type by CPack variables. Also add custom .DS_Store and background image support. Thanks to Mike Arthur for the patches. 2009-04-03 13:12:53 -04:00
David Cole 601764feed BUG: Fix documentation deficiency noted in issue #7885. Thanks to Philip Lowman for the gist of the patch. 2009-04-03 11:41:33 -04:00
Brad King 17ea632e93 STYLE: Nightly Date Stamp 2009-04-03 00:01:04 -04:00
Mathieu Malaterre 31c4a269b0 ENH: trying to reproduce issue on sunos 2009-04-02 06:12:53 -04:00
Brad King fd7656f7c3 STYLE: Nightly Date Stamp 2009-04-02 00:01:04 -04:00
Brad King 5982224a73 ENH: Clarify VERBATIM option documentation
The previous wording of the VERBATIM option documentation in the
add_custom_command and add_custom_target commands was confusing.  It
could be interpreted as the opposite of what the option means (no
escaping instead of escaping).  This clarifies the documentation to
explicitly state that it escapes.
2009-04-01 10:31:41 -04:00
Brad King 475e1d78cb STYLE: Nightly Date Stamp 2009-04-01 00:01:08 -04:00
Bill Hoffman 4c3718d7b6 ENH: use 0 not FALSE 2009-03-31 15:30:36 -04:00
Bill Hoffman 1f0835b5eb ENH: add submit via cp mode 2009-03-31 15:24:50 -04:00
Brad King 6f4554982d STYLE: Nightly Date Stamp 2009-03-31 00:01:04 -04:00
Clinton Stimpson 79a3644e80 BUG: Fix inconsistency with lowercase drive letters on Windows. 2009-03-30 16:34:28 -04:00
Clinton Stimpson 39f2d825fc ENH: Add version info to about dialog, including Qt version. 2009-03-30 10:56:43 -04:00
Mathieu Malaterre 3a34b35dec COMP: missing string.h header for strlen. 2009-03-30 08:27:44 -04:00
Brad King 31d03e8399 ENH: Document scope of add_custom_command outputs
This explicitly states the scope of add_custom_command rules in
the documentation of add_custom_command and add_custom_target.
See issue #8815.
2009-03-30 08:27:28 -04:00
Mathieu Malaterre 318bfab8c1 ENH: remote debugging of sunos 2009-03-30 04:10:37 -04:00
Brad King 1bd0b15145 STYLE: Nightly Date Stamp 2009-03-30 00:01:04 -04:00
Brad King 3489950746 STYLE: Nightly Date Stamp 2009-03-29 00:01:05 -04:00
Bill Hoffman fb24a4c881 STYLE: fix line lenght 2009-03-28 13:02:29 -04:00
Brad King 7e8ad26e5a STYLE: Nightly Date Stamp 2009-03-28 00:01:04 -04:00
Bill Hoffman 17f327b5da BUG: fix for #8686 add some more compiler flags 2009-03-27 12:33:17 -04:00
Bill Hoffman a9bda84ba8 ENH: LIBPATH is not required for cl to work 2009-03-27 11:18:58 -04:00
Brad King 27598a53c9 STYLE: Nightly Date Stamp 2009-03-27 00:01:05 -04:00
Clinton Stimpson ff09eacf5c BUG: Don't return checkable flag for item when in the middle of configure/generate. 2009-03-26 11:42:37 -04:00
Brad King 9b41f200ad STYLE: Nightly Date Stamp 2009-03-26 00:01:07 -04:00
Brad King 5f4686920d BUG: Fix CMAKE_CURRENT_LIST_FILE in macros
The value of CMAKE_CURRENT_LIST_FILE is supposed to be the list file
currently being executed.  Before macros were introduced this was always
the context of the argument referencing the variable.

Our original implementation of macros replaced the context of command
arguments inside the macro with that of the arguments of the calling
context.  This worked recursively, but only worked when macros had at
least one argument.  Furthermore, it caused parsing errors of the
arguments to report the wrong location (calling context instead of line
with error).

The commit "Improve context for errors in macros" fixed the latter bug
by keeping the lexical context of command arguments in macros.  It broke
evaluation of CMAKE_CURRENT_LIST_FILE because the calling context was no
longer preserved in the argument referencing the variable.  However,
since our list file processing now maintains the proper value of
CMAKE_CURRENT_LIST_FILE with dynamic scope we no longer need the context
of the argument and can just evaluate the variable normally.
2009-03-25 10:37:04 -04:00
Brad King 5efdefbc27 STYLE: Nightly Date Stamp 2009-03-25 00:01:06 -04:00
Brad King db4390ea7c STYLE: Nightly Date Stamp 2009-03-24 00:01:03 -04:00
Brad King 4085454658 ENH: Support preprocessor def values in VS6
The add_definitions() command and COMPILE_DEFINITIONS dir/tgt/src
properties support preprocessor definitions with values.  Previously
values were not supported in the VS6 generator even though the native
tool supports them.  It is only values with spaces that VS6 does not
support.  This enables support and instead complains only for values
with spaces.  See issue #8779.
2009-03-23 14:48:09 -04:00
Brad King 10a91d8467 STYLE: Nightly Date Stamp 2009-03-23 00:01:35 -04:00
Brad King acabe5debb STYLE: Nightly Date Stamp 2009-03-22 00:01:04 -04:00
Brad King 8f5a4c431c STYLE: Nightly Date Stamp 2009-03-21 00:01:03 -04:00
Brad King d66436e2e4 BUG: Fix return value of ctest_update
The CTest version control refactoring broke the value returned for the
ctest_update command's RETURN_VALUE argument.  The value is supposed to
be the number of files updated, but the refactoring accidentally made it
the number of locally modified files after the update.
2009-03-20 14:19:56 -04:00
Brad King 1ce28d1db8 STYLE: Nightly Date Stamp 2009-03-20 00:01:05 -04:00
Francois Bertel ad4a2fd697 COMP:Fixed warnings with gcc 4.3.2. 2009-03-19 22:48:05 -04:00
Francois Bertel 1a13469a26 COMP:Try to fix error on HP. 2009-03-19 11:48:50 -04:00
Brad King 6d02ee34c9 ENH: Mention CMAKE_* variables in RPATH properties
The RPATH target properties are initialized by CMAKE_<prop> variables at
target creation time.  This notes the feature in the property
documentation.  It is already noted in the variable documentation.
2009-03-19 10:53:51 -04:00
Francois Bertel c8f9ee6b74 COMP:try to fix error on qnx-V3.3.5-gcc_ntox86. 2009-03-19 10:03:36 -04:00
Francois Bertel a638a2f8a0 COMP:Fixed warnings. 2009-03-19 09:20:40 -04:00
Francois Bertel 675b76d931 COMP:Fixed VS 64-bit warning C4267 line 432 of RegularExpression.cxx 2009-03-19 09:09:33 -04:00
Brad King b74c0a03e5 STYLE: Nightly Date Stamp 2009-03-19 00:01:07 -04:00
Francois Bertel 431c456cf5 COMP:Fixed warnings. 2009-03-18 08:50:55 -04:00
Francois Bertel 1fb58e3bf4 STYLE:Empty commit just add information about rev 1.15: the reason is that long is 64-bit on gcc on Linux because it uses the LP64 data model whereas long is 32-bit on VS 64-bit because it uses the LLP64 model (ref: http://en.wikipedia.org/wiki/64-bit#64-bit_data_models ) 2009-03-18 07:57:28 -04:00
Francois Bertel 489df7836e COMP:Fix warning on VS 64bit. Don't why gcc 4.3.2 didn't catch this one on a 64bit machine with -Wconversion on. 2009-03-18 07:32:12 -04:00
Brad King 4066abc7f3 STYLE: Nightly Date Stamp 2009-03-18 00:01:03 -04:00
Brad King b59d0a4d13 BUG: Allow more shell ops in custom commands
This extends the set of common shell operators to include "||", "&&",
"1>", and "2>".  See issue #6868.
2009-03-17 15:11:33 -04:00
Brad King ecb0f3af55 ENH: New foreach(<var> IN ...) mode
This creates a new mode of the foreach command which allows precise
iteration even over empty elements.  This mode may be safely extended
with more keyword arguments in the future.  The cost now is possibly
breaking scripts that iterate over a list of items beginning with 'IN',
but there is no other way to extend the syntax in a readable way.
2009-03-17 15:10:15 -04:00
Francois Bertel ee00616289 COMP:Fixed warnings. 2009-03-17 10:48:24 -04:00
Brad King 94853b493a STYLE: Nightly Date Stamp 2009-03-17 00:01:07 -04:00
Francois Bertel 257937f2bd COMP:Try to fix compile error with qnx gcc. 2009-03-16 17:38:17 -04:00
Francois Bertel d0b32b42a1 COMP:Fixed gcc 4.3.2 warning with -O1 and above: ignoring return value of read'), declared with attribute warn_unused_result 2009-03-16 17:13:14 -04:00
Brad King 493f88ce55 ENH: Allow projects to disable per-rule echo lines
This creates global property RULE_MESSAGES which can be set to disbale
per-rule progress and action reporting.  On Windows, these reports may
cause a noticable delay due to the cost of starting extra processes.
This feature will allow scripted builds to avoid the cost since they do
not need detailed information anyway.  This replaces the RULE_PROGRESS
property created earlier as it is more complete.  See issue #8726.
2009-03-16 16:55:58 -04:00
Brad King 49dec94f54 STYLE: Separate unrelated logic
This separates unrelated uses of a library-type switch into separate
switches.  An upcoming commit will conditionally enter one of the
switches.
2009-03-16 16:55:53 -04:00
Brad King 2f651c2e59 ENH: Allow projects to disable per-rule progress
This creates global property RULE_PROGRESS which can be set to disbale
per-rule progress reporting.  On Windows, progress reports may cause a
noticable delay due to the cost of starting an extra process.  This
feature will allow scripted builds to avoid the cost since they do not
need detailed progress anyway.  See issue #8726.
2009-03-16 16:22:19 -04:00
Brad King 741ae600c4 ENH: Factor out makefile progress rule commands
This factors duplicate progress rule code into a common method.
2009-03-16 16:22:13 -04:00
Francois Bertel 7b9b56d80e COMP:Fixed warnings. 2009-03-16 15:02:25 -04:00
Brad King 921f3a1ac2 BUG: Do not automatically set HEADER_FILE_ONLY
Long ago the native build system generators needed HEADER_FILE_ONLY to
be set on header files to stop them from building.  The modern
generators correctly handle headers without the help of this property.
This removes automatic setting of the property so that it can be used
reliably as an indicator of project author intention.  It fixes VS IDE
project files to show header files normally instead of excluded (broken
by the fix for issue #7845).
2009-03-16 14:30:24 -04:00
Brad King 147d6f3101 ENH: Remove unused code from cmMakeDepend
This class is the old-style dependency scanner.  It is needed only to
implement the output_required_files command.  This change removes some
code not needed for that purpose, including a reference to the
HEADER_FILE_ONLY property.
2009-03-16 14:30:19 -04:00
Brad King 9862f383d0 ENH: Add NAME mode to ADD_TEST command
This creates command mode add_test(NAME ...).  This signature is
extensible with more keyword arguments later.  The main purpose is to
enable automatic replacement of target names with built target file
locations.  A side effect of this feature is support for tests that only
run under specific configurations.
2009-03-16 10:51:30 -04:00
Brad King 606e6ff9cd ENH: Refactor storage of test command lines
We used to separate the command executable from its argument vector.
It is simpler to just store the whole command line in one vector.
2009-03-16 10:42:40 -04:00
Brad King 66d69f864a ENH: Refactor generation of CTestTestfile content
This moves code which generates ADD_TEST and SET_TESTS_PROPERTIES calls
into CTestTestfile.cmake files out of cmLocalGenerator and into a
cmTestGenerator class.  This will allow more advanced generation without
cluttering cmLocalGenerator.  The cmTestGenerator class derives from
cmScriptGenerator to get support for per-configuration script
generation (not yet enabled).
2009-03-16 10:40:46 -04:00
Brad King e67f5138b8 ENH: Refactor cmInstallGenerator for re-use
A new cmScriptGenerator base class factors out the non-install-specific
part of cmInstallGenerator.  This will be useful for other generators
that want per-configuration functionality.
2009-03-16 10:39:56 -04:00
Brad King e30835345a STYLE: Nightly Date Stamp 2009-03-16 00:01:05 -04:00
Brad King fa325c1fdc STYLE: Nightly Date Stamp 2009-03-15 00:01:08 -04:00
Brad King e4eb90c875 STYLE: Nightly Date Stamp 2009-03-14 00:01:05 -04:00
Alexander Neundorf f40f867be6 ENH: don't enforce VERBOSE Makefiles, but set the env. var VERBOSE to 1 in
when make is executed from within Eclipse. This way when building from the
command line one can build also in non-verbose mode.

Alex
2009-03-13 17:04:57 -04:00
Alexander Neundorf cbb7a509e8 ENH: when using the Eclipse project generator, run gcc so that it tells us
its system include directories. These are catched in CMakeSystemSpecificInformation.cmake
(only with the Eclipse generator) and then written by the Eclipse generator
in the Eclipse project file. This way Eclipse can find the standard headers
(#7585)
Not sure CMakeSystemSpecificInformation.cmake is the best place to do this.

Alex
2009-03-13 16:52:58 -04:00
Alexander Neundorf 4a23e05237 STYLE: add line breaks to the documentation for CMAKE_MATCH_(0..9),
otherwise one might miss this information

Alex
2009-03-13 14:58:13 -04:00
Brad King 5cde305b99 BUG: Document internal cache property MODIFIED
All cmake-defined properties should be documented, even if they are
internal.  This fixes the DocTest when CMAKE_STRICT is enabled.
2009-03-13 10:53:53 -04:00
Brad King 5e49dc4346 BUG: Fix cache properties for CMAKE_STRICT build
All cmPropertyMap instances must have CMakeInstance set.  This teaches
cmCacheManager to set it on cache entries.
2009-03-13 10:53:47 -04:00
Brad King c6d0043e2a STYLE: Nightly Date Stamp 2009-03-13 00:01:06 -04:00
Alexander Neundorf 3fe6b3ce37 BUG: fix #8704, sometimes crash if include_directories() is called with a whitespace string
Alex
2009-03-12 19:24:27 -04:00
Alexander Neundorf 5174fbd390 STYLE: document NONE for disabling any languages, slightly change wording of
the rest of the documentation, so it is more similar to ENABLE_LANGUAGE() (#8718)

Alex
2009-03-12 18:43:17 -04:00
Bill Hoffman 0a65ee8d95 ENH: allow for https submission if ctest is built with a curl that supports it 2009-03-12 14:54:00 -04:00
Brad King d96e7e0e5a COMP: Do not use void returns
VS 6 does not support the C++ void returns feature.  This removes an
accidental use of it.
2009-03-12 13:11:48 -04:00
Clinton Stimpson c54f47635c ENH: Add support for showing combo box for choosing from a list of strings that a cache property can have. 2009-03-12 11:19:27 -04:00
Brad King dd7b48c9c3 ENH: Define STRINGS cache entry property
This property defines a list of values for a cache entry of type STRING.
A CMake GUI may optionally use a drop-down selection widget for the
entry instead of a generic text entry field.  We do not enforce that the
value of the entry match one of the strings listed.
2009-03-12 10:52:40 -04:00
Brad King 1b43bea91c ENH: Refactor cache entry writing and reading
This factors out duplicated code into reusable methods, thus simplifying
writing and reading of cache entry help strings, keys, values, and
properties.
2009-03-12 10:49:05 -04:00
Brad King 0460e31e67 STYLE: Nightly Date Stamp 2009-03-12 00:01:07 -04:00
Brad King 589b4265a6 BUG: Do not produce empty coverage log files
This moves the filtering of source files to before the production of
coverage log files in order to avoid producing a CoverageLog-*.xml file
for 100 filtered-out files.  The change greatly reduces the number of
submitted coverage files when using label filters.
2009-03-11 13:31:40 -04:00
Brad King 5bc17136a3 BUG: Do not carry over file list between coverage
When performing multiple ctest_coverage() commands in a single CTest
instance we need to clear the list of CoverageLog-*.xml files for
submission.  Otherwise if the current coverage run produces fewer log
files than the previous run CTest will attempt to submit non-existing
files.
2009-03-11 13:31:33 -04:00
Brad King f3e713ba65 BUG: Avoid duplicate CTest coverage submission
This teaches ctest_coverage() to remove any existing CoverageLog-*.xml
when it creates new coverage results.  Otherwise the next ctest_submit()
may submit old coverage log files which unnecessarily.
2009-03-11 12:03:47 -04:00
Brad King b4997c3020 STYLE: Nightly Date Stamp 2009-03-11 00:01:03 -04:00
Alexander Neundorf 5700deb16a ENH: only check for the existance of a header file if:
-the original file is a C/C++ implementation file
-the header file is not already part of the sources

Alex
2009-03-10 17:34:18 -04:00
Brad King 32258b44bc ENH: Document CACHE entry properties
This adds a property documentation section for CACHE properties.
We document the ADVANCED, HELPSTRING, TYPE, and VALUE properties.
2009-03-10 11:11:15 -04:00
Brad King e5e91d6179 ENH: Teach set/get_property about CACHE properties
This adds the CACHE option to set_property and get_property commands.
This allows full control over cache entry information, so advanced users
can tweak their project cache as desired.  The set_property command
allows only pre-defined CACHE properties to be set since others would
not persist anyway.
2009-03-10 11:10:59 -04:00
Brad King ca9fb4826f ENH: Use cmPropertyMap for cache properties
This re-implements cache entry property storage in cmCacheManager to use
cmPropertyMap so it can share the standard property implementation.
2009-03-10 11:10:42 -04:00
Brad King effd6d6e0b STYLE: Nightly Date Stamp 2009-03-10 00:01:05 -04:00
Brad King 21fc04efaf BUG: Fix get_property result for bad property
When a property does not exist we are supposed to return an empty value.
Previously if a property did not exist we just left the value of the
output variable unchanged.  This teaches CMake to remove the definition
of the output variable in this case.
2009-03-09 17:57:12 -04:00
Brad King 1d96c943e0 ENH: Efficiently filter CTest coverage by label
This teaches CTest to process coverage information only for object files
in targets containing labels of interest.  This change also improves
loading of global coverage information by globbing only in each target
support directory instead of the entire build tree.
2009-03-09 12:19:56 -04:00
Brad King a86e81c358 ENH: Generate a central list of target directories
This generalizes the previous CMakeFiles/LabelFiles.txt created at the
top of the build tree to a CMakeFiles/TargetDirectories.txt file.  It
lists the target support directories for all targets in the project.
Labels can still be loaded by looking for Labels.txt files in each
target directory.
2009-03-09 12:19:27 -04:00
Brad King b9323d2dd6 STYLE: Nightly Date Stamp 2009-03-09 00:01:04 -04:00
Alexander Neundorf 363c4e422d ENH: automatically add headers of implementation file to the codeblocks project file
Alex
2009-03-08 15:33:58 -04:00
Brad King 038827c5da STYLE: Nightly Date Stamp 2009-03-08 00:01:03 -05:00
Brad King 55760e9994 STYLE: Nightly Date Stamp 2009-03-07 00:01:04 -05:00
Brad King b04c37c700 BUG: Fix message(SEND_ERROR) to continue
During testing of the new message() signatures I mistakenly concluded
that SEND_ERROR stops processing.  The corresponding commit enforced
this wrong behavior.  This restores the correct behavior and fixes the
documentation accordingly.
2009-03-06 12:06:43 -05:00
Brad King ca3b93d9c6 ENH: Teach message() how to display warnings
This adds message(WARNING) and message(AUTHOR_WARNING) command modes and
fully documents the command behavior in all modes.
2009-03-06 10:04:06 -05:00
Brad King 62702551db BUG: Fix man-page preformatted text paragraphing
Man page preformatted text needs an extra newline after the ending
marker to create a paragraph break.  This bug was introduced by the
patch from issue #7797 to place explicit ".nf" and ".fi" markers around
preformatted blocks.
2009-03-06 10:01:14 -05:00
Brad King 2123b432d9 ENH: Teach file(REMOVE) how to use relative paths
This teaches the command to interpret relative paths with respect to the
location of the invoking CMakeLists.txt file.  The convention is already
used by most commands and won't change the behavior in script mode.
2009-03-06 09:14:57 -05:00
Brad King 73bea67fd3 STYLE: Nightly Date Stamp 2009-03-06 00:01:03 -05:00
Brad King 98c51ff6dc ENH: Overhaul CMake version numbering
This moves the version numbers into an isolated configured header so
that not all of CMake needs to rebuild when the version changes.

Previously we had spaces, dashes and/or the word 'patch' randomly chosen
before the patch number.  Now we always report version numbers in the
traditional format "<major>.<minor>.<patch>[-rc<rc>]".

We still use odd minor numbers for development versions.  Now we also
use the CCYYMMDD date as the patch number of development versions, thus
allowing tests for exact CMake versions.
2009-03-05 15:17:07 -05:00
Brad King 83f39ba41b STYLE: Remove unused cmake::CacheVersionMatches
This remove the method completely since nothing uses it.
2009-03-05 13:57:10 -05:00
Brad King dcd1c5cd8a BUG: Initialize ctest_coverage command ivar
This initializes the LabelsMentioned ivar in cmCTestCoverageCommand.
2009-03-05 10:17:42 -05:00
Brad King 46c3541392 STYLE: Nightly Date Stamp 2009-03-05 00:01:04 -05:00
Brad King 170febac52 ENH: Cleanup cmake --build interface.
This cleans up the 'cmake --build' command-line interface:
  - Rename --clean to --clean-first to better describe it.
  - Replace --extra-options with a -- separator to simplify passing of
    multiple native build tool options.
  - Document the options in the main CMake man page description of the
    --build option, and shares this with the usage message.
  - Require --build to be the first argument when present.
  - Move implementation into cmakemain where it belongs.
2009-03-04 15:39:27 -05:00
Brad King d35651fb6c ENH: Extend GG::Build method for pre-parsed args
This adds an argument to the cmGlobalGenerator::Build method to pass a
vector of arguments for the native build tool programatically.
2009-03-04 15:38:47 -05:00
Bill Hoffman e7f16fcb1b BUG: make sure error condition is reset before loading scripts 2009-03-04 11:24:57 -05:00
Brad King c0e0180f28 STYLE: Nightly Date Stamp 2009-03-04 00:01:02 -05:00
Brad King 123e9618b1 STYLE: Nightly Date Stamp 2009-03-03 00:01:02 -05:00
Brad King 82e9291629 BUG: Avoid encoding invalid XML chars in CTest
CTest encodes test and tool output in XML for dashboard submission.
This fixes the XML encoding implementation to not encode an invalid
character and instead put a human-readable tag in its place.
See issue #8647.
2009-03-02 16:27:50 -05:00
Brad King ed5e4d8be2 BUG: Gracefully handle broken version symlinks
This teaches the helper commands 'cmake -E cmake_symlink_executable' and
'cmake -E cmake_symlink_library' to remove broken symlinks before
creating a symlink and report an error when the symlink cannot be
created.  See issue #8654.
2009-03-02 16:02:19 -05:00
Brad King 91a8569648 ENH: Teach ctest_coverage to filter with LABELS
This teaches ctest_coverage() to report only coverage of files labeled
with at least one label given by a new LABELS option.
2009-03-02 15:33:18 -05:00
Brad King 3078fef81c BUG: Fix coverage label reports for Bullseye
This teaches CTest to report Labels elements in the Coverage.xml file
for Bullseye coverage results.
2009-03-02 15:33:03 -05:00
Brad King c4596605df BUG: Fix coverage handler initialization
This resets coverage handler internal state on initialization so that
multiple coverage runs are independent.
2009-03-02 15:32:59 -05:00
Brad King 3838ec7d9f BUG: Hack for issue #8647 2009-03-02 09:59:14 -05:00
Brad King 1e6b109fed STYLE: Nightly Date Stamp 2009-03-02 00:01:05 -05:00
Brad King 8ddec12021 STYLE: Nightly Date Stamp 2009-03-01 00:01:06 -05:00
Brad King de3a686a62 STYLE: Nightly Date Stamp 2009-02-28 00:01:08 -05:00
Bill Hoffman 3043ddf144 BUG: #8611 add pass fail reasons into log file 2009-02-27 16:28:07 -05:00
Brad King b41c8fe23e BUG: Pass shared library export symbol in DEFINES
The <target>_EXPORTS macro defined for object files when built in a
shared library <target> should be put in the <DEFINES> make rule
replacement and not <FLAGS>.  Also, it should honor the platform
variable CMAKE_<LANG>_DEFINE_FLAG.  See issue #8107.
2009-02-27 12:59:52 -05:00
Brad King 1d3308156e ENH: Enforce unique binary directories
The second argument of add_subdirectory must name a unique binary
directory or the build files will clobber each other.  This enforces
uniqueness with an error message.
2009-02-27 11:23:14 -05:00
Brad King 99b37665c9 STYLE: Nightly Date Stamp 2009-02-27 00:01:02 -05:00
Brad King 3829be4ca6 ENH: Refactor initial checkout into cmCTestVC
This adds cmCTestVC::InitialCheckout and uses it in cmCTestUpdateHandler
to run the initial checkout command.  The new implementation logs the
command in the update log consistently with the rest of the new update
implementation.
2009-02-26 09:22:32 -05:00
Brad King 8c3290b4a3 BUG: Use new include dir suppresson for all gens
This fixes CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES to be used for all
generators instead of just those that construct their own compiler
command lines directly.  See issue #8598.
2009-02-26 09:16:16 -05:00
Brad King 3498a8c668 ENH: Simplify reverse cmLocalGenerator::Convert
It does not make sense to call the reverse Convert signature (for remote
paths corresponding to CMake-managed directories) with NONE or FULL
since they have no path.  Patch from Modestas Vainius.  See issue #7779.
2009-02-26 08:49:10 -05:00
Brad King 338d37ee5a STYLE: Nightly Date Stamp 2009-02-26 00:01:04 -05:00
Brad King 7dbacb94f4 COMP: Fix cmCTestVC member access for HP compiler
The HP C++ compiler needs some help to allow access to some member
classes of cmCTestVC.
2009-02-25 15:45:14 -05:00
Brad King 80282b749f ENH: Rewrite CTest Update implementation
This adds a new VCS update implementation to the cmCTestVC hierarchy and
removes it from cmCTestUpdateHandler.  The new implementation has the
following advantages:

  - Factorized implementation instead of monolithic function
  - Logs vcs tool output as it is parsed (less memory, inline messages)
  - Uses one global svn log instead of one log per file
  - Reports changes on cvs branches (instead of latest trunk change)
  - Generates simpler Update.xml (only one Directory element per dir)

Shared components of the new implementation appear in cmCTestVC and may
be re-used by subclasses for other VCS tools in the future.
2009-02-25 14:42:45 -05:00
Brad King cb788e8f6d ENH: Re-enable system include dir suppression
This creates variable CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES to
specify implicit include directories on a per-language basis.  This
replaces the previous platform-wide variable.  It is necessary to
avoid explicit specification of -I/usr/include on some compilers
(such as HP aCC) because:

  1.) It may break ordering among system include directories defined
      internally by the compiler, thus getting wrong system headers.
  2.) It tells the compiler to treat the system include directory
      as a user include directory, enabling warnings in the headers.

See issue #8598.
2009-02-25 11:44:46 -05:00
Brad King 261600bd09 COMP: Fix cmCTestVC char[]->string Borland warning
The Borland compiler warns about returning a char[] from a function with
return type std::string without an explicit construction.
2009-02-25 09:20:26 -05:00
Brad King 8c88787b8b STYLE: Nightly Date Stamp 2009-02-25 00:01:19 -05:00
Bill Hoffman 3b73cdc89f ENH: add a CDash measured value showing the reason for passed and failed tests based on regular expressions 2009-02-24 17:23:51 -05:00
Brad King b5db18e723 ENH: Added cmXMLParser::FindAttribute method
This method will help subclasses look for element attributes in their
StartElement methods.
2009-02-24 15:43:49 -05:00
Brad King d033f0d2d1 ENH: Allow cmXMLParser subclasses to report errors
This tells cmXMLParser to report error messages through virtual method
cmXMLParser::ReportError so that subclasses can override the default
report.
2009-02-24 15:43:37 -05:00
Brad King 506e745c37 ENH: Teach cmCTestSVN to load repo/tree relation
This teaches cmCTestSVN::NoteNewRevision to save the repository URL
checked out in the work tree, the repository root, and the path below
the root to reach the full URL.
2009-02-24 15:43:25 -05:00
Brad King 3f4064f7ac ENH: Add cmCTest::DecodeURL method
This new method decodes the "percent-encoding" used in URL syntax.
2009-02-24 15:43:06 -05:00
Brad King 39f8b91125 BUG: Remove implicit include dir suppression
We used to suppress generation of -I/usr/include (and on OSX also
-I/usr/local/include).  This behavior seems to cause more trouble than
it's worth, so I'm removing it until someone encounters the original
problem it fixed.  See issue #8598.
2009-02-24 15:37:09 -05:00
Brad King 66f2edbe63 BUG: Fix Fortran implicit dependency include path
The previous change to Source/cmDependsFortran.cxx while refactoring
implicit dependency scanning configuration rules completely broke
loading of the include file search path while scanning Fortran
dependencies.  This adds the line that should have been added during the
previous change to load the include path correctly.
2009-02-24 14:32:25 -05:00
Brad King de3dedb4ea ENH: Factor out VCS work tree revision checks
This moves checks of the work tree revision before and after update from
cmCTestUpdateHandler::ProcessHandler into the cmCTestVC hierarchy.
2009-02-24 12:52:36 -05:00
Brad King d76bc78a12 ENH: Factor out nightly start time computation
Move generation of the nightly start time string from
cmCTestUpdateHandler::ProcessHandler into cmCTestVC.
2009-02-24 12:50:48 -05:00
Brad King fdd0d2a32b ENH: Factor out svn work tree cleanup
This removes work tree cleanup from cmCTestUpdateHandler and adds an
interface for it in cmCTestVC with an implementation in cmCTestSVN.
2009-02-24 12:50:15 -05:00
Brad King 4e4f2a3a10 ENH: Create cmCTestVC::RunChild and parse helpers
This method will help VCS tool subclasses run child processes and log
the output while parsing it.
2009-02-24 12:49:57 -05:00
Brad King 1595b8e69e ENH: Add install(DIRECTORY) option 'OPTIONAL'
This adds the OPTIONAL option to the install(DIRECTORY) command.  It
tells the installation rule that it is not an error if the source
directory does not exist.  See issue #8394.
2009-02-24 11:41:40 -05:00
Brad King a79f8cd4c1 ENH: Refactor install(DIRECTORY) argument parsing
We previously used several booleans with at most one set to true at a
time to track argument parsing state.  This refactors it to use one
enumeration.
2009-02-24 11:41:00 -05:00
Brad King 5a7ac0def1 COMP: cmProcessTools::OutputParser virtual dtor
This class has virtual methods and therefore should have a virtual
destructor.
2009-02-24 11:08:38 -05:00
Brad King 1936499250 ENH: Create cmProcessTools to parse child output
This class provides a RunProcess method to run a child process and send
its output to an abstract parsing interface.  This also provides a
simple line parser and logger implementing the parsing interface.
2009-02-24 10:40:18 -05:00
Brad King 6bdc2b5d99 ENH: Add cmCTestCVS and cmCTestSVN
These cmCTestVC subclasses will implement interaction with CVS and SVN
tools.
2009-02-24 10:39:55 -05:00
Brad King 1b8ea27bd1 ENH: Create cmCTestVC for VCS interaction
This creates cmCTestVC, the base for a forthcoming class hierarchy to
interact with version control systems.
2009-02-24 10:39:28 -05:00
David Cole 60a46ca76e STYLE: Fix line length violation. 2009-02-24 09:34:03 -05:00
Brad King 0d66aa3915 ENH: Factor out VCS tool detection
In cmCTestUpdateHandler, this factors out version control tool detection
from the monolithic cmCTestUpdateHandler::ProcessHandler to separate
methods.  This also places priority on detection of the tool managing
the source tree since using any other tool will cause errors.
2009-02-24 09:09:43 -05:00
Brad King 844df75676 ENH: Factor out initial checkout method
This moves the initial checkout code from the monolithic
cmCTestUpdateHandler::ProcessHandler to a separate method
cmCTestUpdateHandler::InitialCheckout.
2009-02-24 09:09:14 -05:00
Brad King 0458da3ba9 STYLE: Nightly Date Stamp 2009-02-24 00:01:07 -05:00
Brad King a6c0784489 ENH: Refactor quoting of VCS tool command
Previously we pre-quoted the command line tool path.  This avoids it by
quoting the command everywhere it is used, thus preserving access to the
original, unquoted command.
2009-02-23 15:59:39 -05:00
David Cole c148714b82 ENH: Add license file presentation to the Drag-N-Drop dmg file CPack generator. Fixes issue #8442. Thanks to Clinton Stimpson for the patch. 2009-02-23 13:25:18 -05:00
Brad King 9185f36b06 STYLE: Nightly Date Stamp 2009-02-23 00:01:08 -05:00
Brad King 089896ae0a STYLE: Nightly Date Stamp 2009-02-22 00:01:06 -05:00
Bill Hoffman 71577b1d00 BUG: make sure the gui still runs... 2009-02-21 14:38:35 -05:00
Bill Hoffman 9cd850c4c7 BUG: make sure an x server is not required for the build 2009-02-21 14:23:32 -05:00
Brad King 06a61c8518 STYLE: Nightly Date Stamp 2009-02-21 00:01:02 -05:00
Brad King 31e652059a ENH: Document APPEND option in ctest_* commands
This adds documentation of the APPEND option to the configure, build,
test, memcheck, and coverage commands.  The docs leave specific
semantics for the dashboard server to define.
2009-02-20 15:51:03 -05:00
Brad King ab1b9b45ff ENH: Improve ctest_* command documentation
This corrects the terse documentation and adds detail to the full
documentation of some commands.  It also normalizes the layout of the
documentation string endings to make adding lines easier.
2009-02-20 15:50:57 -05:00
Brad King 17dc49c013 ENH: More documentation for ctest_submit command
This clarifies the terse documentation and lists valid values for PARTS.
2009-02-20 15:50:15 -05:00
Brad King f04fed206f ENH: Clarify docs of old *_OUTPUT_PATH vars
This clarifies the documentation of EXECUTABLE_OUTPUT_PATH and
LIBRARY_OUTPUT_PATH to sound less like deprecation.
2009-02-20 14:03:41 -05:00
David Cole c6051d7ad0 STYLE: Fix style line-too-long violations. 2009-02-20 10:14:40 -05:00
Brad King 20da2cbe03 STYLE: Nightly Date Stamp 2009-02-20 00:01:05 -05:00
Bill Hoffman 756cb547f3 BUG: fix xcode depend issue and add a test for it 2009-02-19 11:51:24 -05:00
David Cole 6e87aa49e6 BUG: Fix issue #8253 - handle xib file extension in Xcode projects so that double clicking on xib files opens them up in Interface Builder. Thanks to baron_roberts for the patch. 2009-02-19 11:20:09 -05:00
David Cole 1bf669207b BUG: A little bit more refactoring from BundleGenerator to DragNDropGenerator. See issue #8556. Thanks for Clinton Stimpson for the patch. 2009-02-19 10:39:08 -05:00
Bill Hoffman 65c1511814 BUG: fix depend bug again for Xcode 2009-02-19 10:31:16 -05:00
Brad King 9d177237a7 STYLE: Nightly Date Stamp 2009-02-19 00:01:05 -05:00
Bill Hoffman f535cf99ed BUG: use the top level project name for the xcode depend helper directory names 2009-02-18 12:09:20 -05:00
Brad King e266c37730 STYLE: Nightly Date Stamp 2009-02-18 00:01:04 -05:00
Brad King ab629e28f3 BUG: Do not use 'char' type as array subscript
This converts uses of 'char' as an array subscript to 'unsigned char' to
heed the warning from gcc.  The subscript must be an unsigned type to
avoid indexing before the beginning of the array.  This change avoids a
potential crash if input text contains a byte value beyond 0x7f.
2009-02-17 11:53:57 -05:00
Brad King 57a1d0093e ENH: Remove generation of unused Update.xml parts
This removes generation of some Update.xml content that is not used by
any Dart1, Dart2, or CDash servers:
  - Revisions elements
  - Directory attribute of File elements
  - File elements within Author elements
The content was generated only because the original Dart1 Tcl client
generated it, but the content was never used.
2009-02-17 11:37:18 -05:00
Brad King 832459c392 STYLE: Nightly Date Stamp 2009-02-17 00:01:06 -05:00
Ken Martin ad25cf8d17 ENH: fix style 2009-02-16 13:56:04 -05:00
Bill Hoffman 50ec299708 ENH: change name for start menu entry 2009-02-16 11:17:54 -05:00
Brad King 1b499f0019 BUG: Fix svn update logic for modified files
The main svn update parsing loop in cmCTestUpdateHandler previously had
a logic error because the variable 'res' was not reset for each
iteration.  For a locally modified file it would report the update info
for the previous non-modified file, or nothing if there was no previous
file.  This fixes the logic by setting variable 'res' in both control
paths for each iteration.  See issue #8168.
2009-02-16 10:01:43 -05:00
Brad King 354f7eb9ab STYLE: Fix spelling in cmCTestUpdateHandler
This renames the variable 'numModiefied' to 'numModified' to fix its
spelling.  It also renames 'modifiedOrConflict' to 'notLocallyModified'
to describe its purpose (rather than the opposite of its purpose).
See issue #8168.
2009-02-16 10:00:58 -05:00
Brad King 727cae7806 STYLE: Nightly Date Stamp 2009-02-16 00:01:03 -05:00
Brad King 8d99166070 STYLE: Nightly Date Stamp 2009-02-15 00:01:04 -05:00
Brad King 65ad22901d STYLE: Nightly Date Stamp 2009-02-14 00:01:03 -05:00
Bill Hoffman f24e8e9d2a ENH: take cmake-gui out of beta 2009-02-13 16:28:10 -05:00
Brad King b44026f74a ENH: Optionally label KWSys targets and tests
This provides an API for parent projects to use to specify values to be
set in the LABELS properties of KWSys libraries, executables, and tests.
2009-02-13 15:49:52 -05:00
Brad King 6d8b207867 ENH: Add KWSys header files to library targets
This adds the configured KWSys header files to the library targets that
implement their APIs so that they show up in IDE project files.
2009-02-13 15:49:47 -05:00
Brad King 70b1ed2548 ENH: Teach CTest to put labels in coverage results
This teaches CTest to include source file labels in coverage dashboard
submissions.  The labels for each source are the union of the LABELS
property from the source file and all the targets in which it is built.
2009-02-13 15:17:06 -05:00
Brad King 5be7846277 STYLE: Remove unused variable 2009-02-13 15:16:58 -05:00
Brad King a0359d3c15 BUG: Fix CTEST_USE_LAUNCHERS in dashboard scripts
Since CTest does not currently load configuration settings computed at
CMake Configure time while running dashboard scripts, the ctest_build
command must honor the CTEST_USE_LAUNCHERS option directly.
2009-02-13 11:49:31 -05:00
Brad King dc69ed8e99 STYLE: Add TODO comment about CTest configuration
Currently CTest does not load configuration settings computed at CMake
Configure time when running a dashboard script.  This adds a comment
describing refactoring that might help resolve the problem.
2009-02-13 11:49:26 -05:00
Brad King a26481f9fb STYLE: Nightly Date Stamp 2009-02-13 00:01:04 -05:00
Brad King 7590ad17ad BUG: Fix logic of LabelFiles.txt generation
This fixes a dumb logic error which causes generation of LabelFiles.txt
to try to open the file once for every target with labels.
2009-02-12 13:25:15 -05:00
Brad King 7435355ec8 ENH: Report file names relative to source dir
This teaches cmCTestLaunch to report source files that lie under the top
source directory relative to the top.
2009-02-12 13:00:22 -05:00
Ken Martin 4f369610f5 ENH: fix documentation and add docs on parenthetical expressions 2009-02-12 12:50:12 -05:00
Bill Hoffman 3d0e241498 BUG: #8496 add support for system info on haiku 2009-02-12 10:08:15 -05:00
Brad King fa9e93f712 BUG: Do not drop build fragments with same time
When we collect Build.xml fragments generated by 'ctest --launch', this
lexicographically orders fragments with the same time stamp on disk
instead of incorrectly dropping duplicates.
2009-02-12 10:01:39 -05:00
Brad King 47e8ee71dd STYLE: Nightly Date Stamp 2009-02-12 00:01:03 -05:00
Brad King 7497fd575d ENH: Teach CTest dashboard builds to use launchers
This defines a 'UseLaunchers' CTest configuration option.  When enabled,
CTest skips log scraping from the Build step output.  Instead it defines
the environment variable CTEST_LAUNCH_LOGS to a log directory during the
build.  After the build it looks for error-*.xml and warning-*.xml files
containing fragments for inclusion in Build.xml and submission.

This is useful in conjuction with 'ctest --launch' and the RULE_LAUNCH_*
properties to get reliable, highly-granular build failure reports.
2009-02-11 15:18:08 -05:00
Brad King b42b6a7f60 COMP: Do not use modern empty init list syntax
cmCTestLaunch first used an empty initializer list to zero-initialize a
buffer, but this is not supported on older compilers.  Instead we avoid
the need for initialization altogether.
2009-02-11 11:57:24 -05:00
Brad King 0847d825b3 ENH: Create internal 'ctest --launch' tool
This creates an undocumented 'ctest --launch' mode.  It launches a
specified command and optionally records a failure in an xml fragment.
We will optionally use this in CTest's Build stage to record per-rule
build failure information when using Makefile generators.
2009-02-11 11:31:25 -05:00
Brad King 52692cccaa STYLE: Nightly Date Stamp 2009-02-11 00:01:04 -05:00
Bill Hoffman 32dbc4acf8 ENH: fix fix for unc paths 2009-02-10 17:25:20 -05:00
Bill Hoffman efad72a9a3 ENH: add label global property to ctest scripts 2009-02-10 16:08:40 -05:00
Bill Hoffman 4e710a9ebe ENH: add the ability to run tests by labels 2009-02-10 14:24:24 -05:00
Bill Hoffman 70363cbf8f BUG: partial fix for 8056 -W now works with -j 2009-02-10 14:19:50 -05:00
Brad King 15c52e9891 ENH: Add rule substitutions useful for launchers
This defines make rule substitutions <LANGUAGE>, <TARGET_NAME>,
<TARGET_TYPE>, and <OUTPUT>.  They will be useful for RULE_LAUNCH_*
property values.
2009-02-10 08:52:07 -05:00
Brad King b604b98c56 ENH: Define RULE_LAUNCH_* properties
This defines global, directory, and target properties
RULE_LAUNCH_COMPILE, RULE_LAUNCH_LINK, and RULE_LAUNCH_CUSTOM.  Their
values specify 'launcher' command lines which are prefixed to compile,
link, and custom build rules by Makefile generators.
2009-02-10 08:51:15 -05:00
Brad King c895d9f2e0 ENH: Give target in which custom commands build
This gives the cmTarget instance for which custom command rules are
being generated to cmLocalUnixMakefileGenerator3::AppendCustomCommands.
It will be useful in the future.
2009-02-10 08:50:33 -05:00
Brad King 13f9bb646d ENH: Define target and source property LABELS
This creates a new LABELS property for targets and source files.  We
write the labels of each target and its source files in target-specific
locations in the build tree for future use.
2009-02-10 08:50:21 -05:00
Brad King d0ed46e3d6 ENH: Define target-specific support directories
This creates method cmTarget::GetSupportDirectory to compute a
target-specific support directory in the build tree.  It uses the
"CMakeFiles/<name>.dir" convention already used by the Makefile
generators.  The method will be useful for any code that needs to
generate per-target information into the build tree for use by CMake
tools that do not run at generate time.
2009-02-10 08:50:09 -05:00
Brad King ffba5b14ae STYLE: Nightly Date Stamp 2009-02-10 00:01:03 -05:00
Alexander Neundorf f27a2ca363 COMP: remove unused variable TargetSourceFileCount, it seems it is unused since version 1.88 of cmGlobalUnixMakefileGenerator3.cxx
patch by Daniel DOT Teske AT Nokia DOT com

Alex
2009-02-09 16:45:18 -05:00
Brad King 6ed916795d BUG: Work around broken GetLongPathName case
On Windows the GetLongPathName API function does not work on some
filesystems even if the file exists.  In this case we should just use
the original long path name and not the GetShortPathName result.
See issue #8480.
2009-02-09 16:45:15 -05:00
Alexander Neundorf bd92bec66c STYLE: fix two typos in the comments, patch from Daniel DOT Teske AT Nokia DOT com, QtCreator developer
Alex
2009-02-09 16:36:56 -05:00
Brad King ae873d4a89 ENH: Add get_filename_component(... REALPATH)
This patch from Philip Lowman creates a REALPATH mode in the
get_filename_component command.  It is like ABSOLUTE, but will also
resolve symlinks (which ABSOLUTE once did but was broken long ago).
See issue #8423.
2009-02-09 09:23:55 -05:00
Brad King ca096a4596 BUG: Fix GetRealPath when realpath fails
This patch from Philip Lowman teaches SystemTools::GetRealPath to deal
with paths that do not exist by dealing with the case that realpath
returns NULL.  See issue #8423.
2009-02-09 09:23:13 -05:00
Bill Hoffman 67ddd0c837 BUG: fix for 0008378, lists with FILEPATH and UNC //server/path fail 2009-02-09 08:25:55 -05:00
Brad King 37428e32aa STYLE: Nightly Date Stamp 2009-02-09 00:01:14 -05:00
Brad King 4c2ff835bb STYLE: Nightly Date Stamp 2009-02-08 00:01:05 -05:00
Brad King 640fd4a528 STYLE: Nightly Date Stamp 2009-02-07 00:01:08 -05:00
Brad King f35c0c2a17 BUG: Fix OS X FW symlink byproduct dependencies
When testing whether to re-run CMake, a byproduct may be a symlink.  If
so, the existence of the link is important rather than the link's
target.  See issue #8465.
2009-02-06 11:49:00 -05:00
Brad King 2282748907 BUG: Fix OS X AppBundle/FW byproducts dependencies
App Bundle and Framework directories, symlinks, and Info.plist files we
create during generation are byproducts, not outputs.  We should re-run
CMake only when they are missing, not when they are old.
See issue #8465.
2009-02-06 11:18:56 -05:00
Brad King 81601796a6 COMP: Avoid parameter/member shadow in cmXMLSafe
A cmXMLSafe constructor named its parameter 'str' which shadowed the
name of the 'str' method.  This renames the parameter to avoid the
conflict warning.
2009-02-06 09:08:02 -05:00
Brad King 67671ac400 BUG: Do not re-generate after a AppBundle build
A previous change accidentally added the MacOS content directory and
Info.plist files created for MACOSX_BUNDLE executables to the list of
CMake input files.  This causes CMake to re-generate the project too
often.  These items should be added to the list of CMake output files.
2009-02-06 09:03:27 -05:00
Brad King 16fe328dfc BUG: Alternative fix to bug #8423
The patch used to fix this bug used SystemTools::GetRealPath which works
only for existing files.  It broke the case of using the command
get_filename_component for a non-existing file.  Also, it changed
long-standing behavior in a possibly incompatible way even for existing
files.  This reverts the original fix and instead updates the
documentation to be consistent with the behavior.
2009-02-06 08:33:52 -05:00
Brad King 0499ca66aa ENH: Clarify cmake_policy(VERSION) documentation
The previous documentation could be interpreted as setting policies
newer than the given version to OLD instead of unset.  This clarifies
it.
2009-02-06 08:15:05 -05:00
Brad King 8dfb99c660 STYLE: Nightly Date Stamp 2009-02-06 00:01:04 -05:00
Brad King 63d718e9f2 COMP: Avoid warning about signed-char comparison
On some compilers 'char' is signed and is therefore always equal to or
less than 0x7f.  In order to avoid the compiler warning we perform the
comparison with an unsigned char type.
2009-02-05 17:09:28 -05:00
Brad King dc13914cd6 ENH: Create cmXMLSafe to help escapes in XML
This class provides easy syntax to efficiently insert blocks of data
into XML documents with proper escapes.  It replaces the old
cmCTest::MakeXMLSafe and cmSystemTools::MakeXMLSafe methods which
allocated extra memory instead of directly streaming the data.
2009-02-05 16:31:37 -05:00
Brad King f16a471576 STYLE: Nightly Date Stamp 2009-02-05 00:01:12 -05:00
Brad King d18ae05da1 ENH: Re-order generation of build summary and xml
This moves the error/warning count summary printed by
cmCTestBuildHandler to after Build.xml is generated.  Later we will
compute the counts during generation of the xml.
2009-02-04 14:34:25 -05:00
Brad King 5f65e04ea2 ENH: Refactor Build.xml generation
This divides cmCTestBuildHandler::GenerateDartBuildOutput into three
methods to generate the header, content, and footer components of
Build.xml files.  It will allow the content generation to be replaced
later.
2009-02-04 14:34:12 -05:00
David Cole c6d499aba5 COMP: Iterator version of std::set not available with vs6 implementation of STL. Use explicit iteration to insert individual elements one at a time. Sigh. 2009-02-04 12:38:03 -05:00
Brad King a27e9ca4a2 BUG: Fix old-style install to prefix top
The old install_files, install_programs, and install_targets commands
used to permit installation to the top of the prefix by specifying
destination '/'.  This was broken in 2.6.0 to 2.6.2 by changes to
enforce valid destinations that did not account for this case.  This
change fixes the case by converting the install destination to '.' which
is the new-style way to specify the top of the installation prefix.
2009-02-04 10:34:10 -05:00
Brad King 2d662e0083 STYLE: Nightly Date Stamp 2009-02-04 00:01:12 -05:00
David Cole 6f88b29121 ENH: Add FILES arg to the ctest_submit command. BUG: Propagate the IsCDash setting properly to the ctest configuration during a submit. Also, do not propagate TriggerSite for projects submitting to CDash. No triggers are necessary with CDash. 2009-02-03 11:52:54 -05:00
Bill Hoffman a1d7f82d68 ENH: fix dynamic loading on haiku 2009-02-03 11:27:08 -05:00
Brad King feafe2abee STYLE: Nightly Date Stamp 2009-02-03 00:01:13 -05:00
Brad King 084e5a5e9e BUG: Fix preprocess and assembly rule expansion
The recent change to avoid expanding rule variables in informational and
'cd' commands broke the logical order in generation of preprocess and
assembly rules.  This corrects the order.
2009-02-02 14:36:53 -05:00
Brad King fd40f27420 COMP: Fix rule hash code during bootstrap
During bootstrap we do not bother with rule hashing.  This updates the
dummy implementation to account for the recent change in rule hash
method signatures.
2009-02-02 14:36:45 -05:00
Brad King 496c203a0b BUG: Do not expand rule variables in info rules
Previously the makefile generator would expand rule variables even on
its progress and echo commands for object compilation rules (but not for
link rules).  This fixes the implementation to only expand rule
variables on user-specified rules.
2009-02-02 13:28:17 -05:00
Brad King ac9b7ec155 ENH: Refactor custom command rule hashing
This simplifies computation of custom command rule hashes to hash
content exactly chosen as the custom commands are generated.
Unfortunately this will change the hashes of existing build trees from
earlier CMake versions, but this is not a big deal.  The change is
necessary so that in the future we can make optional adjustments to
custom command lines at generate time without changing the hashes every
time the option is changed.
2009-02-02 13:28:12 -05:00
Brad King 7d6a5e097f ENH: More robust property lookup
This teaches cmMakefile::GetProperty and cmake::GetProperty methods to
return NULL when the property name is NULL, making them more robust and
consistent with the behavior of cmTarget::GetProperty.
2009-02-02 13:27:30 -05:00
Brad King cc2092d5bb ENH: Put test labels in MemCheck results
This refactors generation of <Test> element headers and footers in
cmCTestTestHandler and re-uses it in cmCTestMemCheckHandler.  The change
removes duplicate code and enables the new <Labels> element for MemCheck
results.
2009-02-02 13:24:26 -05:00
Brad King eea054d82c ENH: Clarify target_link_libraries docs
The target_link_libraries command supports flags as well as libraries.
This makes the support explicit in the documentation.
2009-02-02 09:42:23 -05:00
Brad King 367101b02c STYLE: Nightly Date Stamp 2009-02-02 00:01:24 -05:00
Brad King dba64adac2 STYLE: Nightly Date Stamp 2009-02-01 00:01:18 -05:00
Brad King aa45ec10bc STYLE: Nightly Date Stamp 2009-01-31 00:01:24 -05:00
Brad King 140403ae62 STYLE: Nightly Date Stamp 2009-01-30 00:01:28 -05:00
David Cole d74b75af09 ENH: Emit a little more information in the error message when the output file is not found during a core try compile. 2009-01-29 15:23:18 -05:00
Bill Hoffman f6cb5c39bd BUG: fix for #8418 -E chdir should return fail of dir does not exist 2009-01-29 14:31:45 -05:00
Brad King ab11f82a52 ENH: Docs for relative paths in link_directories
The link_directories command treats relative paths differently from most
CMake commands.  This notes the difference in the documentation.
See issue #8377.
2009-01-29 14:14:02 -05:00
Bill Hoffman 33c296a44e BUG: fix for #8423 2009-01-29 11:39:03 -05:00
Bill Hoffman 56ea0ad186 STYLE: fix warning 2009-01-29 09:26:40 -05:00
Brad King e69050643c STYLE: Nightly Date Stamp 2009-01-29 00:01:32 -05:00
Bill Hoffman a26c70477c STYLE: fix warning 2009-01-28 16:56:33 -05:00
Brad King 7ef31a2461 STYLE: Nightly Date Stamp 2009-01-28 00:01:34 -05:00
David Cole 3df1535c80 STYLE: Emit filenames in try_compile error message to get more information from the Continuous dashboard test that is failing. 2009-01-27 11:35:36 -05:00
Brad King 5527ca5524 BUG: Reset file submission list on test restart
When running in script mode it is possible to run multiple separate
dashboard submissions in one cmCTest instance.  The recent refactoring
of file submission lists into parts failed to clear the submission lists
when starting a new dashboard (ctest_start or ctest_update).  Only the
unused old submission set was cleared.  This fixes the refactored
version to remove the old submission set completely and also clear the
part-wise lists.
2009-01-27 10:58:33 -05:00
Brad King 6ae2f8e7ee BUG: Fix CTest submit-only operation
We need to initialize cmCTestSubmitHandler on construction to make sure
all parts get enabled by default.  The recent fix to re-enable all parts
on initialization broke submit-only operations because the handler did
not initialize on construction.  This also removes duplicate
initialization code.
2009-01-27 10:58:25 -05:00
David Cole 1dee719cdc BUG: Fix issue #6195. Add CMAKE_OSX_DEPLOYMENT_TARGET cache variable to specify the target deployment runtime OS version of the built executables on Mac OSX. Thanks to Mike Jackson for the patch. 2009-01-27 10:30:55 -05:00
Bill Hoffman 97ef91d57b BUG: fix for 7845, idl files compile even with headerfile only on 2009-01-27 10:26:55 -05:00
Brad King 1902f8e63c STYLE: Nightly Date Stamp 2009-01-27 00:02:07 -05:00
Brad King 504fa52f6b STYLE: Nightly Date Stamp 2009-01-26 00:01:41 -05:00
Brad King 64c78918a1 STYLE: Nightly Date Stamp 2009-01-25 00:01:50 -05:00
Brad King 72aad46fea STYLE: Nightly Date Stamp 2009-01-24 00:01:49 -05:00
Bill Hoffman 29ba1aa77a ENH: try to fix vs6 build 2009-01-23 12:20:09 -05:00
Brad King f0eef5ab52 STYLE: Nightly Date Stamp 2009-01-23 00:02:12 -05:00
David Cole 2914b740c2 BUG: Forgot to change parent class in cmCPackTypeMacro when I added cmCPackDragNDropGenerator. Fix it now that it really matters. (The BundleGenerator test started failing after the last commit. This fixes it.) 2009-01-22 14:23:44 -05:00
David Cole 6bf31875ce BUG: Fix issue #8383. Avoid crashing when using the Bundle CPack generator and CPACK_BUNDLE_NAME is not set. Instead, fail gracefully giving an informative error message and non-zero exit code. 2009-01-22 13:56:13 -05:00
Brad King c332e0bf3c ENH: Isolate policy changes in included scripts
Isolation of policy changes inside scripts is important for protecting
the including context.  This teaches include() and find_package() to
imply a cmake_policy(PUSH) and cmake_policy(POP) around the scripts they
load, with a NO_POLICY_SCOPE option to disable the behavior.  This also
creates CMake Policy CMP0011 to provide compatibility.  See issue #8192.
2009-01-22 13:18:40 -05:00
Brad King 3028ca756c ENH: Better policies for functions and macros
This teaches functions and macros to use policies recorded at creation
time when they are invoked.  It restores the policies as a weak policy
stack entry so that any policies set by a function escape to its caller
as before.
2009-01-22 13:16:47 -05:00
Brad King 18eadebc4c ENH: Improve stack discussion in cmake_policy
This re-organizes the discussion of the policy stack in documentation of
the cmake_policy() command.  The new organization clearer and easier to
extend with new information.
2009-01-22 13:16:33 -05:00
Brad King 26bf8b2cda ENH: Create notion of a 'weak' policy stack entry
A 'weak' poilcy stack entry responds normally to queries.  However,
setting a policy in a weak entry will recursively set the policy in the
next entry too.  This also gives the internal interface to create a weak
entry the option to provide an initial PolicyMap for it.
2009-01-22 13:16:27 -05:00
David Cole 3a4f76949a BUG: Fix issue #8402. Add a drag and drop bundle generator to the Mac build of CPack. Add a test of it in the CPackComponents test. Thanks to Clinton Stimpson for the patch. 2009-01-22 12:12:44 -05:00
Brad King dfc181a1dc ENH: Create policy scope barriers
This creates a barrier mechanism to prevent user code from using
cmake_policy(POP) to pop a scope it didn't push with cmake_policy(PUSH).
2009-01-22 10:57:16 -05:00
Brad King ac14b5d2eb ENH: Make policy push/pop methods private
This makes cmMakefile::PushPolicy and cmMakefile::PopPolicy private so
that any outside place that uses them needs to use the PolicyPushPop
helper in an automatic variable.  We grant an exception to
cmCMakePolicyCommand so it can implement cmake_policy(PUSH) and
cmake_policy(POP).
2009-01-22 10:57:09 -05:00
Brad King c980021814 ENH: Refactor find_package version file scoping
This converts the variable and policy scope protection find_package()
uses when loading version files to use automatic variables.
2009-01-22 10:56:58 -05:00
Brad King a01eb6b27b ENH: Create automatic policy push/pop helper
This creates cmMakefile::PolicyPushPop to push and pop policy scope
automatically.  It also enforces balanced push/pop pairs inside the
scope it handles.
2009-01-22 10:56:50 -05:00
Brad King 8997f4760a ENH: Refactor policy stack representation
This defines PolicyMap as a public member of cmPolicies.  Its previous
role as a policy stack entry is now called PolicyStackEntry and
represented as a class to which more information can be added later.
2009-01-22 10:56:39 -05:00
David Cole 0a23c0ee40 BUG: Fix issue #8363. Wrap output with MakeXMLSafe calls so that the generated XML files are valid, parse-able XML. 2009-01-22 07:16:05 -05:00
Brad King 5f3c354b66 STYLE: Nightly Date Stamp 2009-01-22 00:01:56 -05:00
Brad King f1e74ae018 BUG: Fix VS IDE solution files order again
The previous change to order projects in the VS IDE did not account for
duplicate target names (such as ALL_BUILD and ZERO_CHECK) among the
input set.  While we suppress generation of the duplicate project
entries, we need to use a multiset to store ordered duplicates.
2009-01-21 17:36:06 -05:00
Brad King 0d83faf3e3 BUG: Fix ALL_BUILD ordering enforcement
The previous change to make ALL_BUILD come first among targets did not
account for comparing the target name against itself.  This led to an
invalid ordering of the target set.  This change fixes it.
2009-01-21 17:24:54 -05:00
Brad King 5b63e31041 ENH: Make ALL_BUILD always the default project
This teaches the VS IDE generators to write ALL_BUILD into solution
files first so that it is always the default active project.  Previously
it was first only if no target name sorted lexicographically earlier.
See issue #8172.
2009-01-21 17:06:57 -05:00
Brad King 00ca96ae7c BUG: Fix VS IDE project order
Our implementation of the feature to pull in dependent targets in VS
solution files for subprojects caused the order of project files in the
solution to be arbitrary (based on pointer value in the representation).
Target ordering in solution files is important to prevent unnecessary
changing of the files and because the VS IDE selects the first project
listed as the default active target.  This change restores lexicographic
order by target name.
2009-01-21 16:39:43 -05:00
David Cole 36c228814b BUG: Fix issue #7523: Analyze output of 'hdiutil attach' to get the name of the volume that was mounted. Eliminates the need to use the -mountpoint arg of hdiutil which has a silly 90 character limit on the name of the mount point. Also add a custom volume icon to the BundleGeneratorTest to cover this code. 2009-01-21 13:39:22 -05:00
David Cole 88a499c54c ENH: Use the latest CMake-logo-triangle-high-res.png to improve the look of CMakeSetup.icns on the Mac. 2009-01-21 13:20:47 -05:00
David Cole c647ed54d9 BUG: Fix issue #7833: Add file extension handling to CPack generated installers for OSXX11 applications. Also modify the X11 test to build such an installer on Mac builds that test CPack and have X11 available. Thanks to Wes Turner for the patch. 2009-01-21 11:54:30 -05:00
Brad King 919fdb7f27 ENH: Enforce logical blocks in functions/macros
This teaches function() and macro() to enforce matching logical blocks
inside the recorded bodies.  This makes the error message more specific.
2009-01-21 09:49:31 -05:00
Brad King 1dcc5b4558 ENH: Better handling of mismatched blocks
If a logical block terminates with mismatching arguments we previously
failed to remove the function blocker but replayed the commands anyway,
which led to cases in which we failed to report the mismatch (return
shortly after the ending command).  The recent refactoring of function
blocker deletion changed this behavior to produce an error on the ending
line by not blocking the command.  Furthermore, the function blocker
would stay in place and complain at the end of every equal-level block
of the same type.

This teaches CMake to treat the begin/end commands (if/endif, etc.) as
correct and just warns when the arguments mismatch.  The change allows
cases in which CMake 2.6.2 silently ignored a mismatch to run as before
but with a warning.
2009-01-21 09:49:00 -05:00
Brad King bca1026250 ENH: Better error message for unclosed blocks
This centralizes construction of the error message for an unclosed
logical block (if, foreach, etc.).  We record the line at which each
block is opened so it can be reported in the error message.
2009-01-21 09:48:20 -05:00
Brad King b8f5a934ec ENH: Refactor logical block enforcement
This uses a stack of 'barriers' to efficiently divide function blockers
into groups corresponding to each input file.  It simplifies detection
of missing block close commands and factors it out of ReadListFile.
2009-01-21 09:48:00 -05:00
Brad King f4d37eebb2 STYLE: Nightly Date Stamp 2009-01-21 00:02:30 -05:00
Brad King acb0e8fb85 BUG: Fix LOCATION property for Mac AppBundles
Previously cmTarget::GetLocation and cmTarget::GetFullPath would return
for Mac AppBundles the top-level bundle directory but without the .app
extension.  We worked around this at the call sites.  This fixes the
methods and removes the work-arounds.  See issue #8406.
2009-01-20 15:49:37 -05:00
Brad King 2c81e5fb5c ENH: Refactor function blocker deletion
When a function blocker decides to remove itself we previously removed
it at every return point from the C++ scope in which its removal is
needed.  This teaches function blockers to transfer ownership of
themselves from cmMakefile to an automatic variable for deletion on
return.  Since this removes blockers before they replay their commands,
we no longer need to avoid running blockers on their own commands.
2009-01-20 14:36:18 -05:00
Brad King a541cac325 ENH: Improve response to bad if or elseif
Previously bad arguments to an if() or elseif() would cause some
subsequent statements in the corresponding block to execute.  This
teaches CMake to stop processing commands with a fatal error.  It also
provides context to bad elseif() error messages.
2009-01-20 14:35:22 -05:00